pytest入门[3]

目录

一、@pytest.mark.parametrize()基本用法

二、YAML文件详解---实现接口自动化

三、接口测试以及接口自动化的行业

四、requests库简介

五、全面的认识requests库

六、pytest框架管理测试用例

七、必须带请求头,需要正则表达式提取(接口关联),处理cookie鉴权以及session鉴权


一、@pytest.mark.parametrize()基本用法

@pytest.mark.parametrize(args_name,args_value)

args_name:参数名

args_value:参数值(列表,元组,字典列表,字典元组),有多个值用例就会执行多少次

二、YAML文件详解---实现接口自动化

1.用于全局的配置文件 ini、yaml

2.用于写测试用例(接口测试用例)

yaml简介:

yaml是一种数据格式,支持注释、换行、多行字符串、裸字符串(整型,字符串)

语法规则:

1.区分大小写

2.使用缩进表示层级,不能使用tab键缩进,只能用空格(和python一样)

3.缩进没有数量,只要前面是对齐的就行

4.注释是#

数据组成

1.Map对象,键值对 键(空格)值

msxy:

name:百里

age:18

一行的写法:msxy:{name:百里,age:18}

2.数组(list),用一组横线开头

三、接口测试以及接口自动化的行业

目前主流:(只适用于中小型的项目)

Postman+newman+git/svn+Jenkins

Jemeter+Ant+git/svn+Jenkins

弊端:

1.敏捷开发时代,接口数量巨大,工具无法做到团队协作和版本控制

2.功能写死了,对于一些复杂的接口(自定义加密以及签名接口)

3.项目里面有多种协议的接口:http,webservice,websocket,dubbo

4.排错,定位问题

5.和甲方对接没有美观的HTML报告

6.多接口串联,数据库连接,日志监控。

7.有些公司既要做接口自动化,又要做web自动化,接口+web结合

四、requests库简介

python第三方库,主要用于做接口自动化测试。

pip install requests

五、全面的认识requests库

请求:

requests.get()     get请求,通过params传参
requests.post()    post请求,通过data=None
   1.使用data传参:
     参数是dict类型,那么请求头Content-Type:application/x-www-urlencoded,表示通过表单传参
     格式:a=1&b=2
     参数是str类型:Content-Type:text/plain
     
     重要的请求头:
     Content-Type:传值的内容的格式
        application/x-www-urlencode:表单
        multipart/form-data:表单里面有文件上传
        text/plain文本
        binary:二进制文件
     Accept:客户端接收的数据格式
     X-Requested-With:异步请求
     User-Agent:客户端的用户类型
     Cookie:Cookie信息

    2.使用json传参:
    不管参数是dict或者str,Content-Type:application/json  格式:{"a":1,"b":2}
    
    总结:data传参要么传只有键值对的dict,要么传str,json传参一般都是dict,可以是键值对的,也可以是非键值对的。

requests.put()     put请求
requests.delete()  delete请求
requests.request()
  method:请求方式
  url:请求路径
  params:get方式传参
  data:post方式传参
  json:post方式传参
  headers:请求头
  cookies:cookie关联
  files:文件上传

响应:

res.json() #把返回值转化成一个dict对象
res.text   #把返回值转化成文本
res.content  #把返回值转化成字节类型数据
res.status_code #返回码
res.reason #返回信息
res.cookies #返回cookie信息
res.encoding #编码格式
res.headers #响应头
res.request.method #request包含所有请求数据

六、pytest框架管理测试用例

默认的测试用例的规则:

1.模块名必须以test_开头或_test结尾

2.测试类必须以Test开头

3.测试方法必须以test_开头

字符串和字典之间的转换

json.loads() #把json字符串转换成dict格式
json.dumps() #把dict格式转换成json字符串

七、必须带请求头,需要正则表达式提取(接口关联),处理cookie鉴权以及session鉴权

re.search() #使用正则表达式取值

接口自动化测试框架训练营大纲

1.第三方模块requests之常用方法及Response对象属性和方法详解

2.第三方模块requests之发送get请求,post请求,以及post请求中data和json传参方式的区别,文件上传接口案例实战。

3.第三方模块requests之对于cookie鉴权以及session鉴权的处理。

4.pytest测试框架简介,默认测试用例规则,运行方式详解以及前后置夹具应用处理。

5.Pytest框架之@pytest.fixture装饰器以及通过conftest.py文件实现全局前置应用。

6.Pytest实现接口自动化断言以及结合allure-pytest插件生成企业级Allure测试报告

7.接口自动化测试框架之Pytest+@pytest.mark.parametrizes()+Yaml实现接口

8.接口自动化测试框架之请求封装以及接口关联框架封装

9.接口自动化测试框架之集成Jenkins实现CI持续集成构建接口自动化生态体系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值