首页 > 其他分享 >软件测试/人工智能|如何使用ChatGPT帮我们写自动化测试脚本

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

时间:2023-11-23 17:22:59浏览次数:42  
标签:登录 人工智能 driver 测试 ChatGPT browser login 软件测试

简介

当今软件开发中,自动化测试脚本的编写是确保软件质量和稳定性的重要步骤。随着人工智能和自然语言处理技术的进步,像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 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才能输出符合我们要求的脚本。

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

标签:登录,人工智能,driver,测试,ChatGPT,browser,login,软件测试
From: https://www.cnblogs.com/hogwarts/p/17852055.html

相关文章

  • 全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性
    全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性1.基本思想大型语言模型(LLMs)具有出色的能力,但由于完全依赖其内部的参数化知识,它们经常产生包含事实错误的回答,尤其在长尾知识中。为了解决这一问题,之前的研究人员提出了检索增强生成(RAG),它通......
  • Python爬虫与人工智能:如何让机器学会自动抓取网络数据
    随着互联网的发展,网络数据变得越来越丰富。许多公司和组织需要从网络上获取大量的数据进行分析和研究,这时候就需要一种有效的方式来自动化抓取网络数据。Python爬虫和人工智能是两个强大的技术,结合起来可以让机器学会自动抓取网络数据。Python爬虫是指使用Python语言编写程序,模拟浏......
  • ChatGPT的未来
    ChatGPT的未来发展前景非常广阔。以下是一些可能的趋势和发展方向:更加智能化:未来的ChatGPT可能会拥有更强大的自然语言理解和生成能力,能够更好地理解和处理人类语言,并生成更加准确和流畅的文本。应用范围更广:除了现有的应用场景,如客户服务、虚拟助手、情感分析等,未来的ChatGPT可能......
  • 软件测试/人工智能|如何利用人工智能来帮助我们找bug
    简介在软件开发中,Bug是难免的。然而,GitHubCopilot(GitHub提供的人工智能编程助手)已经成为了开发者的强力工具。它不仅能够加速开发,还能帮助找出代码中的Bug。本文我们就来看看它如何帮助我们轻松解决Bug。示例问题描述:假设我们有一个Python函数,用于计算两个数的乘积。......
  • 软件测试/人工智能|PPT不好写,问问ChatGPT
    简介在我们的工作生活中,PPT出现的频率越来越高,工作汇报,经验分享,产品介绍等等,都会出现PPT。因为PPT相对于纯文本,能够添加图片,能够展示动画效果等,可以给大家带来更好的体验。但是写PPT有的时候让人头疼,我们要把许多文字浓缩成一句话,有时候需要绞尽脑汁,当然了,ChatGPT也可以帮助我们......
  • OpenAI 超 700 名员工联名逼宫董事会;ChatGPT 新功能“阅后即焚”丨 RTE 开发者日报 Vo
       开发者朋友们大家好:这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑......
  • 软件测试/人工智能|利用ChatGPT写一份不一样的简历
    简介最近这两年互联网行业的行情很不好,找工作的人多了,可是工作岗位却变少了,找工作变得越来越难,很多人简历投了一大堆,可是却拿不到面试机会,其实除了大环境的问题,也有可能是因为简历写的不过关,本文我们就来介绍一下,如何使用ChatGPT帮我们优化自己的个人简历。什么是好简历简历对......
  • 软件测试/人工智能|使用ChatGPT帮我们绘制产品架构图
    简介当我们想要设计一款产品的时候,文字总是不能具体的呈现出产品的架构,这个时候如果我们能够有一个架构图就会直观很多,也方便大家理解。但是架构图却并不好设计,需要我们对产品有足够的了解,同时还要对技术栈有较深的理解,所以我们还是可以找一个帮手,让ChatGPT帮我们来绘制产品架构......
  • 零代码编程:用ChatGPT根据视频标题来批量重命名字幕文件
    现在有很多视频文件:还有视频相对应的字幕文件:F:\儿童学习教育\Abadas.适合2岁以上.BBC儿童学习单词的动画\abadas字幕两者的文件标题不一样,现在要将字幕文件的标题全部根据视频文件来重命名。在chatGPT中输入提示词:你是一个Python编程专家,要完成一个根据视频标题来批量重命名字幕文......
  • 人工智能 | 企业私有版大语言模型引领人工智能创新
    随着人工智能(AI)技术的不断发展,企业在利用大数据和深度学习等技术方面取得了巨大的进步。在这个不断演变的环境中,企业私有版大语言模型正逐渐崭露头角,成为推动创新和业务增长的关键工具。本文将深入探讨企业私有版大语言模型的重要性以及它在人工智能领域中的应用前景。1.企业私有......