Selenium 官网链接 https://www.selenium.dev/
能够多种语言做自动化测试,这里使用的是 JavaScript。
准备
使用之前需要安装两个东西:
- 下载 Selenium 的 npm 包
npm install selenium-webdriver -g
- 需要下载 browser drivers
即如果需要在哪个浏览器下进行自动化测试运行,都需要安转其相应版本号的驱动。
目前在 Chrome 浏览器下做自动化测试,在官网给出的链接选择我浏览器对应的版本号即可。
https://chromedriver.storage.googleapis.com/index.html
将下载好的压缩包解压到测试项目中
测试项目
.
├── chromedriver
├── login_test.gif
├── login_test.js
├── login_test.mov
├── node_modules
├── package-lock.json
└── package.json
注意:驱动需与脚本在同一级目录!
登陆测试
查询 Selenium 官方文档学习基本对浏览器的操作,根据文档说明编写脚本。
const { Builder } = require("selenium-webdriver");
const { By } = require("selenium-webdriver");
(async function myFunction() {
let driver = await new Builder().forBrowser("chrome").build();
// 测试网址
await driver.get(
"它不见了~~~"
);
// 输入账户名
await driver
.findElement(By.xpath("//input[@type='text']"))
.sendKeys("~~");
// 输入密码
await driver
.findElement(By.xpath("//input[@type='password']"))
.sendKeys("~~");
// 验证码
await driver
.findElement(
By.xpath(
"//div[@id='userLayout']/div/div[2]/div/form/div/div[3]/div/div[2]/form/div[3]/div/div/div/div/span/span/input"
)
)
.sendKeys("~~");
// 点击登陆
const loginButton = await driver.findElement(
By.xpath("//button[@type='submit']")
);
await loginButton.click();
})();
原本想发测试图,可图泄露东西有点多~~