微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pytest-学习笔记-脚本封装

pytest-学习笔记-脚本封装

=========================================》pytest脚本的封装小结《===========================================
1、类封装准备工作:
    封装脚本之前需要先跑通脚本
    创建pytest文件:需要以'test_'开头
    创建类:
        需要:class Test_   开头
        一般而言一个测试对象一个类
    创建方法:
        test_  开头
        执行顺序按照ascii码顺序执行:
2、pytest脚本优化(释放冗余的代码)
    前置方法:
        每个测试方法都需要提前处理
        初始化方法:setup_method():
    数据驱动技术:
        标签:@pytest.mark.parametrize()
        或者使用yaml等数据存储库
    后置方法方法完成之后的回收工作
            teardowm_method():
3、pytest的运行方式
    pycharm运行  设置pytest方式
    命令运行      pytest -s 需要运行的文件名称::可以跟class或者class下的方法
    __main__方法运行
        if __name__ == '__main__':
            pytest.main(['-s','文件名'])


==============================================》结束《================================================
import pytest
一、setup初始化操作
pytest -s 文件名称 :执行指定的文件输出打印语句
定义一个函数setup_method():内容就是初始化的部分,比如说登陆,下面每次执行其他的方法之前都会执行一下setup方法
setup_method()方法的作用于在当前的类里面class
class Test_login():
    def setup_method(self):
        self.url = 'https://www.baidu.com'
    def test_login_01(self):
        # 引用其他函数里面的参数可以使用self.url
        print(self.url)
    def test_login_02(self):
        print('这是第二个')

二、pytest参数化:数据驱动--
@pytest.mark.parametrize('参数名','参数值')多个的时候使用(1,2,3,4,5,6)
@pytest.mark.parametrize('a',(1,2,3,4))
@pytest.mark.parametrize('a,b,c',([1,2,3],[5,6,7],[9,7,5],[7,8,9]))
下面的函数自动调用的时候会循环调用执行

# 通过main函数执行pytest文件
if __name__ == '__main__':
    pytest.main(['-s','文件名称']) #[里面是命令,使用“,”隔开]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐