黄瓜 js 执行 - ELIFECYLE ERR
cucumber js execution - ELIFECYLE ERR
我是 JS 新手,第一次尝试 cucumber js
这是我的步骤定义的样子:
伪代码
Given("I launch Google.com", async (){
await Launch.launchGoogle():
})
When("I enter search text cucumber js", async (){
await Launch.searchCucumber():
})
这是我的 Launch.js 的样子:
module.exports launchGoogle= async function() {
await driver.get("www.google.com"):
}
module.exports searchCucumber = async function(){
await driver.findElement(By.name("q")).sendKeys("cucumber");
}
在这种情况下,当我 运行 具有 2 个步骤的特征时,我在第一步结束时得到 ELIFECYCLE ERR。
当我删除步骤定义中的 await 时,运行没问题。但是,即使在 chrome 浏览器启动之前,控制台也显示为已通过 2 个步骤。也就是说,即使 Launch.js 中的代码仍在执行,它也会触发 Given 和 When 步骤并显示结果。
请问如何解决这个问题?
我刚刚发现默认的步骤超时是 5000ms。因为启动浏览器并点击 URL 花费的时间比这多,所以它失败了。我只是将步超时增加到 30000 毫秒,它工作正常。
我是 JS 新手,第一次尝试 cucumber js
这是我的步骤定义的样子: 伪代码
Given("I launch Google.com", async (){
await Launch.launchGoogle():
})
When("I enter search text cucumber js", async (){
await Launch.searchCucumber():
})
这是我的 Launch.js 的样子:
module.exports launchGoogle= async function() {
await driver.get("www.google.com"):
}
module.exports searchCucumber = async function(){
await driver.findElement(By.name("q")).sendKeys("cucumber");
}
在这种情况下,当我 运行 具有 2 个步骤的特征时,我在第一步结束时得到 ELIFECYCLE ERR。
当我删除步骤定义中的 await 时,运行没问题。但是,即使在 chrome 浏览器启动之前,控制台也显示为已通过 2 个步骤。也就是说,即使 Launch.js 中的代码仍在执行,它也会触发 Given 和 When 步骤并显示结果。
请问如何解决这个问题?
我刚刚发现默认的步骤超时是 5000ms。因为启动浏览器并点击 URL 花费的时间比这多,所以它失败了。我只是将步超时增加到 30000 毫秒,它工作正常。