Windows 8 の PhantomJS 1.8.1 で CasperJS 1.0.2 を使用しています。
Web サイトのテストを作成しようとしています。このサイトは JS に大きく依存しており、コーディング プリンシパルは非常に珍しいため、問題が発生している可能性がありますが、よくわかりません。
ログインと検索機能をテストするために使用しているコードは次のとおりです。
var url = 'http://www.testsite.com/';
var casper = require('casper').create();
casper.start();
casper.start(url, function() {
this.echo('Page: ' + this.getTitle());
this.capture('start.png');
if (this.exists('input#TxtUserName')) {
this.sendKeys('input#TxtUserName', 'testlogin');
this.sendKeys('input#TxtPassword', 'testpass');
this.click('input#BtnLogin');
this.capture('loggedin.png');
}
});
casper.then(function() {
this.capture('beforesearch.png');
this.sendKeys("input#txtSearch", '1002');
this.click("input#cmdSubmit");
this.echo('Searching');
this.capture('aftersearch.png');
});
casper.run();
このコードを実行すると、ログイン情報が login.png に入力されていることを除いて、スクリーン キャプチャのすべてのページは同じです。クリックイベントの後、実際に(実際のログイン資格情報を使用して)ログインすることはありません。そのクリックが発生した後も、検索結果は表示されません。
これを引き起こしている可能性のある手がかりはありますか?
検索を送信した後のwaitForコードは次のとおりです。
casper.waitForText("Part:", function() {
this.capture('searchresults.png');
});