Selenium Node + Sauce Labs 测试:无法完成任务
Selenium Node + Sauce Labs Testing: Cannot Finish a Task
我正在使用 Sauce Labs 运行 我的 Selenium 测试脚本,并将 Mocha 作为测试框架。脚本 运行 完美,但问题是,作业没有完成 - 似乎 driver.quit()
被忽略,90 秒后提示超时错误。
代码如下:
const { driver } = require('./config');
const { By, until } = require('selenium-webdriver');
describe('Integration test', function () {
this.timeout(20000);
it('can login as test user', function () {
driver.get('https://www.example.com');
driver.wait(until.elementIsNotVisible(driver.findElement(By.id('vale'))), 8000, 'Vale cannot fade');
driver.findElement(By.name('email')).sendKeys('test_user@test.com');
driver.findElement(By.name('password')).sendKeys('password');
return driver.findElement(By.id('authFormSubmitButton')).click();
});
after(() => {
console.log('Quiting driver');
// This does not work!
driver.quit();
});
});
在配置中构建了一个 driver
并连接到远程服务器。
当 运行 执行此操作时,在控制台中我可以看到测试通过和 Quiting driver
消息,但在 Sauce labs 仪表板中任务一直等待直到超时。
顺便说一下,我用本地 chromdriver
测试了上面的代码,一切正常 - driver
在任务完成后立即退出。
如有任何帮助或想法,我们将不胜感激。
在 driver.quit()
之前需要一个 return
。
Instead of calling done(), Mocha accepts a promise as return value. If
a test returns a promise, Mocha understands that it’s asynchronous,
and waits for the Promise to be resolved before passing to the next
test.
这个article很有价值。
我正在使用 Sauce Labs 运行 我的 Selenium 测试脚本,并将 Mocha 作为测试框架。脚本 运行 完美,但问题是,作业没有完成 - 似乎 driver.quit()
被忽略,90 秒后提示超时错误。
代码如下:
const { driver } = require('./config');
const { By, until } = require('selenium-webdriver');
describe('Integration test', function () {
this.timeout(20000);
it('can login as test user', function () {
driver.get('https://www.example.com');
driver.wait(until.elementIsNotVisible(driver.findElement(By.id('vale'))), 8000, 'Vale cannot fade');
driver.findElement(By.name('email')).sendKeys('test_user@test.com');
driver.findElement(By.name('password')).sendKeys('password');
return driver.findElement(By.id('authFormSubmitButton')).click();
});
after(() => {
console.log('Quiting driver');
// This does not work!
driver.quit();
});
});
在配置中构建了一个 driver
并连接到远程服务器。
当 运行 执行此操作时,在控制台中我可以看到测试通过和 Quiting driver
消息,但在 Sauce labs 仪表板中任务一直等待直到超时。
顺便说一下,我用本地 chromdriver
测试了上面的代码,一切正常 - driver
在任务完成后立即退出。
如有任何帮助或想法,我们将不胜感激。
在 driver.quit()
之前需要一个 return
。
Instead of calling done(), Mocha accepts a promise as return value. If a test returns a promise, Mocha understands that it’s asynchronous, and waits for the Promise to be resolved before passing to the next test.
这个article很有价值。