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();
})();原本想发测试图,可图泄露东西有点多~~