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

点此获取更多相关资料

简介

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

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

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

实践演练

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

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

ChatGPT的响应信息为:

python 复制代码
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 OK
    assert response.status_code == 200

# 运行测试
if __name__ == "__main__":
    pytest.main(["-v", "test_api.py"])
  • 提示词:请帮我编写一个 Web 自动化测试脚本,要求使用 Pytest + Playwright。

ChatGPT的响应信息为:

python 复制代码
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的响应信息为:

python 复制代码
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的回复,直到满足需求。

相关推荐
汽车仪器仪表相关领域1 分钟前
70A大电流+三档电压可调:Midtronics MSP-070系列电源充电器汽车ECU刷新与电池维护实战全解
人工智能·功能测试·单元测试·汽车·可用性测试
陆研一3 分钟前
Clawdbot:Mac mini 卖爆背后的 AI 代理革命
人工智能·ai·chatgpt
小程故事多_808 分钟前
穿透 AI 智能面纱:三大高危漏洞(RCE/SSRF/XSS)的攻防博弈与全生命周期防护
前端·人工智能·aigc·xss
小咖自动剪辑9 分钟前
ChatTTS本地离线版:高品质AI文字转语音工具完全指南
人工智能
Deepoch11 分钟前
Deepoc具身大模型开发板:赋能电厂巡检机器人,筑牢能源安全防线
人工智能·科技·机器人·巡检·具身模型·deepoc·电厂巡检
zhangfeng113316 分钟前
华为云ModelArts「大模型部署 & 微调」指南
人工智能·华为云
机器视觉的发动机18 分钟前
波士顿动力机器人技术全解析从四足Spot到人形Atlas的机器人革命
大数据·人工智能·深度学习·机器人·视觉检测·机器视觉
HyperAI超神经24 分钟前
软银/英伟达/红杉资本/贝佐斯等参投,机器人初创公司Skild AI融资14亿美元,打造通用基础模型
人工智能·深度学习·机器学习·机器人·ai编程
数说星榆18127 分钟前
边缘计算革命:终端设备的本地化智能
人工智能·边缘计算