如何在WebdriverIO+Appium+Flutter+BrowserStack iOS环境下重置会话?
在BrowserStack上执行Cucumber测试时重置Driver会话的问题
我在BrowserStack上运行Cucumber特性文件,目标是重置driver会话,让每个登录测试场景都从全新状态开始。尝试了以下多种方案,均未成功:
方案1:完全卸载重装App(iOS)
- 问题现象:App能够启动,但无法与设备交互,日志报错500未知服务器端错误
//app starts but cannot interact with device //[0-0] 2023-11-07T10:37:33.182Z ERROR webdriver: Request failed with status 500 due to unknown error: An unknown server-side error occurred while processing the command. //Original error: {} async function fullResetOnIos(){ await driver.switchContext('NATIVE_APP'); await driver.terminateApp('nl.abp.app'); await driver.removeApp('nl.abp.app'); await driver.installApp(appIos); // 'browserstack.midSessionInstallApps' required await driver.launchApp(); //deprecated in logs await driver.switchContext('FLUTTER'); }
方案2:关闭并重启App
- 问题现象:App能够启动,但无法与设备交互,日志出现状态13请求失败、状态200未知错误等信息
// app starts but cannot interact with device /[0-0] 2023-10-31T08:35:25.289Z DEBUG webdriver: request failed due to status 13 //[0-0] 2023-10-31T08:35:25.290Z WARN webdriver: Request failed with status 200 due to unknown error // [0-0] 2023-10-31T08:35:08.060Z ERROR webdriver: Request failed with status 200 due to WebDriver Error: unknown error async function closeAndLaunchApp() { await driver.switchContext('NATIVE_APP'); await driver.closeApp(); await driver.launchApp(); await driver.switchContext('FLUTTER'); }
方案3:重新加载会话
- 问题现象:执行结果极不稳定,有时测试通过有时因超时失败;一旦某个场景失败,后续场景也会跟着失败
// Very inconsistent, sometimes test execution is green, sometimes not because of timeouts // When a test fails in a scenario, the last scenario will also fail in browserstack async function reloadSession() { await driver.reloadSession(); }
方案4:终止并激活App
- 问题现象:被测App停止运行,iOS设备上的缓存未被清除
//app under test stops functioning, caches are not cleared on iOS device async function terminateAndActivate() { await driver.switchContext('NATIVE_APP'); await driver.terminateApp('nl.abp.app'); await driver.activateApp('nl.abp.app'); await driver.switchContext('FLUTTER'); }
除此之外还尝试了其他方法,但都没有效果。请问有没有人遇到过类似问题,能提供可行的解决方案?
内容的提问来源于stack exchange,提问作者JH.
相关产品推荐
相关产品推荐

