欢迎访问宙启技术站
智能推送

使用Python中的run()函数编写自动化测试脚本的实例讲解

发布时间:2024-01-02 11:33:35

在Python中,run()函数是用于执行外部命令的一个函数,可以用于编写自动化测试脚本。下面是一个示例,演示了如何使用run()函数来执行一个简单的测试用例。

首先,我们需要导入subprocess模块,它包含了run()函数的定义:

import subprocess

接下来,假设我们要编写一个测试用例,测试一个名为"addition.py"的Python脚本,该脚本接受两个整数作为输入,并输出它们的和。我们要测试的功能是,当输入两个整数时,脚本能够正确输出它们的和。

以下是"addition.py"的代码:

def addition(a, b):
    return a + b

if __name__ == "__main__":
    a = int(input("Enter the first number: "))
    b = int(input("Enter the second number: "))
    result = addition(a, b)
    print("The sum is:", result)

现在我们可以编写一个测试脚本来自动化测试这个脚本。脚本的核心就是使用run()函数执行外部命令,将脚本作为参数传递给run()函数。

以下是测试脚本的代码:

def test_addition(a, b, expected_result):
    # 构建命令行参数
    command = ["python", "addition.py"]
    # 将测试数据作为参数传递给被测试脚本
    command.append(str(a))
    command.append(str(b))

    # 执行命令,并捕获输出结果
    result = subprocess.run(command, capture_output=True, text=True)

    # 检查输出结果是否与期望结果一致
    if result.stdout.strip() == expected_result:
        print("Test passed!")
    else:
        print("Test failed!")

# 执行测试用例
test_addition(2, 3, "The sum is: 5")
test_addition(-2, 5, "The sum is: 3")
test_addition(0, 0, "The sum is: 0")

在上面的测试脚本中,我们定义了一个名为test_addition()的函数,它接受两个整数和一个期望结果作为参数。脚本的主体部分构建了一个命令行参数列表,其中包括被测试脚本的名称和输入参数。然后,使用run()函数执行命令,并捕获输出结果。最后,比较输出结果和期望结果,判断测试用例是否通过。

最后,我们调用test_addition()函数,传入不同的测试数据和期望结果进行测试。根据输出结果,我们可以判断每个测试用例是通过还是失败。

总结一下,使用Python中的run()函数可以方便地编写自动化测试脚本。通过执行外部命令,我们可以模拟用户输入,并捕获输出结果,进而判断测试用例是否通过。这使得我们可以轻松地自动化执行一系列测试用例,并快速发现和解决问题。