【发布时间】:2018-01-10 11:19:17
【问题描述】:
我正面临这样的问题: 测试 “在每个之前”钩子:ret for “测试用例”: 错误:超过 50000 毫秒的超时。对于异步测试和钩子,确保调用“done()”;如果返回一个 Promise,请确保它解析。
2) 测试 “在每个”钩子之后:“测试用例”的 ret: 错误:超过 2000 毫秒的超时。对于异步测试和钩子,确保调用“done()”;如果返回一个 Promise,请确保它解析。
var webdriver=require('selenium-webdriver');
var By=require('selenium-webdriver').By;
var until=require('selenium-webdriver').until;
//this requires to include the mocha describe,each.....
var test = require('selenium-webdriver/testing');
var fs=require('fs');
var chrome = require('selenium-webdriver/chrome');
var path = require('chromedriver').path;
var service = new chrome.ServiceBuilder(path).build();
chrome.setDefaultService(service);
var driver = new webdriver.Builder()
.withCapabilities(webdriver.Capabilities.chrome())
.build();
test.describe( 'Test' , function(){
test.beforeEach(function(){
this.timeout(50000);
driver.get('https://staging.keela.co/login');
});
test.afterEach(function(){
driver.quit();
});
test.it( 'Test Case' , function(){
this.timeout(50000);
setTimeout(done, 4000);
// driver.findElement(webdriver.By.xpath('//*[@id="login-email"]')).then(function(title){
// title.sendKeys("bandana@yopmail.com");
driver.wait(until.elementLocated(By.name('login-email'))).then(function(email){
email.sendKeys('bandanakeela@gmail.com');
driver.wait(until.elementLocated(By.name('login-password'))).then(function(pw){
pw.sendKeys('123456789');
});
driver.findElement(webdriver.By.linkText("Log In")).click();
});
});
});
【问题讨论】:
-
在定位元素之前添加等待。
标签: javascript selenium selenium-webdriver automation promise