一、接口自动化测试框架

基于pytest单元测试框架,默认测试用例的规则:
1.模块名(py文件)必须以test_开头或_test结尾。
2.类名必须Test开头
3.用例名必须以test_开头

一、pytest框架插件:

  • pytest-html 生成html报告插件
  • pytest-xdist 多线程
  • pytest-ordering 标记测试用例的执行
  • pytest-rerunfailures 失败用例重跑
  • pytest-base-url 管理基础路径
  • allure-pytest 生成allure报告

执行的方式

if __name__ == '__main__':
    pytest.main(["-vs"])

  执行时的参数

  • -v  输出更消息的信息
  • -s  输出调试信息(如打印)
  • -n  多线程运行测试用例
  • reruns  失败用例重跑
  • -html  生成html报告

使用requirements.txt文件保存,并运行pip install -r requirements.txt

二、详解ruquests:

def get(url, params=None, **kwargs):
def post(url, data=None, json=None, **kwargs):
def put(url, data=None, **kwargs):
def patch(url, data=None, **kwargs):
def delete(url, **kwargs):
def head(url, **kwargs):
def options(url, **kwargs):
def request(method, url, **kwargs):

三、执行用例时前置后置的处理
#第一种:

class Testlogin():

    def setup_class(self):
        print("类之前执行")

    def teardown_class(self):
        print("类之后执行")

    def setup(self):
        print("用例之前执行")

    def teardown(self):
        print("用例之后执行")

#第二种 fixture
#装饰器:@pytest.fixture(scope=“”,params=“”,autouse=“”,ids=“”,name=“”)
scope : 作用域
  **function(函数,用例,默认)
  class(类)
  module(模块)
  package / session(回话)
params : 数据驱动
autouse : 自动作用 / 手动作用
  true(自动调用) false(手动调用,需要传入固件名称)
  手动调用方式: @pytest.mark.usefixtures(exe_assert)

ids : 当数据驱动时更改参数名
name : fixture的别名

@pytest.fixture(scope="function",autouse=False,params=read_yaml(),ids=["one","two","three"])

def exe_assert(request):
    print ("查询数据库用于断言")
    yield request.param
    print ("再用例之后 查询数据库用于断言")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值