0
点赞
收藏
分享

微信扫一扫

web自动化6-pytest⑦一些基本情况

c一段旅程c 2024-08-07 阅读 30
  1. 命名规则

    1)import pytest

    测试文件名要以test_ 开头或 _test结尾

    2)类名需要以Test开头(T),不能带有init方法

    3)函数名以test_开头(t)

    符合规则框架才能找到用例,一条用例代表一条函数

  2. pip install pytest

  3. 优点:在内存中回收用例内容

    提高运行效率,不用再次调用方法

    运行方式,pytest.main([])

    pytest.main([“-s”]) 里面可以输入内容,list列表

    pytest.main([“-s”,“-m run”]) -m remark的意思,运行run标签的用例

  4. 跳过用例,

    在方法上面加@pytest.mark.skip
    运行 pytest.main([])

  5. @pytest.mark.run

    @pytest.mark.modelName

    pytest.main([“-s”,“-m modelName”])

  6. 报告生成:pip install pytest-html,使用allure会更好些,也更简单

    生成自带的,modeName的用例报告

    pytest.main([“-s”,“-m modeName”,“–html=report.html”])

  7. 关键函数,setup(),预置条件

  8. 重置环境,teardown()

    pytest.mark.baidu

    def setup_class(self) #类预置条件 ,需要将用例用类进行包裹

    def teardown_class(self) #类重置环境 ,需要将用例用类进行包裹

    setup和teardown操作

    setup在测试函数或类之前执行,完成准备工作,例如:数据库连接、测试数据、打开文件等

    teardown,在测试函数或类之后执行,完成收尾工作,例如:断开数据库、回收内存资源等

  9. 传参

    @pytest.mark.parametrize(‘username,password’),[(‘your’,‘123456’,‘用户名不正确’),(‘you’,‘123456’,‘ok’)]

    思路:

    断言,assert

    封装

    数据与业务抽离,优化

    数据写另外文件

    if __name__ == '__main__':
    	pytest.main(['-sv','test_py.py'])
    
举报

相关推荐

0 条评论