写点什么

软件测试 / 人工智能|如何使用 ChatGPT 帮我们写自动化测试脚本

  • 2023-11-23
    北京
  • 本文字数:1837 字

    阅读完需:约 6 分钟

简介

当今软件开发中,自动化测试脚本的编写是确保软件质量和稳定性的重要步骤。随着人工智能和自然语言处理技术的进步,像 ChatGPT 这样的语言模型已经成为编写自动化测试脚本的有力工具。ChatGPT 可以根据给定的指令和条件生成代码,简化了测试流程并提高了效率。

演练示例

假设我们有一个简单的网站,需要编写一个自动化测试脚本来验证登录功能。我们可以利用 ChatGPT 来生成这样的脚本。


首先,我们与 ChatGPT 交互,说明我们想要测试登录功能,并列出测试步骤和预期结果:


用户:你好,我需要创建一个自动化测试脚本来验证网站的登录功能。ChatGPT:好的,请列出测试步骤和预期结果。用户:第一步,打开网站首页。预期结果是能够看到登录表单。用户:第二步,输入有效的用户名和密码。预期结果是成功登录到用户账户页面。用户:第三步,验证登录后页面的标题。预期结果是标题显示用户账户信息。
请使用python+selenium生成脚本
复制代码


ChatGPT 回复生成的脚本如下:


from selenium import webdriver
# 打开浏览器driver = webdriver.Chrome()
# 第一步:打开网站首页driver.get("https://example.com")
# 预期结果:能够看到登录表单login_form = driver.find_element_by_id("login-form")if login_form.is_displayed(): print("登录表单可见")else: print("登录表单不可见")
# 第二步:输入有效的用户名和密码username_input = driver.find_element_by_id("username")password_input = driver.find_element_by_id("password")
username_input.send_keys("your_username")password_input.send_keys("your_password")driver.find_element_by_id("login-button").click()
# 预期结果:成功登录到用户账户页面if "user_account_page" in driver.current_url: print("成功登录到用户账户页面")else: print("登录失败")
# 第三步:验证登录后页面的标题user_account_title = driver.title
# 预期结果:标题显示用户账户信息if "User Account" in user_account_title: print("页面标题显示用户账户信息")else: print("页面标题未显示用户账户信息")
# 关闭浏览器driver.quit()
复制代码


这段代码使用 Selenium 模拟了用户在网站上的登录过程,并检查了预期的结果。ChatGPT 根据我们的需求生成了一段基本的测试脚本,我们可以进一步完善和调整以适应更复杂的测试场景。


我们可以发现,这段代码使用的 selenium 版本不高,并且没有使用 pytest 框架,所以我们可以继续向 ChatGPT 提问要求使用 selenium4.0 版本以及 pytest 框架来输出代码。


ChatGPT 新生成的代码如下:


import pytestfrom selenium import webdriverfrom selenium.webdriver.common.by import By
@pytest.fixture(scope="module")def browser(): # 初始化一个浏览器实例(这里使用Chrome) driver = webdriver.Chrome() yield driver # 测试结束后关闭浏览器 driver.quit()
def test_login(browser): # 打开网站首页 browser.get("https://example.com") # 检查登录表单是否可见 login_form = browser.find_element(By.ID, "login-form") assert login_form.is_displayed(), "登录表单不可见" # 输入用户名和密码并登录 username_input = browser.find_element(By.ID, "username") password_input = browser.find_element(By.ID, "password") login_button = browser.find_element(By.ID, "login-button") username_input.send_keys("your_username") password_input.send_keys("your_password") login_button.click() # 验证是否成功登录到用户账户页面 assert "user_account_page" in browser.current_url, "登录失败" # 验证登录后页面的标题 user_account_title = browser.title assert "User Account" in user_account_title, "页面标题未显示用户账户信息"
复制代码


这个测试文件包含了一个基本的测试用例 test_login,其中使用了pytest的 fixture browser来初始化和关闭浏览器。测试用例模拟了登录流程,并通过 Selenium 来查找元素和验证预期结果。

总结

本文主要介绍了如何使用 ChatGPT 帮我们写自动化测试脚本,我们在让 ChatGPT 帮我们写自动化测试脚本时,需要明确我们的要求,比如我们需要写 web 自动化还是接口自动化测试的脚本,以及我们要使用哪个技术栈,使用哪个框架等,都需要明确,1 这样 ChatGPT 才能输出符合我们要求的脚本。


获取更多技术资料,请点击!



用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
软件测试/人工智能|如何使用ChatGPT帮我们写自动化测试脚本_霍格沃兹测试开发学社_InfoQ写作社区