本文基于《WebDriver 云的安装部署》的延展,Firefox47以上版本的配置 Firefox 47以下版本浏览器不需要单独的浏览器driver,但47以上需要配搭geckodriver才能使用
1. 安装Firefox
官网下载地址:https://www.mozilla.org/zh-CN/firefox/new/
本文安装的是Firefox 75
2. 下载geckodriver浏览器驱动
官网地址:https://github.com/mozilla/geckodriver/releases
windows 操作系统下,geckodriver依赖于Visual C++ runtime,需单独先安装,见官方文档说明
Visual C++ runtime下载地址为:https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

安装完毕后,再双击打开“geckodriver.exe”验证下是否能正常运行
3. 下载selenium 3.x版本
官网地址:https://www.selenium.dev/downloads/
本文下载的是 selenium-java-3.141.59 版本
解压更新到C:\f2etest-webdriver\webdriver 目录下
4. 更新opennode.bat
文件路径为C:\f2etest-webdriver\webdriver\opennode.bat,增加Firefox 浏览器设置
@echo offmode con cols=120title Selenium Server (请勿关闭此窗口)cd c:\f2etest-webdriver\webdriver\set f2etestHost="f2etest.xxx.com"set nodeName="%1"set browsers="Firefox"set timeout=60node wdproxy.js %f2etestHost% %nodeName% %browsers% %timeout%
5. 更新wdproxy.js
文件路径为C:\f2etest-webdriver\webdriver\wdproxy.js,
修改selenium执行文件路径为刚才下载的3.141.59版本
// Line 133var jarPath = path.resolve(__dirname, './selenium-server-standalone-3.141.59.jar');
6. 验证
webdriver.io调用node.js示例
const { remote } = require('webdriverio');(async () => {const browser = await remote({hostname: 'xxx',port: 4001,path: '/wd/hub',capabilities: {"browserName": "firefox",}})await browser.url('https://www.alibaba.com')await browser.getTitle();await browser.deleteSession()})().catch((e) => console.error(e))
注:目前无法用UIRecorder用例进行验证,因依赖包jwebdriver 2.x使用的是非w3c标准的webdriver协议
