pytest.mark.parametrize()参数化的应用一

 1 from page.LoginPage import Loginpage
 2 import os, sys, pytest
 3
 4 base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 5 sys.path.append(base_dir)
 6
 7
 8 class TestLogin():
 9
10     @pytest.mark.parametrize(
11         "name, password",
12         [(‘admin‘, ‘admin‘),
13          (‘jack‘, ‘123456‘),
14          (‘abc‘, ‘123456‘)
15          ],
16         ids=[‘admin登录成功‘, ‘jack登录成功‘, ‘用户名错误失败‘]
17     )
18     def test_case(self, browser, name, password, base_url=None):
19         obj = Loginpage(browser)
20         obj.get("http://192.168.117.9:8080/jforum/forums/list.page")
21         obj.user_bix.send_keys(name)
22         obj.pwd_bix.send_keys(password)
23         obj.submit.click()
24         if name != "abc":
25             assert obj.assert_succeed.text == "个人资料"
26             obj.userout.click()
27         else:
28             assert obj.assert_fialed.text == "您输入了无效的用户名或错误的密码"
29
30
31 if __name__ == "__main__":
32     pass

原文地址:https://www.cnblogs.com/97xiaolai/p/11811961.html

时间: 2024-10-09 09:52:12

pytest.mark.parametrize()参数化的应用一的相关文章

使用@pytest.mark.parametrize进行参数传递测试

摘自:https://blog.csdn.net/sunny_happy08/article/details/83658661 最近因工作需要用到@pytest.mark.parametrize()传多个参数,实现执行不同数据. 我的需求数据源是excel,excel的每一行都是一条测试用例,已实现读取测试用例和处理测试用例的逻辑.接下来就是将这些测试数据通过pytest.mark.parametrize()传入测试函数,循环执行这些测试数据,每次执行时都需要assert用例结果, 以便将测试结

Pytest进阶之参数化

前言 unittest单元测试框架使用DDT进行数据驱动测试,那么身为功能更加强大且更加灵活的Pytest框架怎么可能没有数据驱动的概念呢?其实Pytest是使用@pytest.mark.parametrize装饰器来实现数据驱动测试的,那么今天我们就简单来说说在它是如何进行数据驱动测试的 单个参数 """ ------------------------------------ @Time : 2019/7/25 19:18 @Auth : linux超 @File : t

pytest 用 @pytest.mark.usefixtures("fixtureName")或@pytest.fixture(scope="function", autouse=True)装饰,实现类似setup和TearDown的功能

conftest.py import pytest @pytest.fixture(scope="class") def class_auto(): print("") print("class-begin") yield print("class-end") test_autouse.py 1 import pytest 2 3 4 @pytest.mark.usefixtures("class_auto"

标签不生效的处理方法:PytestUnknownMarkWarning: Unknown pytest.mark.wallet - is this a typo?...

今天在写代码的过程中遇到了这样一个warning:PytestUnknownMarkWarning: Unknown pytest.mark.test - is this a typo? 处理办法: 参考文档:https://docs.pytest.org/en/latest/mark.html 单个标签的话: 在contest里面添加代码: def pytest_configure(config): config.addinivalue_line( "markers", "

解决PytestUnknownMarkWarning: Unknown pytest.mark.welcome - is this a typo? You can register custom marks to avoid this warning

在项目下新建一个pytest.ini的配置文件,里面如下配置即可.markers=后面是标签名,如有多个,第二个开始要换行,且要缩进,不然会报错 [pytest] markers=welcome login 原文地址:https://www.cnblogs.com/my_captain/p/12704370.html

pytest 8 参数化parametrize

pytest.mark.parametrize装饰器可以实现用例参数化 1.以下是一个实现检查一定的输入和期望输出测试功能的典型例子 import pytest @pytest.mark.parametrize("test_input,expected",[("3+5",8),("2+4",6),("6*9",42)]) def test_add(test_input,expected): assert eval(test_i

pytest文档9-参数化parametrize

前言 pytest.mark.parametrize装饰器可以实现测试用例参数化. parametrizing 1.这里是一个实现检查一定的输入和期望输出测试功能的典型例子 # content of test_expectation.py # coding:utf-8 import pytest @pytest.mark.parametrize("test_input,expected", [ ("3+5", 8), ("2+4", 6), (&

pytest.10.使用fixture参数化测试预期结果

From: http://www.testclass.net/pytest/test_api_with_expected_result/ 背景 接上一节v2ex网站的查看论坛节点信息的api. 我们在上一节的测试用例里只断言了返回值的name字段必须与我们传入的入参相同,但是返回值的id却没有进行判定.这一节里我们加强一下测试脚本,实现判断id的功能. 测试数据 python, id=90 java, id=63 nodejs, id=436 go, id=375 代码实现 在v2ex_api_

pytest文档14-函数传参和firture传参数request

前言 为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数. 比如登录操作,大部分的用例都会先登录,那就需要把登录单独抽出来写个函数,其它用例全部的调用这个登陆函数就行. 但是登录的账号不能写死,有时候我想用账号1去登录,执行用例1,用账号2去登录执行用例2,所以需要对函数传参. 登录函数传参 把登录单独成立,写一个函数,传2个参数user和psw,写用例的时候调用登录函数,输入几组user,psw参数化登录用例 测试用例传参需要用装饰器@pytest.mark.p