[三分钟]入门web自动化测试(一):1.使用驱动管理下载web驱动(WebDriver);2.初步认识和使用Selenium

06-01 1637阅读

文章目录

  • 1.基本概念
  • 2.web驱动
    • 2.1使用驱动管理下载驱动
    • 3.Selenium
      • 3.1Selenium基本概念
      • 3.2 一个简单的web自动化示例
      • 4.selenium+驱动+浏览器的工作原理

        1.基本概念

        Web自动化测试是一种通过编写自动化脚本模拟用户与Web应用的交互,自动验证系统的功能、性能和稳定性的方法。

        举例: 测试百度搜索关键词“CSDN”

        [三分钟]入门web自动化测试(一):1.使用驱动管理下载web驱动(WebDriver);2.初步认识和使用Selenium

        2.web驱动

        由上述例子可知,web系统测试前需要打开浏览器。对于手工测试来说,测试人员可以来手动打开浏览器;但是对于自动化测试,我们该如何让程序打开浏览器呢?

        驱动一词想必大家都听过吧。显卡要有显卡驱动才能正常渲染画面;汽车要有发动机驱动才能跑起来;自动化程序安装了web驱动(WebDriver) 就能执行打开浏览器等一系列操作,WebDriver 以本地化方式驱动浏览器。

        2.1使用驱动管理下载驱动

        1. 不同的浏览器需要下载不同的驱动

          [三分钟]入门web自动化测试(一):1.使用驱动管理下载web驱动(WebDriver);2.初步认识和使用Selenium

        2. 不同版本的浏览器需要不同版本的驱动

          [三分钟]入门web自动化测试(一):1.使用驱动管理下载web驱动(WebDriver);2.初步认识和使用Selenium

        3. 通过手动下载官方驱动的方式可能会引发一系列问题:

          比如我下载108版本的驱动,浏览器更新为109后,此时我没有更新驱动再进行自动化测试就会报错。这样就提高了自动化的误报率。

        4. 所以我们可以使用驱动管理来自动下载驱动。

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

        • 只需在程序中引入驱动管理的依赖

          以maven项目为例:在pom.xml文件中加入以下代码,刷新

          [三分钟]入门web自动化测试(一):1.使用驱动管理下载web驱动(WebDriver);2.初步认识和使用Selenium

           	io.github.bonigarcia
           	webdrivermanager
           	5.8.0
           	test
          
          

          3.Selenium

          3.1Selenium基本概念

          selenium是⼀个web自动化测试工具,selenium中提供了丰富的方法供给使用者进行web自动化测

          试。我们可以使用selenium来编写web自动化测试脚本。

          3.2 一个简单的web自动化示例

          1. 在maven项目中安装selenium库,引入依赖,刷新

            [三分钟]入门web自动化测试(一):1.使用驱动管理下载web驱动(WebDriver);2.初步认识和使用Selenium

           org.seleniumhq.selenium
           selenium-java
           4.0.0
          
          
          1. 使用selenium编写代码

            在src/test/java下创建两个类:FirstAutoTest 和 runCase;

            [三分钟]入门web自动化测试(一):1.使用驱动管理下载web驱动(WebDriver);2.初步认识和使用Selenium

            FirstAutoTest写入代码:

          public class FirstAutoTest {
              // 测试百度搜索关键词“CSDN”
              void test01() throws InterruptedException {
                  // 1.打开谷歌浏览器
                  WebDriverManager.chromedriver().setup();
                  // 浏览器配置:允许访问所有链接
                  ChromeOptions options = new ChromeOptions();
                  options.addArguments("--remote-allow-origins=*");
                  WebDriver driver = new ChromeDriver(options);
                  Thread.sleep(3000);
                  
                  // 2.输入网址:https://www.baidu.com
                  driver.get("https://www.baidu.com");
                  Thread.sleep(3000);
                  // 3.找到搜索框,输入关键词
                  driver.findElement(By.cssSelector("#kw")).sendKeys("CSDN");
                  Thread.sleep(3000);
                  // 4.找到百度一下按钮,并点击
                  driver.findElement(By.cssSelector("#su")).click();
                  Thread.sleep(3000);
                  // 5.关闭浏览器
                  driver.quit();
              }
          }
          

          runCase中写入代码,并运行:

          public class runCase {
              public static void main(String[] args) throws InterruptedException {
                  FirstAutoTest test = new FirstAutoTest();
                  test.test01();
              }
          }
          

          运行结果

          [三分钟]入门web自动化测试(一):1.使用驱动管理下载web驱动(WebDriver);2.初步认识和使用Selenium

          以上我们只是简单地使用了selenium进行自动化测试,下面章节我会详细介绍…

          4.selenium+驱动+浏览器的工作原理

          [三分钟]入门web自动化测试(一):1.使用驱动管理下载web驱动(WebDriver);2.初步认识和使用Selenium

          1. 通过selenium编写的自动化脚本代码中在ChromeDriverService中创建一个服务

          2. 通过创建好的服务打开webdriver,安装在本地的驱动服务IP为localhost,PORT为

            ChromeDriverService中创建的端口号,该服务地址为selenium向webdriver发送请求的服务地

            址。

            [三分钟]入门web自动化测试(一):1.使用驱动管理下载web驱动(WebDriver);2.初步认识和使用Selenium

          3. 向浏览器驱动程序发送HTTP请求,浏览器驱动程序解析请求,打开浏览器,并获得sessionid,如果再次对浏览器操作需携带此id

          4. 打开浏览器后,所有的selenium的操作(访问地址,查找元素等)均通过创建好的服务链接到

            webdriver,然后使用execute发送请求

          5. 驱动收到请求并对请求进行解析,转成浏览器能够解析的脚本并发送给浏览器,浏览器通过请求的内容执行对应的操作

          6. 浏览器再把执行的动作结果通过浏览器驱动程序返回给测试脚本

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码