如何配置CodeceptJS对接Appium开展移动端网站测试并解决会话创建报错
问题原因
该报错是Appium创建会话时默认触发了应用重装检测逻辑,你当前配置的是安卓端Chrome网页测试,未填写app参数,导致重装校验规则不通过。
解决步骤
- 清理重复参数:你当前配置的
desiredCapabilities下重复定义了deviceName字段,删除多余的deviceName: 'Android Emulator',仅保留与你运行的模拟器匹配的deviceName: "emulator-5554"即可。 - 新增Chrome专属配置,避免触发重装逻辑,在
desiredCapabilities中添加以下参数:noReset: true, fullReset: false, appPackage: 'com.android.chrome', appActivity: 'com.google.android.apps.chrome.Main' - 移除冲突插件:你当前启用的
wdioselenium-standalone服务与Appium服务逻辑冲突,直接删除plugins下的wdio相关配置即可,移动端Chrome测试无需依赖selenium-standalone。
修正后完整配置
exports.config = { tests: './*_test.js', output: './output', helpers: { Appium: { path: '/wd/hub', port: 4723, platform: 'Android', url: 'https://www.test.com', desiredCapabilities:{ deviceName: "emulator-5554", platformVersion: "11.0", platformName: 'Android', automationName: 'UIAutomator2', browserName: 'Chrome', noReset: true, fullReset: false, appPackage: 'com.android.chrome', appActivity: 'com.google.android.apps.chrome.Main' } } }, include: { I: './steps_file.js' }, bootstrap: null, mocha: {}, name: 'CodeceptJS', plugins: { pauseOnFail: {}, retryFailedStep: { enabled: true }, tryTo: { enabled: true }, screenshotOnFail: { enabled: true } } }
内容的提问来源于stack exchange,提问作者redoptics
相关产品推荐
相关产品推荐

