重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如何使用Python编写自动化测试脚本?
公司主营业务:做网站、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出南召免费做网站回馈大家。
随着软件行业的不断发展,自动化测试已经成为了软件测试的重要组成部分。它可以帮助我们节省很多时间和人力,提高测试效率,使测试工作更加快捷、稳定和精准。而Python作为一门优秀的编程语言,其强大的数据处理能力和丰富的第三方库,也成为了自动化测试的首选语言。
本文将为大家分享如何使用Python编写自动化测试脚本,包括以下技术知识点:
1. Python的基础语法和数据结构
2. Selenium库的使用
3. Pytest框架的使用
首先,我们需要安装Python和相应的库。在Python官网下载安装包,并在命令行中使用pip安装Selenium和Pytest库:
pip install seleniumpip install pytest接下来,我们开始编写自动化测试脚本。以一个网站的登录功能为例,我们需要实现如下几步:
1. 打开浏览器并进入网站的登录页面
2. 输入用户名和密码
3. 点击登录按钮
4. 验证登录是否成功
下面是完整的代码实现:
`python
import pytest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
@pytest.fixture()
def browser():
driver = webdriver.Chrome()
driver.get("http://example.com/login")
yield driver
driver.close()
def test_login_success(browser):
username = browser.find_element_by_name("username")
password = browser.find_element_by_name("password")
login_button = browser.find_element_by_name("login")
username.send_keys("testuser")
password.send_keys("testpassword")
login_button.click()
assert "登录成功" in browser.page_source
def test_login_failure(browser):
username = browser.find_element_by_name("username")
password = browser.find_element_by_name("password")
login_button = browser.find_element_by_name("login")
username.send_keys("wronguser")
password.send_keys("wrongpassword")
login_button.click()
assert "用户名或密码错误" in browser.page_source
首先,我们使用pytest中的fixture装饰器定义一个browser函数,它会被每个测试函数调用。在这个函数中,我们使用Selenium库的webdriver模块打开浏览器,并进入网站的登录页面。yield关键字表示生成器的返回值,并在测试完成后关闭浏览器。接下来,我们编写两个测试函数,分别是test_login_success和test_login_failure。这两个函数中,我们使用Selenium库的find_element_by_name方法定位到网页中的用户名、密码和登录按钮,并模拟用户的输入和点击操作。然后,我们使用assert语句验证登录是否成功或失败。最后,我们在命令行中使用pytest运行测试脚本:pytest test_login.py
执行结果如下:================================== test session starts ==================================
platform win32 -- Python 3.7.3, pytest-5.3.1, py-1.8.0, pluggy-0.13.1
rootdir: D:\test
collected 2 items
test_login.py .F [100%]
======================================== FAILURES ========================================
________________________________ test_login_failure _________________________________
browser =
def test_login_failure(browser):
username = browser.find_element_by_name("username")
password = browser.find_element_by_name("password")
login_button = browser.find_element_by_name("login")
username.send_keys("wronguser")
password.send_keys("wrongpassword")
login_button.click()
> assert "用户名或密码错误" in browser.page_source
E AssertionError: assert '登录成功' in '
用户名或密码错误
'test_login.py:20: AssertionError
================================== short test summary info ==================================
FAILED test_login.py::test_login_failure - AssertionError: assert '登录成功' in '