前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件测试/人工智能|如何使用ChatGPT帮我们写自动化测试脚本

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

原创
作者头像
霍格沃兹测试开发Muller老师
发布2023-11-23 17:19:40
3230
发布2023-11-23 17:19:40
举报
文章被收录于专栏:muller的测试分享

简介

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

演练示例

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

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

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

请使用python+selenium生成脚本

ChatGPT回复生成的脚本如下:

代码语言:python
代码运行次数:0
复制
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新生成的代码如下:

代码语言:python
代码运行次数:0
复制
import pytest
from selenium import webdriver
from 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才能输出符合我们要求的脚本。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 演练示例
  • 总结
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档