Pytest可以在多个级别上实现测试参数化
一[email protected]装饰器调用参数
示例
import pytest from selenium webdriver from time sleep @pytest.fixture(scope="module",params=[pythonjava"]) def modarg(request): param = request.param # print(f"setup modarg {param}") yield param print(f"teardown modarg {param}") test_login(modarg): dr = webdriver.Chrome() dr.get('https://www.baidu.com') dr.find_element_by_id(kw).send_keys(modarg) dr.find_element_by_id(su).click() sleep(2) print(modarg) dr.quit()
执行:
pytest -v -s xxx.py
二. @pytest.mark.parametrize
:参数化测试功能
示例1
sleep @pytest.mark.parametrize( username,[ ] ) test_login(username): dr =).send_keys(username) dr.find_element_by_id((username) dr.quit()
执行方式同上!
多参数示例2:
username,passwordadminadmin123),(guestguest123 test_login(username,password): dr = webdriver.Chrome() dr.maximize_window() dr.get() js = document.querySelector('#u1 > a.s-top-login-btn.c-btn.c-btn-primary.c-btn-mini.lb').click() dr.execute_script(js) sleep(1) js1 = document.querySelector('#TangrAM__PSP_11__footerULoginBtn').click() dr.execute_script(js1) sleep(1TangrAM__PSP_11__userNameTangrAM__PSP_11__password).send_keys(password) js2 = document.querySelector('#TangrAM__PSP_11__submit').click() dr.execute_script(js2) sleep(2(username) (password) dr.quit()
执行:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。