本文基于《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 off
mode con cols=120
title Selenium Server (请勿关闭此窗口)
cd c:\f2etest-webdriver\webdriver\
set f2etestHost="f2etest.xxx.com"
set nodeName="%1"
set browsers="Firefox"
set timeout=60
node wdproxy.js %f2etestHost% %nodeName% %browsers% %timeout%
5. 更新wdproxy.js
文件路径为C:\f2etest-webdriver\webdriver\wdproxy.js,
修改selenium执行文件路径为刚才下载的3.141.59版本
// Line 133
var 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协议