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 网络驱动程序一起运行良好。.wait
不适用于 PhantomJS 还是我做错了什么?