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

软件测试-自动化测试

自动化测试

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

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

常见面试题

  1. ⾃动化测试能够取代人工测试吗?

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

  1. ⾃动化测试可以⼤幅度降低工作量?

错误,自动化测试只是测试工作中的一小部分,对于中大型企业来说,自动化测试是必不可缺的一部分

自动化分类

  1. 接口自动化

  2. UI自动化

    2.1 客户端界面

    2.2 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.lryc.cn/news/430219.html

相关文章:

  • Linux 安装TELEPORT堡垒机
  • 【14】即时编译器的中间表达形式
  • Mysql(三)---增删查改(基础)
  • Dialog实现原理分析
  • 21.1 基于Netty实现聊天
  • 尼卡音乐 v1.0.5 — 全新推出的免费音乐听歌软件
  • Scratch深潜:解锁递归与分治算法的编程之门
  • 【1.0】vue3的创建
  • 刷刷前端手写题
  • 论文解读:LONGWRITER: UNLEASHING 10,000+ WORD GENERATION FROM LONG CONTEXT LLMS
  • 一文了解Ansible原理以及常见使用模块
  • JavaEE从入门到起飞(九) ~Activiti 工作流
  • 微服务的保护
  • 2024前端面试题-网络篇
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——6.vector
  • 设计模式---简单工厂模式
  • Vue | Vue 中的 refInForde 用法
  • 【原创】java+swing+mysql房屋租赁管理系统设计与实现
  • Django 中render、redirect 和 HttpResponse的区别
  • CRYPTO 2020
  • java 函数接口Consumer简介与示例【函数式编程】【Stream】
  • 黑神话:悟空-配置推荐
  • Android14 蓝牙设备类型修改
  • vue3 语法糖<script setup>
  • 微服务设计原则——高性能:异步与并发
  • 机器学习——决策树,朴素贝叶斯
  • C语言基础(十)
  • 人像比对-人证比对-人脸身份证比对-人脸身份证实名认证-人脸三要素对比-实人认证
  • Android 上下滑隐藏显示状态栏
  • USBCAN-II/II+使用方法以及qt操作介绍