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

软件测试/测试开发丨利用ChatGPT 生成自动化测试脚本

点此获取更多相关资料

简介

自动化测试脚本可以模拟用户与应用程序的交互,例如点击按钮、输入数据、导航到不同的页面等等,以验证应用程序的正确性、性能和稳定性。

图片

自动化测试在回归测试、冒烟测试等测试流程中都可以极大地起到节省时间、节省人力的作用,所以目前自动化测试工程师,也是一个非常炙手可热的岗位。

图片

在编写自动化测试的过程中,ChatGPT 可以作为一个非常好用的工具,极大提升编写效率。

实践演练

在使用 ChatGPT 编写自动化测试脚本的时候,提示词最好明确相关的技术栈,这样可以在生成的脚本基础之上做对应的修改。

  • 提示词:请帮我编写一个接口自动化测试脚本,要求使用 Pytest + Requests 。只需要对响应状态码完成断言即可。

ChatGPT的响应信息为:

import pytest
import requests# 定义测试用例
def test_api_response_status_code():# 设置API端点api_url = "https://jsonplaceholder.typicode.com/posts/1"# 发送GET请求response = requests.get(api_url)# 检查响应状态码是否为200 OKassert response.status_code == 200# 运行测试
if __name__ == "__main__":pytest.main(["-v", "test_api.py"])
  • 提示词:请帮我编写一个 Web 自动化测试脚本,要求使用 Pytest + Playwright。

ChatGPT的响应信息为:

import pytest
from playwright.sync_api import sync_playwright# 定义测试用例
def test_web_page_title():with sync_playwright() as p:browser = p.chromium.launch()page = browser.new_page()# 打开网页page.goto("https://example.com")# 获取页面标题title = page.title()# 检查页面标题是否包含"Example Domain"assert "Example Domain" in title# 关闭浏览器browser.close()# 运行测试
if __name__ == "__main__":pytest.main(["-v", "test_web.py"])
  • 请结合 Harmcrest 优化断言。

ChatGPT的响应信息为:

import pytest
from playwright.sync_api import sync_playwright
from hamcrest import assert_that, contains_string# 定义测试用例
def test_web_page_title():with sync_playwright() as p:browser = p.chromium.launch()page = browser.new_page()# 打开网页page.goto("https://example.com")# 获取页面标题title = page.title()# 使用Hamcrest断言检查页面标题是否包含"Example Domain"assert_that(title, contains_string("Example Domain"))# 关闭浏览器browser.close()# 运行测试
if __name__ == "__main__":pytest.main(["-v", "test_web.py"])

总结

1.写清楚需求:在要求ChatGPT编写自动化测试脚本的时候,需要给它明确使用的技术栈,方便基于脚本做修改。

2.将复杂的任务拆分为更简单的子任务/系统地测试变化:通过多次提问,进一步修正ChatGPT的回复,直到满足需求。

http://www.lryc.cn/news/186116.html

相关文章:

  • 3.3.OpenCV技能树--二值图像处理--图像形态学操作
  • 这15个海运提单的雷区 你知道吗?
  • 几道web题目
  • API接口大全分享,含短信API、IP查询API。。。
  • 记录一次springboot使用定时任务中@Async没有生效的场景
  • 腾讯云/阿里云国际站免费账号:腾讯云国际站如何对象存储cos设置防盗链
  • python编程:使用 Pillow 将照片转换为1寸报名照片
  • Aria2 for Mac (免HomeBrew)
  • 【Java】微服务——Gateway网关
  • 大厂笔试汇总
  • 【数据结构】快排的详细讲解
  • 蓝牙资讯|三星推迟发布智能戒指Galaxy Ring,智能穿戴小型化是大趋势
  • 移动端tree树
  • SpringTask ----定时任务框架 ----苍穹外卖day10
  • Fuzz测试:发现软件隐患和漏洞的秘密武器
  • 无为WiFi的一批服务器
  • SpringBoot3.0——踩坑
  • Springboot的自动装配原理和文件上传FastDFS
  • 【数据库开发】DQL操作和多表设计
  • 用PyTorch轻松实现二分类:逻辑回归入门
  • [nltk_data] Error loading stopwords: <urlopen error [WinError 10054]
  • 基于Spring Boot的网上租贸系统设计与实现(源码+lw+部署文档+讲解等)
  • 通过IP地址管理提升企业网络安全防御
  • termius mac版无需登录注册直接永久使用
  • TPU编程竞赛|Stable Diffusion大模型巅峰对决,第五届全球校园人工智能算法精英赛正式启动!
  • 微信小程序 rpx 转 px
  • 机器学习之旅-从Python 开始
  • 100天精通Python(可视化篇)——第103天:Pyecharts绘制多种炫酷水球图参数说明+代码实战
  • 好用的文件备份软件推荐!
  • 1130 - Host ‘192.168.10.10‘ is not allowed to connect to this MysOL server