本文基于《WebDriver 云的安装部署》的延展,Firefox47以上版本的配置 Firefox 47以下版本浏览器不需要单独的浏览器driver,但47以上需要配搭geckodriver才能使用

1. 安装Firefox

官网下载地址:https://www.mozilla.org/zh-CN/firefox/new/
本文安装的是Firefox 75
image.png

2. 下载geckodriver浏览器驱动

官网地址:https://github.com/mozilla/geckodriver/releases
windows 操作系统下,geckodriver依赖于Visual C++ runtime,需单独先安装,见官方文档说明
image.png

Visual C++ runtime下载地址为:https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

image.png

安装完毕后,再双击打开“geckodriver.exe”验证下是否能正常运行
image.png

3. 下载selenium 3.x版本

官网地址:https://www.selenium.dev/downloads/
本文下载的是 selenium-java-3.141.59 版本
image.png
解压更新到C:\f2etest-webdriver\webdriver 目录下

4. 更新opennode.bat

文件路径为C:\f2etest-webdriver\webdriver\opennode.bat,增加Firefox 浏览器设置

  1. @echo off
  2. mode con cols=120
  3. title Selenium Server (请勿关闭此窗口)
  4. cd c:\f2etest-webdriver\webdriver\
  5. set f2etestHost="f2etest.xxx.com"
  6. set nodeName="%1"
  7. set browsers="Firefox"
  8. set timeout=60
  9. node wdproxy.js %f2etestHost% %nodeName% %browsers% %timeout%

5. 更新wdproxy.js

文件路径为C:\f2etest-webdriver\webdriver\wdproxy.js,
修改selenium执行文件路径为刚才下载的3.141.59版本

  1. // Line 133
  2. var jarPath = path.resolve(__dirname, './selenium-server-standalone-3.141.59.jar');

6. 验证

webdriver.io调用node.js示例

  1. const { remote } = require('webdriverio');
  2. (async () => {
  3. const browser = await remote({
  4. hostname: 'xxx',
  5. port: 4001,
  6. path: '/wd/hub',
  7. capabilities: {
  8. "browserName": "firefox",
  9. }
  10. })
  11. await browser.url('https://www.alibaba.com')
  12. await browser.getTitle();
  13. await browser.deleteSession()
  14. })().catch((e) => console.error(e))

注:目前无法用UIRecorder用例进行验证,因依赖包jwebdriver 2.x使用的是非w3c标准的webdriver协议