前言
🌟🌟本期讲解关于自动化测试相关知识介绍~~~
🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客
🔥 你的点赞就是小编不断更新的最大动力
🎆那么废话不多说直接开整吧~~
目录
📚️1.自动化
🚀1.1自动化测试概念
在平时的生活中,自动化到处都是,自动门,自动洒水器,自动除草机;但是在软件测试中,目的概念如下所示:
软件测试自动化,有效减少了测试过程中的人力消耗,并提高了软件测试的效率与正确性
🚀1.2回归测试
软件有多个版本需要进⾏功能的整体回归。 为了避免新增功能影响到历史的功能需要进⾏功能的回归
即在多次版本更新中,需要进行软件的历史功能测试,防止新增功能影响历史功能;
自动化测试会取代人吗?
⾃动化测试不⼀定⽐⼈⼯测试更能保障系统的可靠性,⾃动化测试是测试⼈员⼿⼯编写,后续如果有功能的变更⾃动化也需要进⾏不定期的维护和更新
自动化测试可以一定程度上降低测试测试人员的工作;
🚀1.3自动化测试分类
1.3.1接口自动化
所谓的接口自动化,这里主要是涉及到后端代码层面,聚焦于自动化测试应用程序编程接口(API),保证接口的准确性,稳定性;
1.3.2UI自动化
这里的UI自动化也可以分为两类,即Web自动化,以及客户端自动化;
Web自动化:
- 使用场景:主要针对基于 Web 浏览器的应用程序,包括各种网站、Web 应用系统等。例如,电商网站、企业办公系统的 Web 版等。
- 技术工具:常用的工具如 Selenium,它可以通过各种浏览器驱动来操作浏览器,模拟用户的点击、输入、选择等操作,还能与多种编程语言(如 Java、Python、C# 等)结合使用。
客户端自动化:
- 使用场景:针对安装在本地计算机或移动设备上的客户端应用程序,如 Windows 桌面应用、Mac 应用、移动 APP 等。例如,微信 PC 端、手机银行 APP 等。
- 技术工具:对于桌面应用,常见的工具有 AutoIt、WinAppDriver 等,它们可以操作 Windows 系统下的各种应用程序界面元素。
🚀1.4自动化测试金字塔
理想的自动化测试:
解释:顾名思义,从上到下,手动测试,自动化测试,接口测试(根据请求,检查响应数据格式以及内容),以及单元测试(即对程序最小单元执行,一般是由开发人员进行测试)
顶端就是要消耗更多的时间精力,但是收获相反很小;往下就是更低的时间精力消耗,但是获得的投资回报率更高;
但是在现实的自动化测试如下:
即在真实的测试中,手动测试以及自动化测试的消耗的精力更高,那么投资回报率越高;因为在进行手动测试以及UI自动化测试的过程中,后端的问题会在前端进行显示;
📚️2.Web自动化
🚀2.1驱动
即模拟我们人为对于浏览器的操作;那么我们要打开浏览器,就需要浏览器驱动;此时我们需要下载驱动;
驱动下载问题:不同的浏览器需要不同的浏览器的驱动,不同版本的浏览器需要不同版本的浏览器驱动
那么我们浏览器会自动更新,那么每次更新我们都要下载新的驱动吗?答案不是的,那么就引入驱动管理程序;
创建我们的项目文件:
🚀2.2安装驱动管理
WebDriverManager是⼀个开源Java库,以完全⾃动化的⽅式对Selenium WebDriver所需的驱动程
序(如chromedriver、geckodriver、msedgedriver等)进⾏管理(即下载、设置和维护)
这里我们需要引入依赖:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.8.0</version>
</dependency>
📚️3.selenium
接下来就是使⽤selenium来编写web⾃动化测试脚本。selenium是⼀个web⾃动化测试⼯具,selenium中提供了丰富的⽅法供给使⽤者进⾏web⾃动化测试。
🚀3.1引入依赖
代码如下:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
接下来就是编写代码,一般作为测试人员,我们最好是在test包里进行代码的编写;
🚀3.2编写脚本代码
目的:
1.打开百度浏览器;
2.输入我们要输入的内容;
3.点击百度一下;
4.关闭浏览器;
第一步的代码如下所示:
public class FirstTest {
void test1() throws InterruptedException {
//创建浏览器驱动
WebDriverManager.chromedriver().setup();
//增加浏览器配置
ChromeOptions options = new ChromeOptions();
options.addArguments("--remote-allow-origins=*");
//创建驱动对象
WebDriver driver = new ChromeDriver(options);
Thread.sleep(3000);
}
}
接下来小编进行一一的解释:
第一步创建谷歌浏览器的驱动,然后创建驱动对象,进行后序的相关操作;但是由于浏览器对于自动化操作不安全问题,自动配置options进行所有网址的访问;
第二步代码如下:
//输入请求的网站
driver.get("https://www.baidu.com/");
Thread.sleep(3000);
//找到输入框,然后输入内容
driver.findElement(By.cssSelector("#kw")).sendKeys("蔡徐坤");
Thread.sleep(3000);
//找到元素并点击
driver.findElement(By.cssSelector("#su")).click();
Thread.sleep(3000);
driver.quit();
解释:
这里就是通过get访问百度网址,然后通过findelement进行元素的查找,此时我们通过选择器cssSelector进行查找对应的元素,那么“#kw指的就是百度搜索框,通过sendKey输入我们要查找的内容;
最后通过同样的方式找到这里的百度一下点击搜索元素,通过click进行点击操作,最后退出浏览器;(小编这里使用sleep强制等待是为了方便自己查看,因为程序自动运行操作很快)
📚️4.总结
本期小编主要讲解了关于自动化测试的基本概念,和测试分类以及通过selenium进行自动化操作浏览器搜索文本;
🌅🌅🌅~~~~最后希望与诸君共勉,共同进步!!!
💪💪💪以上就是本期内容了, 感兴趣的话,就关注小编吧。
😊😊 期待你的关注~~~