selenium-webdriver
NodeJS と PhantomJS を使用した JavaScript バインディングと、小さなテスト ケースを作成しました。次のようになります。
it("should upload a file", function(done) {
driver.get('http://mysite.com/upload.php);
driver.findElement({className:'subpagetitle'}).getText().then(function(text) {
expect(text).to.equal('Client Document');
});
var file = Path.resolve('./dummyfile.txt');
driver.findElement({sizzle:'input[type=file]'}).sendKeys(file);
driver.wait(function() {
console.log('waiting');
return driver.isElementPresent({sizzle:"button:contains('Save')"});
}, 10000);
driver.saveScreenshot('screenshots/doc_upload.png').then(done);
driver.findElement({sizzle:"button:contains('Save')"}).click();
});
PhantomJS webdriver で実行すると、コマンドに到達したときにハングし、出力driver.wait
さconsole.log
れません。
Chrome Webドライバーで問題なく動作します。PhantomJS では動作し.wait
ませんか、それとも何か間違っていますか?