使用selenium编写web自动化测试脚本

Selenium Web自动化原理解析

1、一个简单的web自动化实例

  1. 安装驱动管理

WebDriverManager是⼀个开源Java库,以完全⾃动化的⽅式对Selenium WebDriver所需的驱动程序(如chromedriver、geckodriver、msedgedriver等)进⾏管理(即下载、设置和维护),⾃版本5起,WebDriverManager还提供了其他相关功能,如发现本地系统中安装的浏览器的能⼒,构建WebDriver对象(如ChromeDriver、FirefoxDriver、EdgeDriver等)

<dependency>
 <groupId>io.github.bonigarcia</groupId>
 <artifactId>webdrivermanager</artifactId>
 <version>5.8.0</version>
 <scope>test</scope>
</dependency>
  1. 安装selenium库
<dependency>
 <groupId>org.seleniumhq.selenium</groupId>
 <artifactId>selenium-java</artifactId>
 <version>4.0.0</version>
</dependency>
  1. 使用selenium编写代码
public class FirstTest {
    public void example_test() throws InterruptedException {
        //驱动程序管理的⾃动化
        WebDriverManager.chromedriver().setup();
        ChromeOptions options = new ChromeOptions();

        //允许访问所有链接
        options.addArguments("--remote-allow-origins=*");

        //1、打开浏览器
        WebDriver driver = new ChromeDriver(options);
        Thread.sleep(1000);

        //2.输⼊百度⽹址:https://www.baidu.com
        driver.get("https://www.baidu.com");
        Thread.sleep(1000);

        //3、找到输⼊框并输⼊“迪丽热巴”
        driver.findElement(By.xpath("//*[@id=\"kw\"]")).sendKeys("迪丽热巴");
        Thread.sleep(1000);

        //4、找到“百度⼀下”按钮并点击
        driver.findElement(By.xpath("//*[@id=\"su\"]")).click();
        Thread.sleep(3000);

        //5、关闭浏览器
        driver.quit();
    }
}

2、selenium+驱动+浏览器的⼯作原理

实现web⾃动化测试需要浏览器、浏览器驱动、selenium⾃动化脚本。这三者是如何交互最终实现web的⾃动化测试?

自动化脚本代码

  1. 通过selenium编写的⾃动化脚本代码中在ChromeDriverService中创建⼀个服务
  2. 通过创建好的服务打开webdriver,安装在本地的驱动服务IP为localhost,PORT为ChromeDriverService中创建的端⼝号,该服务地址为selenium向webdriver发送请求的服务地址。
  3. 向浏览器驱动程序发送HTTP请求,浏览器驱动程序解析请求,打开浏览器,并获得sessionid,如果再次对浏览器操作需携带此id
  4. 打开浏览器后,所有的selenium的操作(访问地址,查找元素等)均通过创建好的服务链接到webdriver,然后使⽤execute发送请求
  5. 驱动收到请求并对请求进⾏解析,转成浏览器能够解析的脚本并发送给浏览器,浏览器通过请求的内容执⾏对应动作
  6. 浏览器再把执⾏的动作结果通过浏览器驱动程序返回给测试脚本

驱动需要接收、解析请求,发送请求给浏览器,那么驱动到底是什么样的⻆⾊呢?
验证⽅式:执⾏selenium编写的⾃动化脚本代码中,可以在终端看到创建的驱动服务地址。
1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兜兜风d

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值