自动化测试脚本编写入门指南

本文主要介绍自动化测试脚本编写,通过本文的阅读,你可以了解如何编写高效的自动化测试脚本,减少测试成本和时间。

用 Apifox,节省研发团队的每一分钟

自动化测试脚本编写入门指南

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

自动化测试脚本

什么是自动化测试?

自动化测试是验证和验证软件是否满足所有用户需求,并使用自动化工具按预期运行。它检查在产品开发阶段期间和之后出现的错误、问题和其他类型的缺陷。这种类型的软件测试运行在由测试工具处理的编程脚本上。有多种测试工具,它们要么提供基于代码的平台,要么为 QA 提供无代码选项。

为什么要自动化测试?

自动化测试之所以至关重要,原因有很多。最主要的原因是它在执行手动测试用例时节省了金钱和时间。但自动化测试的好处不仅限于此;它提供了一个网关来执行复杂的测试过程,消除可能的手动测试错误,并生成一致、可靠的结果。

在手动测试使人类能够分析产品并创建测试报告的情况下,自动化测试非常适合需要反复测试功能或可能已经经历了初始手动测试过程的大型项目。

在你的业务中采用自动化测试技术和工具的总体优势是推出交付时间短、生产力指标更好的无缺陷产品。现在我们可以在下面检查一下自动化测试到手动测试的所有优点是什么。

什么是自动化测试脚本

自动化测试脚本,也就是 Testing Script,就是通过编写一些脚本代码,来完成自动化测试的功能,可以使用且不局限于像 javascript/java/python/php 等编程语言来进行编写。

什么是自动化测试脚本

自动化测试脚本长啥样?怎么写?

我们可以通过一个小例子来讲讲自动化测试脚本到底长啥样,怎么写。

假如我想要使用 Python + Selenium 对一个小页面进行测试,测试它的输入框搜索功能是否正常,我可以编写代码,如下:

# 导入所需的库
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# 初始化浏览器
browser = webdriver.Firefox()  # Firefox浏览器
# browser = webdriver.Chrome()  # Chrome浏览器

# 打开被测试的网站
browser.get("http://www.example.com")

# 执行测试步骤
search_box = browser.find_element_by_name("q")
search_box.send_keys("Hello World")
search_box.send_keys(Keys.RETURN)

# 验证测试结果
assert "No results found." not in browser.page_source

# 关闭浏览器
browser.close()

这些代码其实就是自动化测试脚本,因为你写完,你可以让他运行几百次几千次,你都不用再去动它了~

在 Apifox 中使用自动化测试脚本

而 API 的自动化测试也一样,我们也可以通过编写代码来对 API 进行测试,我们需要选择一款 API 工具来进行自动化测试,今天我选择 Apifox 来完成这个操作,因为 Apifox 支持自动化测试,且默认支持中文。

创建几个请求

我们需要创建几个请求,在请求中的前置脚本后者后置脚本中,进行脚本代码的编写,Apifox 默认的脚本语言是 javascript。

在填入 路径、方法、名称 之后,我们需要进行 自定义脚本 的编写。

在 Apifox 中使用自动化测试脚本
创建请求

自定义脚本的编写

我们可以发现 Apifox 已经为我们准备了很多校验脚本代码的模板。

Apifox 自定义脚本的编写
自定义脚本的编写

比如以下的脚本代码:

 // 判断状态码是否为 200
pm.test("Status code is 200", function () {
        pm.response.to.have.status(200);
      });
// 判断 body 是否包含目标字符串
pm.test("Body matches string", function () {
        pm.expect(pm.response.text()).to.include("string_you_want_to_search");
      });
// Body json 检查
pm.test("Your test name", function () {
        var jsonData = pm.response.json();
        pm.expect(jsonData.value).to.eql(100);
      });
// body 字符串检查
pm.test("Body is correct", function () {
        pm.response.to.have.body("response_body_string");
      });
// 修改 body
pm.response.setBody({});
// header 是否包含 content-type
pm.test("Content-Type is present", function () {
        pm.response.to.have.header("Content-Type");
      });
// 响应时间低于 200ms
pm.test("Response time is less than 200ms", function () {
        pm.expect(pm.response.responseTime).to.be.below(200);
      });
// post 请求成功
pm.test("Successful POST request", function () {
        pm.expect(pm.response.code).to.be.oneOf([201,202]);
      });

我们可以为这个请求设置多个测试校验,比如我这里加了两个:

  • 检查返回状态码是否为 200
  • 请求耗时是否少于 200ms
Apifox 设置多个测试校验
设置多个测试校验

点击保存,我们可以先运行一下试试,可以发现,我们得到想要的预期效果,校验也通过了。

Apifox 设置多个测试校验
运行结果

Apifox 自动化测试

试想一下,如果有五个接口呢,不可能一个一个去发送吧~所以我们需要用到 Apifox 的自动化测试功能。

Apifox 自动化测试
接口

我们需要进入自动化测试界面,然后导入对应的接口。

Apifox 自动化测试
导入接口

最后填写环境、循环数、延迟数等等,进行运行。

Apifox 自动化测试
运行

得出运行结果,可以查看耗时,成功数,失败数等报告参数。

apifox 测试报告
测试报告

关于Apifox

欢迎体验一下,完全免费的哦:在线使用 Apifox

Apifox ,可以帮助用户管理测试用例、自动化测试、模拟数据等,它为用户提供了一个直观、易于使用的界面,可以帮助测试人员更好地管理和组织测试用例,并快速执行和分析测试结果。

  • 操作便捷的界面:Apifox 提供了一个直观、易于使用的可视化界面,使测试人员能够快速创建、编辑和执行测试用例。
  • 强大的自动化测试:Apifox 支持自动化测试,可以快速执行大量测试用例,并生成详细的测试报告。
  • 内置的 Mock 服务:Apifox 还提供了 Mock 服务,可以帮助测试人员模拟 API 的行为,以便更好地测试和调试。
  • 高效的测试管理:Apifox 可以帮助测试人员更好地管理和组织测试用例,以便更好地进行测试。
  • 良好的团队协作:Apifox 提供了强大的团队协作功能,使测试人员可以更好地共享测试用例和测试结果,并协同完成测试任务。

Apifox 是一款功能强大、易于使用的接口测试工具,可以帮助测试人员更好地管理、执行和分析测试用例,并实现高效的测试。

如果你正在寻找一款强大的接口测试工具,我强烈推荐你尝试一下 ~

Apifox 接口调试工具

知识扩展: