当前位置: 首页 > 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的回复,直到满足需求。

相关文章:

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

点此获取更多相关资料 简介 自动化测试脚本可以模拟用户与应用程序的交互,例如点击按钮、输入数据、导航到不同的页面等等,以验证应用程序的正确性、性能和稳定性。 自动化测试在回归测试、冒烟测试等测试流程中都可以极大地起到节省时间、节省人力的作…...

3.3.OpenCV技能树--二值图像处理--图像形态学操作

文章目录 1.图像形态学运算简介2.图像开运算处理2.1.图像开运算处理简介2.2.图像开运算处理代码2.3.图像开运算处理效果 3.图像闭运算处理3.1.图像闭运算处理简介3.2.图像闭运算处理代码3.3.图像闭运算处理效果 4.图像形态学梯度处理4.1.图像形态学梯度处理简介4.2.图像形态学梯…...

这15个海运提单的雷区 你知道吗?

海运提单中英文对照 海运提单主要项目填制说明 1、托运人(Shipper):即与承运人签订运输契约,委托运输的货主,即发货人。在信用证支付方式下,一般以受益人为托运人;托收方式以托收的委托人为托运人。另外,根据《UCP500》…...

几道web题目

总结几道国庆写的web题目 [ACTF2020 新生赛]Include1 点进去发现就一个flag.php,源代码和抓包都没拿到好东西 结合题目猜是文件包含,构建payload ?filephp://filter/readconvert.base64-encode/resourceflag.php 得到base64编码过的flag,解码即可 此题…...

API接口大全分享,含短信API、IP查询API。。。

免费API接口大全分享,含短信API、IP查询API等。。。 语音验证码短信:拨打电话告知用户验证码,实现信息验证。短信验证码:可用于登录、注册、找回密码、支付认证等等应用场景。支持三大运营商,3秒可达,99.9…...

记录一次springboot使用定时任务中@Async没有生效的场景

环境说明 jdk21springboot 3.0.11 springcloud 2022.0.0 spring-cloud-alibaba 2022.0.0.0 在开发一个定时触发的任务的时候,由于开发执行任务的函数比较耗费时间,所以采用异步解决问题。 发现并没有按照预期的触发 经询问后,发现当前类的…...

腾讯云/阿里云国际站免费账号:腾讯云国际站如何对象存储cos设置防盗链

简介 为了避免恶意程序使用资源 URL 盗刷公网流量或使用恶意手法盗用资源,腾讯云国际站给用户带来不必要的损失。腾讯云对象存储支持防盗链配置,建议您通过控制台的防盗链设置配置黑/白名单,来进行安全防护。 注意: 如果您访问对…...

python编程:使用 Pillow 将照片转换为1寸报名照片

引言: 在现代科技时代,我们经常需要调整和处理照片以适应特定的需求和用途。本文将介绍如何使用 wxPython 和 Pillow 库,通过一个简单的图形界面程序,将选择的照片转换为指定尺寸的 JPG 格式,并保存在桌面上。 C:\pyt…...

Aria2 for Mac (免HomeBrew)

Aria2 for Mac (免HomeBrew)-CSDN博客 之前搜索Aria2的安装方法,推荐的方法是使用HomeBrew安装。是,这个插件很省事,但启用条件是你安装了HomeBrew且运行起来需要再下十来个G的Xcode…… 这对急用的我非常不友好,当然&#xff0c…...

【Java】微服务——Gateway网关

目录 1.为什么需要网关2.gateway快速入门1)创建gateway服务,引入依赖2)编写启动类3)编写基础配置和路由规则4)重启测试5)网关路由的流程图 3.3.断言工厂3.4.过滤器工厂3.4.1.路由过滤器的种类3.4.2.请求头过…...

大厂笔试汇总

大厂笔试 华为笔试汇总1.交易系统的降级策略(二分法)2.获取最多食物(树形DP)3.小王的密码本(哈希)4.每日股票价格(单调栈)5.中庸行者(回溯)输入描述输出描述6.数字序列比大小(贪心)输入描述输出描述7、快递中转站8、互通设备集字节跳动中兴笔试华为笔试汇总 1.交易…...

【数据结构】快排的详细讲解

目录: 介绍 一,递归快排确定基准值 二,递归遍历 三,非递归的快排 四,快排的效率 介绍 快排是排序算法中效率是比较高的,快排的基本思想是运用二分思想,与二叉树的前序遍历类似,…...

蓝牙资讯|三星推迟发布智能戒指Galaxy Ring,智能穿戴小型化是大趋势

根据外媒 The Elec 报道,Galaxy Ring这款戒指主要面向健康和 XR 头显市场,该智能戒指可能被延期至 2024 年第三季度后发布。 外媒声称三星 Galaxy Ring 的上市周期,主要取决医疗认证的相关审批时间,三星计划将在 2024 年第三季度…...

移动端tree树

注意: 这是uniapp的写法,vue想用的话需要改造一下,里边的view和text,vue不能用,改成div,span即可。 样式rpx也要改成px tree树组件(QQ群:旧群没了,新群:801142650) - …...

SpringTask ----定时任务框架 ----苍穹外卖day10

目录 SpringTask 需求分析 快速入门 使用步骤 ​编辑业务开发 SpringTask 定时任务场景特化的框架 需求分析 快速入门 使用cron表达式来使用该框架 使用步骤 添加注解 自定义定时任务类 重点在于以下cron表达式的书写,精确表达触发的间隔 业务开发 主task方法 time使用(-…...

Fuzz测试:发现软件隐患和漏洞的秘密武器

0x01 什么是模糊测试 模糊测试(Fuzz Testing)是一种广泛用于软件安全和质量测试的自动化测试方法。它的基本思想是向输入参数或数据中注入随机、不规则或异常的数据,以检测目标程序或系统在处理不合法、不正常或边缘情况下的行为。模糊测试通…...

无为WiFi的一批服务器

我们在多个地区拥有高速服务器&#xff0c;保证网速给力&#xff0c;刷片无压力 嘿嘿 <?phpinclude("./includes/common.php"); $actisset($_GET[act])?daddslashes($_GET[act]):null; $urldaddslashes($_GET[url]); $authcodedaddslashes($_GET[authcode]);he…...

SpringBoot3.0——踩坑

SpringBoot3.0后有一些改动 JDK要17以上lombok <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version> </dependency>servlet <dependency><groupId>ja…...

Springboot的自动装配原理和文件上传FastDFS

Spring Boot的自动装配原理&#xff1a; Spring Boot的自动装配原理是基于约定大于配置的原则&#xff0c;它通过扫描类路径下的各种文件以及类的注解信息来自动配置应用程序的各种组件和功能。Spring Boot会根据约定的规则自动配置相应的Bean&#xff0c;这些Bean都是单例的&…...

【数据库开发】DQL操作和多表设计

数据库开发 一、数据库操作-DQL 1.概述 用来查询数据库表中的记录&#xff0c;查询操作分为两部分&#xff0c;单表操作和多表操作&#xff0c;针对于查询而言&#xff08;相较于增删改更加的灵活&#xff09;基于目标分析条件转换为SQL语句 2.语法 SELECT 字段列表 FROM表…...

taotoken控制台提供的api调用审计与用量分析功能体验

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 taotoken控制台提供的api调用审计与用量分析功能体验 对于需要统一管理多个大模型API调用的团队而言&#xff0c;清晰掌握调用情况…...

中小企业技术团队的生存法则:用巧劲对抗资源不足

一、夹缝中求存的中小企业测试团队在软件行业的生态版图里&#xff0c;中小企业技术团队始终处于一种特殊的位置。它们没有行业巨头动辄数百人的测试大军&#xff0c;没有动辄千万级的测试预算&#xff0c;也无法像大厂那样依靠成熟的流程体系和工具矩阵实现自动化、规模化的测…...

开源自托管看板工具:基于Preact+Hono+SQLite的零云依赖方案

1. 项目概述&#xff1a;一个为自托管与AI协作而生的看板应用如果你正在寻找一个可以完全掌控在自己手里、没有订阅费用、又能无缝集成到你自己产品中的看板工具&#xff0c;那么clawnify/open-kanban这个项目值得你花时间深入研究。它不是一个玩具&#xff0c;而是一个生产就绪…...

练了半年演讲口才,汇报时还是结巴,说说我的真实感受

小林坐在会议室的角落&#xff0c;手心微微出汗。轮到他汇报季度项目进展时&#xff0c;他深吸一口气站起来——结果&#xff0c;开场白磕磕绊绊&#xff0c;PPT翻到第三页才找回节奏。散会后他苦笑着跟同事说&#xff1a;“演讲口才课我上了半年了&#xff0c;怎么还是这副德行…...

开源情报自动化工具OpenClaw:模块化设计与实战部署指南

1. 项目概述&#xff1a;从“Resolver-TNG/ogas-openclaw”看开源情报自动化最近在开源情报&#xff08;OSINT&#xff09;和自动化数据采集的圈子里&#xff0c;一个名为“ogas-openclaw”的项目引起了我的注意。这个项目托管在Resolver-TNG的组织下&#xff0c;名字本身就很有…...

RT-Thread Sensor框架实战:5分钟搞定INA226电流电压功率监测(含I2C避坑指南)

RT-Thread Sensor框架实战&#xff1a;5分钟搞定INA226电流电压功率监测&#xff08;含I2C避坑指南&#xff09; 在嵌入式系统开发中&#xff0c;精准监测电流、电压和功率是许多应用场景的核心需求&#xff0c;无论是电池管理系统、智能硬件功耗分析&#xff0c;还是工业设备状…...

Dify实战指南:从零构建大模型应用与智能体开发全流程

1. 项目概述&#xff1a;从零到一&#xff0c;构建你的大模型应用开发实战手册如果你对AI应用开发感兴趣&#xff0c;但又觉得从零开始搭建一个能用的智能体&#xff08;Agent&#xff09;或者知识库问答系统门槛太高&#xff0c;那么你很可能已经听说过Dify这个名字。作为一个…...

5个常见照片管理难题,ExifToolGUI一站式解决

5个常见照片管理难题&#xff0c;ExifToolGUI一站式解决 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 你有没有遇到过这样的情况&#xff1f;旅行归来&#xff0c;几百张照片的拍摄时间全乱了&#xff0c…...

管式土壤墒情监测站:深埋地下测湿度,云端上报助灌溉

管式土壤墒情监测站采用土壤介电常数检测原理&#xff0c;结合专业数学模型算法&#xff0c;搭配独创螺旋式测量电极结构开展高精度土壤含水率监测。土壤介电常数与土壤含水量存在稳定且精准的对应关系&#xff0c;设备通过传感器高频感知土层介电参数变化&#xff0c;经内置算…...

Aegon协议:AI内容授权的可信审计架构解析

1. Aegon协议&#xff1a;AI内容授权的可信审计架构在AI内容爆炸式增长的今天&#xff0c;版权合规已成为行业核心痛点。传统授权方案存在三大致命缺陷&#xff1a;一是缺乏可验证的访问记录&#xff0c;二是无法追踪内容在AI处理流水线中的流转&#xff0c;三是移动端完全处于…...