让测试更高效!Python自动化测试框架实践分享

 

目录

前言:

安装环境

2.编写测试用例

3.运行测试用例

4.生成测试报告

总结:


前言:

自动化测试框架是软件测试领域的一个重要组成部分。它可以帮助测试人员自动完成测试用例的执行,提高测试效率和精度,并且可以减少人为操作所带来的错误。本文将介绍一个基于Python语言的自动化测试框架,并提供相关代码。

  1. 安装环境

我们需要安装以下几个工具/库:

  • Python3:本文以Python3.8为例。
  • Selenium:一个自动化测试工具,可以模拟用户在浏览器中的操作。
  • pytest:一个流行的Python单元测试框架,可以帮助我们编写和运行测试用例。
  • allure-pytest:一个pytest插件,可以生成美观的测试报告。

我们可以使用pip来安装这些工具:

pip install selenium pytest allure-pytest

2.编写测试用例

在开始编写测试用例之前,我们需要确定被测网站的URL和一些测试场景。本文以谷歌搜索为例,我们将编写两个测试用例:

  • 在谷歌上搜索关键词“Python”,检查搜索结果是否包含“python.org”网站。
  • 在谷歌上搜索关键词“OpenAI”,检查搜索结果是否包含“openai.com”网站。

打开编辑器(例如VS Code),创建一个名为“test_google_search.py”的文件,输入以下代码:

import pytest
from selenium import webdriver


@pytest.fixture(scope="module")
def driver():
    # 启动Chrome浏览器
    driver = webdriver.Chrome()
    yield driver
    # 关闭浏览器
    driver.quit()


def test_search_python(driver):
    # 打开谷歌搜索页面
    driver.get("https://www.google.com/")
    assert "Google" in driver.title

    # 在搜索框中输入“Python”,并点击搜索按钮
    elem = driver.find_element_by_name("q")
    elem.send_keys("Python")
    elem.submit()

    # 检查搜索结果是否包含“python.org”网站
    assert "python.org" in driver.page_source


def test_search_openai(driver):
    # 打开谷歌搜索页面
    driver.get("https://www.google.com/")
    assert "Google" in driver.title

    # 在搜索框中输入“OpenAI”,并点击搜索按钮
    elem = driver.find_element_by_name("q")
    elem.send_keys("OpenAI")
    elem.submit()

    # 检查搜索结果是否包含“openai.com”网站
    assert "openai.com" in driver.page_source

在上面的代码中,我们使用了pytest的fixture机制来创建一个webdriver对象。这个对象将在两个测试用例中被共享。在每个测试用例完成后,我们使用yield语句关闭浏览器,以便在测试结束时释放资源。

3.运行测试用例

保存test_google_search.py文件,并打开终端(例如Windows CMD、PowerShell或Linux终端),进入文件所在的目录,输入以下命令:

pytest --alluredir=reports

这个命令将运行test_google_search.py文件中的测试用例,并生成一个名为“reports”的目录,其中包含测试结果和有关测试运行的元数据。

4.生成测试报告

我们可以使用allure命令来生成一个漂亮的HTML测试报告。在终端中输入以下命令:

 
allure serve reports

这个命令将启动一个本地Web服务器,在浏览器中打开测试报告页面。

至此,我们已经完成了一个基于Python的自动化测试框架的搭建。通过这个框架,我们可以轻松地编写和运行测试用例,并生成美观的测试报告。

总结:

总体而言,本文介绍了一个基于Python语言的自动化测试框架。我们使用了Selenium、pytest和allure-pytest等工具来编写和运行测试用例,并生成美观的测试报告。通过这个框架,我们可以提高测试效率和精度,减少人为操作所带来的错误。

在具体实现中,我们在编写测试用例之前安装了必要的工具/库,然后使用pytest的fixture机制创建了一个webdriver对象,并将其作为参数传递给测试函数。在运行测试用例时,我们可以使用pytest和allure-pytest来获取测试结果和生成测试报告。

需要注意的是,在实际应用中,我们需要针对不同的项目和需求选择合适的自动化测试框架,并根据实际情况进行调整和优化。

小编还整理了自动化测试框架图:

 还有一些福利,小伙伴也可白嫖:

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值