接口自动化

接口自动化
    一、pytest用例管理框架
        (一)pytest默认规则
            1、py文件必须以test_开头或者_test结尾
            2、类名必须以Test开头
            3、测试用例必须以test_开头
        (二)pytest用例管理框架的作用
            1、发现测试用例:从多个py文件中通过默认的规则去找测试用例
            2、执行测试用例:顺序和条件
            3、判断测试结构:断言
            4、生成测试报告:html,allure、
            5、python:unittest或pytest;java:junit,test
    二、pytest全局观
        (一)它可以和所有的自动化测试工具selenium、requests、appium结合实现web自动化,接口自动化以及app自动化。
        (二)跳过用例以及失败用例重跑
        (三)结合allure生成美观的测试报告
        (四)和jenkins持续集成
        (五)有很多强大的插件
            1、pytest-html  生成html测试报告
            2、pytest-xdist   多线程运行
            3、pytest-ording   改变测试用例的执行顺序
            4、pytest-rerunfailures   失败用例重跑
            5、allure-py生成allure测试报告
            6、一般实际开发当中都会使用requrements.txt文件保存插件名称。然后通过:pip install  -r  requrements.txt
    三、运行方式
        (一)主函数的方式(命令行的方式)
            1、-v   输出更加详细的运行信息
            2、-s   输入调试信息
            3、-n   多线程的运行
            4、--reruns =数字  失败用例重跑
            5、-html=报告的路径
        (二)实际工作中使用pytest.ini的配置文件来配置运行
    四、前后置,夹具
        (一)setup/teardown 在每一个用例之前和之后执行一次
        (二)setup_class/teardown_class  在每一个类之前和之后执行一次
        (三)实现部分的前置
            1、其中一个用例做数据库验证
                部分前置
                    (1)@pytest.fixtrue(scope="作用域",params="数据驱动",autouse="自动执行",ids="自定义参数名",name="重命名)
                        作用域:function、class、module、package、session
                    (2)一般情况下:@pytest.fixtrue 一般会和conftest.py文件一起使用
                        conftest.py  名称是固定的,功能很强大
                            conftest.py   文件是单独存放@pytest.fixtrue()的方法。用处是可以在多个python文件之间共享前置配置
                            conftest.py  里面的方法在调用时不需要导入,可以直接使用
                            conftest.py   可以有多个,也可以有多个不同层级
                    (3) yield  # 可以通过yield 唤醒类似teardown的功能。简单理解就是返回。yield 和return都表示返回数据的意思,只是区分在于,yield返回多次以及多个数据,return只会返回一次,return之后都不会接代码
    五、接口自动化测试框架封装(接口关联的封装)
        (一)一般情况下,我们是通过一个关联的yaml文件来实现
            1、type  根目录下:新建new file 
            2、type  根目录下: 新建python package
            3、common 目录下:yaml_unti.py
    六、pytest 断言 (assert)
    七、pytest 结合allure-pytest 生成allure测试报告
        (一)官网下载allure
            1、放到没有中文的路径下,然后把这个bin目录配置到环境变量的path里面。
            2、在cmd.exe中 运行 allure --version,看到 allure 版本,即表示 allure 命令行工具安装成功
        (二)显示版本号之后,pycharm需要重启
            通过allure --version
        (三)执行命令
            1、生成临时的json文件的报告
                (1)pytest.ini文件  addopts  
                (2)--alluredir ./temp 
            2、通过临时的json文件生成allure 报告
                (1)all.py
                (2) os.system("allure generate ./temp  -o  reports   --clear")
        (四)allure报告的定制
    八、接口自动化测试框架YAML数据驱动的封装
        (一)@pytest.mark.parametrize(args_name,args_value)
            1、args_name:参数名
            2、args_value:参数值(使用list列表,tuple元祖,字典列表,字典元祖)在数据中有多少个值,那么接口用例就会执行多少次。
            3、import pytest


              class TestApi:
              @pytest.mark.parametrize('args', ['百里', '星瑶', '依然'])
              def test_api(self,args):
              print("百里")

              if __name__ == '__main__':
               pytest.main(['test_api.py'])
    九、yaml 详解

上一篇:Jenkins上实现Python + Jenkins + Allure Report 接口自动化测试持续集成,并生成allure-report测试报告


下一篇:记录下我磕磕碰碰的三个月找工作经历,你掌握了多少?