Search code examples
casperjssendkeys

How to pass variable values to sendKeys in casperjs


I have the following issue with sendKeys in casperjs. I am trying to pass the port as an option into casperjs and this is working, but when i try to use the port value with casper.cli.get it doesn't work in sendKeys!!!

var casper = require('casper').create();
casper.echo("Casper CLI passed args:");
require("utils").dump(casper.cli.args);

casper.echo("Casper CLI passed options:");
require("utils").dump(casper.cli.options);

if (casper.cli.has("ip") === false) {
  casper.echo("Usage: casper.js test modify_port.js --ip=<x.x.x.x> --port=<xxxxx>").exit();
}
if (casper.cli.has("port") === false) {
  casper.echo("Usage: casper.js test modify_port.js --ip=<x.x.x.x> --port=<xxxxx>").exit();
}
...
    casper.then(function() {
        test.assertTextExists("Change", "Data Base - Change - port");
        this.sendKeys('input[name="Params.port"]', casper.cli.get("port"));
        this.click('input[name="Apply"]');
    });

The above way seems not to work and it doesn't give me also no error msg. But when i hard code the port in the sendKeys line then i see that the port is changed, like:

this.sendKeys('input[name="Params.port"]', '29999');

This is also working fine (hard coded):

var myPort = '29999'
this.sendKeys('input[name="Params.port"]', myPort);

But this again is not working:

var myPort = casper.cli.get("port")
this.sendKeys('input[name="Params.port"]', myPort);

Thanks in adv. for your time


Solution

  • After some more readings I stepped over the part where casperjs documentation is saying about Raw parameter values.

    So, I figured out to use my parameter in this way:

    this.sendKeys('input[name="Params.port"]', casper.cli.raw.get('port'));