美文网首页
GUI自动化测试

GUI自动化测试

作者: 倔强的潇洒小姐 | 来源:发表于2019-07-18 08:47 被阅读0次

一、Selenium 2.0 的实现原理

Selenium 2.0,又称 Selenium WebDriver,它利用的原理是:使用浏览器原生的 WebDriver 实现页面操作。

Selenium WebDriver 是典型的 Server-Client 模式,Server 端就是 Remote Server。以下是 Selenium 2.0 工作原理的解析。

Selenium WebDriver 的执行流程.png

1、当使用 Selenium2.0 启动浏览器 Web Browser 时,后台会同时启动基于 WebDriver Wire 协议的 Web Service 作为 Selenium 的 Remote Server,并将其与浏览器绑定。绑定完成后,Remote Server 就开始监听 Client 端的操作请求。

2、执行测试时,测试用例会作为 Client 端,将需要执行的页面操作请求以 Http Request 的方式发送给 Remote Server。该 HTTP Request 的 body,是以 WebDriver Wire 协议规定的 JSON 格式来描述需要浏览器执行的具体操作。

3、Remote Server 接收到请求后,会对请求进行解析,并将解析结果发给 WebDriver,由 WebDriver 实际执行浏览器的操作。

4、WebDriver 可以看做是直接操作浏览器的原生组件(Native Component),所以搭建测试环境时,通常都需要先下载浏览器对应的 WebDriver。

二、构建一个 Selenium 自动化测试用例示例

访问百度主页,搜索某个关键词,并验证搜索结果页面的标题是“被搜索的关键词”+“_ 百度搜索”。

image.png

案例中用到了Chrome 浏览器,所以需要先下载 Chrome Driver (与chrome浏览器版本需要兼容)并将其放入环境变量。接下来,建立一个空的 Maven 项目,然后在 POM 文件中加入 Selenium 2.0 的依赖,如图 1所示

在 POM 文件中加入 Selenium 2.0 的依赖.png

代码实现如下:

import org.junit.Assert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class Python_Search {
    public static void main(String[] args) throws InterruptedException{
        //创建Chrome
        WebDriver driver = new ChromeDriver();
        //打开百度首页
        driver.navigate().to("https://www.baidu.com");
        //通过name属性找到搜索输入框
        WebElement search_input = driver.findElement(By.name("wd"));
        //输入关键字“python”
        search_input.sendKeys("python");
        //提交搜索请求
        search_input.submit();
        //等待3秒
        Thread.sleep(3000);
        //验证搜索结果页面的标题
        Assert.assertEquals("python_百度搜索", driver.getTitle());
        //关闭浏览器窗口
        driver.quit();
    }
}
查找搜索输入框.png

补充说明:别忘了下载第三方驱动哦,selenium必须要依赖浏览器才能跑起来
selenium jar包可以去selenium官网下载

相关文章

  • 怎样用Postman做接口自动化测试?速来围观!

    什么是自动化测试? 自动化测试就是把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试,...

  • 03-自动化测试的技术体系

    03-自动化测试的技术体系 UI自动化分类 WEB自动化:Selenium。 APP自动化:Appium。 GUI...

  • 如何用Postman做接口自动化测试

    前言 什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试,模拟人去操...

  • 如何用Postman简单做接口自动化

    一、什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试,模拟人去操作...

  • 如何用Postman做接口自动化测试

    前言 什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试,模拟人去操...

  • 如何用Postman做接口自动化测试

    前言 什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试,模拟人去操...

  • 如何用Postman做接口自动化测试

    什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。例如GUI自动化测试,模拟人去操作软件界...

  • 自动化测试框架

    近年自动化测试发展迅猛,几乎每个行业,如GUI、APP、云等都开发出自己的自动化开源框架来满足本行业自动化测试的需...

  • GUI自动化测试

    一、Selenium 2.0 的实现原理 Selenium 2.0,又称 Selenium WebDriver,它...

  • 数据驱动---TXT

    一,背景 测试数据的准备在测试工作中非常重要。无论是手工测试,还是自动化测试;无论是GUI测试,还是API测试;无...

网友评论

      本文标题:GUI自动化测试

      本文链接:https://www.haomeiwen.com/subject/cepflctx.html