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

Python中如何运行一个自动化测试任务

发布时间:2024-01-12 09:55:11

在Python中,可以使用多种工具和库来运行自动化测试任务。下面是一个使用pytest和selenium库运行Web应用程序测试的例子。

首先,安装pytest库和selenium库:

pip install pytest selenium

然后,创建一个测试文件,例如test_login.py:

import pytest
from selenium import webdriver

# 使用fixture装饰器创建一个函数,用于初始化测试环境
@pytest.fixture
def browser():
    # 创建一个Chrome浏览器实例
    driver = webdriver.Chrome()
    # 隐式等待3秒钟,确保页面加载完全
    driver.implicitly_wait(3)
    # 返回浏览器实例
    yield driver
    # 测试完成后关闭浏览器
    driver.quit()

# 使用pytest.mark.parametrize装饰器创建多个测试用例
@pytest.mark.parametrize("username, password", [("admin", "admin123"), ("user", "password")])
def test_login(browser, username, password):
    # 打开登录页面
    browser.get("http://example.com/login")
    # 输入用户名和密码
    browser.find_element_by_id("username").send_keys(username)
    browser.find_element_by_id("password").send_keys(password)
    # 点击登录按钮
    browser.find_element_by_id("login-button").click()
    # 验证登录成功后的页面
    assert browser.title == "Homepage"

# 运行所有测试用例
pytest.main()

在上述代码中,首先使用@pytest.fixture装饰器创建了一个browser函数,该函数在每个测试用例运行之前被调用,用于初始化浏览器实例。yield关键字可以将浏览器实例返回给测试用例,并在测试用例运行完毕后执行清理工作。

然后,使用@pytest.mark.parametrize装饰器创建了一个带多个参数的测试用例 test_login,每次运行测试用例时会传入不同的参数组合。

在测试用例中,首先打开登录页面,并使用find_element_by_id方法找到用户名和密码输入框,然后使用send_keys方法输入用户名和密码。接着,使用find_element_by_id方法找到登录按钮,并使用click方法点击登录按钮。最后,使用assert语句验证是否成功登录,即页面标题是否为"Homepage"。

最后,使用pytest.main()方法运行所有的测试用例。

运行测试任务时,可以直接在命令行中运行测试文件:

python test_login.py

以上就是一个简单的Python自动化测试任务的例子。根据实际需求,可以使用不同的工具和库来编写自动化测试任务,例如unittest、Robot Framework等,或者结合其他的测试框架和持续集成工具,来实现更复杂的自动化测试任务。