CasperJS HTTP Authentication

cannot handle just HTTP authentication. Here is my code:

var x = require('casper').selectXPath; var casper = require('casper').create({ verbose: false, logLevel: 'debug' }); casper.options.viewportSize = {width: 1366, height: 667}; casper.start('https://example.com/a/dashboard'); casper.setHttpAuth('username', 'password'); casper.then(function() { this.test.assertUrlMatch(/^https:\/\/example.com\/a\/dashboard$/); }); casper.run(function() {this.test.renderResults(true);}); 

And the error that I see in the console:

 casperjs mytest.js FAIL Current url matches the provided pattern # type: assertUrlMatch # subject: false # currentUrl: "https://example.com/login" # pattern: "/^https:\\/\\/example.com\\/a\\/dashboard$/" FAIL 1 tests executed in 2.428s, 0 passed, 1 failed. 

Q: Why does my current Url not match the pattern? Thanks.

+4
source share
1 answer

I think you need to call casper.setHttpAuth() before loading the page.

It looks like you forgot to call casper.exit() at the end of casper.run() .

 var x = require('casper').selectXPath; var casper = require('casper').create({ verbose: false, logLevel: 'debug' }); casper.options.viewportSize = {width: 1366, height: 667}; casper.start(); casper.setHttpAuth('here_i_type_username', 'here_password'); casper.thenOpen('https://mysite.com/a/dashboard', function() { this.test.assertUrlMatch(/^https:\/\/mysite.com\/a\/dashboard$/); }); casper.run(function() { this.test.renderResults(true); this.exit(); }); 
+8
source

Source: https://habr.com/ru/post/1497805/


All Articles