前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【测试篇】关于自动化测试前言,自动化测试的基本概念

【测试篇】关于自动化测试前言,自动化测试的基本概念

作者头像
用户11288949
发布2025-03-23 21:52:17
发布2025-03-23 21:52:17
6500
代码可运行
举报
文章被收录于专栏:学习学习
运行总次数:0
代码可运行

📚️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等)进⾏管理(即下载、设置和维护)

这里我们需要引入依赖:

代码语言:javascript
代码运行次数:0
运行
复制
        <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引入依赖

代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.0.0</version>
        </dependency>

接下来就是编写代码,一般作为测试人员,我们最好是在test包里进行代码的编写;

🚀3.2编写脚本代码

目的:

1.打开百度浏览器; 2.输入我们要输入的内容; 3.点击百度一下; 4.关闭浏览器;

第一步的代码如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
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进行所有网址的访问;

第二步代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
        //输入请求的网站
        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强制等待是为了方便自己查看,因为程序自动运行操作很快)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 📚️1.自动化
    • 🚀1.1自动化测试概念
    • 🚀1.2回归测试
    • 🚀1.3自动化测试分类
      • 1.3.1接口自动化
      • 1.3.2UI自动化
    • 🚀1.4自动化测试金字塔
  • 📚️2.Web自动化
    • 🚀2.1驱动
    • 🚀2.2安装驱动管理
  • 📚️3.selenium
    • 🚀3.1引入依赖
    • 🚀3.2编写脚本代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档