我正在使用 WebdriverIO API 创建一个新的 Appium WebDriver 会话:
const options = {...};
const driver: Browser<"async">;
try {
driver = await remote(options);
} catch (error) {
console.log("Error:", error);
}
在 BrowserStack 中,可以运行的并行测试的数量是有限制的。我达到了这个限制和我对remote
错误的调用,在 catch 中,我得到了这个内部变量error
:
Failed to create session.
这并没有给我太多关于呼叫失败原因的信息。另一方面,驱动程序正在发出给出这样一个答案的日志:
XXXX-XX-XXTXX:XX:XX.XXXZ ERROR webdriver: [BROWSERSTACK_ALL_PARALLELS_IN_USE] All parallel tests are currently in use, including the queued tests. Please wait to finish or upgrade your plan to add more sessions.: [BROWSERSTACK_ALL_PARALLELS_IN_USE] All parallel tests are currently in use, including the queued tests. Please wait to finish or upgrade your plan to add more sessions.
at Object.getErrorFromResponseBody (/home/vsts/work/1/s/node_modules/webdriverio/node_modules/webdriver/build/utils.js:189:12)
at /home/vsts/work/1/s/node_modules/webdriverio/node_modules/webdriver/build/request.js:168:31
at Generator.next (<anonymous>)
at asyncGeneratorStep (/home/vsts/work/1/s/node_modules/webdriverio/node_modules/webdriver/build/request.js:9:103)
at _next (/home/vsts/work/1/s/node_modules/webdriverio/node_modules/webdriver/build/request.js:11:194)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
问题
我如何在调用时获得有关错误性质的更多信息remote
?我想检测 的发生,BROWSERSTACK_ALL_PARALLELS_IN_USE
以便我可以在代码中实现一些围绕这个问题的策略(比如在一些随机时间后重试)。