我用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一起使用,或者我做错了什么?