当前位置: 首页 > news >正文

软件测试——自动化测试selenium

自动化测试

测试人员编写自动化测试脚本,维护并解决自动化脚本问题,自动化的主要目的就是用来进行回归测试

回归测试在这里插入图片描述

常见面试题

  1. ⾃动化测试能够取代人工测试吗?
    ⾃动化测试不⼀定⽐人工测试更能保障系统的可靠性,⾃动化测试是测试⼈员手工编写,后续如果有功能的变更自动化也需要进⾏不定期的维护和更新。

  2. ⾃动化测试可以⼤幅度降低工作量?
    错误,自动化测试只是测试工作中的一小部分,对于中大型企业来说,自动化测试是必不可缺的一部分

自动化分类

  1. 接口自动化

  2. UI自动化

    • 客户端界面

    • web界面

自动化测试金字塔

在这里插入图片描述

WEB自动化测试

  • 安装驱动管理
<dependency><groupId>io.github.bonigarcia</groupId><artifactId>webdrivermanager</artifactId><version>5.8.0</version><scope>test</scope>
</dependency>

Selenium

示例

  • 安装selenium库
<dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.0.0</version>
</dependency>
  • 使⽤selenium编写代码
public void example_test()
{//驱动程序管理的⾃动化WebDriverManager.chromedriver().setup();ChromeOptions options = new ChromeOptions();//允许访问所有链接options.addArguments("--remote-allow-origins=*");//1、打开浏览器WebDriver driver = new ChromeDriver(options);//2.输⼊百度⽹址:https://www.baidu.comdriver.get("https://www.baidu.com");//3、找到输⼊框并输⼊“迪丽热巴”driver.findElement(By.xpath("//*[@id=\"kw\"]")).sendKeys("迪丽热巴");//4、找到“百度⼀下”按钮并点击driver.findElement(By.xpath("//*[@id=\"su\"]")).click();//5、关闭浏览器driver.quit();
}
  • selenium+驱动+浏览器的⼯作原理
    在这里插入图片描述
  1. 通过selenium编写的⾃动化脚本代码中在ChromeDriverService中创建⼀个服务
  2. 通过创建好的服务打开webdriver,安装在本地的驱动服务IP为localhost,PORT为ChromeDriverService中创建的端⼝号,该服务地址为selenium向webdriver发送请求的服务地址。
  3. 向浏览器驱动程序发送HTTP请求,浏览器驱动程序解析请求,打开浏览器,并获得sessionid,如果再次对浏览器操作需携带此id
  4. 打开浏览器后,所有的selenium的操作(访问地址,查找元素等)均通过创建好的服务链接到webdriver,然后使⽤execute发送请求
  5. 驱动收到请求并对请求进⾏解析,转成浏览器能够解析的脚本并发送给浏览器,浏览器通过请求的内容执⾏对应动作
  6. 浏览器再把执⾏的动作结果通过浏览器驱动程序返回给测试脚本

http://www.mrgr.cn/news/12419.html

相关文章:

  • 华为S3700交换机配置VLAN的方法​
  • SpringBoot集成kafka-自定义拦截器(可以在拦截器中做记录日志、安全检查等操作)
  • 基于云原生的一体化监控系统Day1
  • python从列表元素中查找最小的元组坐标
  • 基差、升水与贴水,股指期货市场的重要概念解析
  • 使用物联网卡访问萤石云的常见问题
  • 观察者模式解析:实现对象间的舞蹈同步!
  • STM32—USART串口协议
  • 华为eNSP:静态路由配置、浮动路由配置
  • 在使用Netty的时候TCP粘包拆包问题如何解决?
  • 2024上海初中生古诗文大会备考:单选题真题和每道题独家解析
  • Transformer-BiLSTM神经网络多输入单输出回归预测的MATLAB实现
  • 【RabbitMQ】应用
  • Spring常用的注解有哪些?作用是什么?怎么用?
  • vue新建按钮弹出选框
  • 软件中的重构
  • x264 编码器 AArch64汇编系列:运动补偿之mc_luma_neon函数
  • Failed to connect to the remote extension host server
  • STM32外部中断事件控制器-EXTI
  • 成功解决:jenkins构建失败,cannot open directory /home/centos/: Permission denied等问题