加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

pytest参数化

发布时间:2020-12-14 14:48:18 所属栏目:百科 来源:网络整理
导读:Pytest可以在多个级别上实现测试参数化 一.@pytest.fixture装饰器调用参数 示例 import pytest from selenium webdriver from time sleep @pytest.fixture(scope = " module " ,params=[ python java " ]) def modarg(request): param = request.param # pri

Pytest可以在多个级别上实现测试参数化

一.@pytest.fixture装饰器调用参数

示例

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()

执行:

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读