Selenium 官网链接 https://www.selenium.dev/

能够多种语言做自动化测试,这里使用的是 JavaScript。

准备

使用之前需要安装两个东西:

  1. 下载 Selenium 的 npm 包
npm install selenium-webdriver -g
  1. 需要下载 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();
})();

原本想发测试图,可图泄露东西有点多~~

Last modification:October 6, 2023
兴趣使然