如何配置WebdriverIO以继续使用Selenium替代已弃用的@wdio/selenium-standalone-service?
解决WebdriverIO 8+下继续通过Selenium执行测试的配置方案
关键配置调整
由于@wdio/selenium-standalone-service已被弃用,要维持本地测试通过Selenium执行(而非DevTools协议),只需替换为官方推荐的@wdio/selenium-server-service并调整配置即可,属于最小改动方案。
1. 安装替代服务依赖
执行以下命令安装新的Selenium服务包:
npm install @wdio/selenium-server-service --save-dev
2. 更新WDIO测试配置
修改你的WDIO配置文件(通常是wdio.conf.js),将原服务配置:config.services = ['selenium-standalone'];
替换为:
config.services = [['selenium-server', { // 可选:按需指定Selenium版本、驱动路径等,默认会自动管理依赖 // 示例:seleniumVersion: '4.15.0' }]];
3. 强制指定WebDriver协议
为避免测试自动切换到DevTools协议,在配置中明确声明协议类型:
config.automationProtocol = 'webdriver';
验证生效
启动测试后,若日志显示以下内容,说明配置成功,测试已回到Selenium执行流程:INFO webdriver: Initiate new session using the WebDriver protocol
这样就能保证本地测试和GitLab CI的执行逻辑一致。
内容的提问来源于stack exchange,提问作者F. Müller
相关产品推荐
相关产品推荐

