前言
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。
以下以谷歌chrome浏览器为例。
一、开发
1、开发前准备
(1)、chrome
安装chrome对应浏览器,地址点这里。
查看版本号,在chrome地址栏输入:chrome://settings/help,查看版本号
(2)、node、npm环境不再赘述。
二、开发
1、新建一个目录,初始化node仓库。
npm init
2、安装chromedriver和selenium-webdriver
selenium-webdriver安装无版本限制
npm i selenium-webdriver
chromedriver需要安装对应浏览器版本号的版本(我的浏览器是115版本的)
npm i chromedriver@115.0.0
3、开发第一个程序
let webdriver = require('selenium-webdriver');
require('chromedriver')
async function functionHend () {
console.log('开始');
let driver = new webdriver.Builder()
.forBrowser('chrome')
.build();
console.log('打开百度');
await driver.get('https://www.baidu.com');
}
functionHend()
运行一下,成功打开百度就大功告成了!
三、部署
1、安装chrome
(1):第一个大坑来袭:千万不要安装最新版本的chrome,因为Linux系统的chromedriver很难适配,会有各种奇奇怪怪的问题。
(2):我们的原则是不要最新也不要很久,附带一个安装旧版本chrome的地址:地址
(3):为了代码的统一性,开发环境的chrome和部署环境的chrome最好保持一致,以方便chromedriver的版本控制
(4):安装教程:(以Ubuntu系统为例)
1)下载好.deb安装包
2)安装
# 创建目录
mkdir -p /ps/chrome
# 手动上传 .deb 文件
# 进入目录
cd /ps/chrome
# 安装依赖
apt -y install libxss1 libappindicator1 libindicator7
apt --fix-broken -y install
# 安装浏览器
dpkg -i google-chrome*.deb
# 查看版本
google-chrome --version
正常弹出版本号为安装成功(务必再次确认版本,版本非常重要)
3)将刚刚的代码修改为如下版本
let webdriver = require('selenium-webdriver');
let chrome = require('selenium-webdriver/chrome');
require('chromedriver')
async function functionHend () {
console.log('开始');
let chromeData = new chrome.Options()
chromeData.addArguments("--no-sandbox");
chromeData.addArguments("--headless");
chromeData.addArguments("--disable-gpu");
let By = webdriver.By;
let driver = new webdriver.Builder()
.forBrowser('chrome')
.setChromeOptions(chromeData)
.build();
console.log('打开地址');
await driver.get('https://www.baidu.com');
console.log('打开成功');
await driver.quit()
console.log('关闭浏览器');
}
functionHend()
这些新增的chrome配置是为了适配Linux无桌面环境使用浏览器的。