了解最新技术文章
本文是使用TestRail 简化测试自动化系列博客文章的一部分,旨在指导您在 TestRail 中集中测试自动化工作,如下图所示。
您可以使用数十种不同的测试自动化框架来自动化测试用例,每个框架都有自己的特性,并且可以专门用于一种或多种类型的测试。对于这个特定的工作流程,我们唯一的要求是框架可以生成 JUnit 样式的报告,我们可以使用该报告将测试结果上传到 TestRail。在我们的示例中,我们将使用Pytest,这是一个 Python 测试框架,可以轻松编写小型、可读的测试,并且可以扩展以支持应用程序和库的复杂功能测试。
在本文结束时,您应该能够实现图中的步骤 2 和 3,但需要注意的是,您是在本地计算机上而不是 Jenkins 上,但这是实现我们最终目标的过程的一部分,所以让我们继续现在很简单。
要安装并运行一个简单的 Pytest 项目,您只需要使用 Python 即可开始。要在本地计算机上安装 Python,我们建议您下载与您的操作系统匹配的Python 3.10.x发行版并按照安装向导说明进行操作。为了确保安装成功,请尝试从命令行执行命令python --version
,pip --version
它们应该输出其版本。
我们有一个简单的示例项目,您可以从我们的自动化框架集成 GitHub 存储库克隆或下载。测试文件位于测试文件夹中,通过打开test_sum.py文件,您可以看到非常简单的测试,这些测试添加数字并断言预期结果。
import pytestdef test_sum_two_numbers(): assert 1 + 1 == 2def test_sum_two_decimals(): assert 0.8 + 0.3 == 1.2@pytest.mark.parametrize("test_input,expected", [("3+5", 8), ("2+4", 6)])def test_sum_multiple_numbers(test_input, expected): assert eval(test_input) == expected
要安装该项目,您只需在您的首选终端上运行以下命令即可。如果您打开requests.txt文件,您会注意到该项目的唯一依赖项实际上是 Pytest,因此这就是您将要安装的全部内容。
$ pip install -r "requirements.txt"
最后,要运行测试,请在终端上执行以下命令,您应该会实时看到执行输出,类似于下图。
$ pytest "./tests"
您刚刚在本地计算机上设置并执行了自动化测试项目,您可以根据需要多次执行它并根据您的需求进行自定义。下图描述了您迄今为止所实现的工作流程。
仅在本地计算机上运行自动化测试有一些缺点。其中之一是它们可能会变得依赖于您自己的系统配置,并且相同的执行可能很难在不同的计算机上重现。另一个缺点是组织中的其他人看不到结果。为了规避这两个陷阱,您应该使用 CI 工具(例如 Jenkins)以一致的方式协调自动化测试的执行并发布测试结果。