首页 > 其他分享 >pytest用例管理框架

pytest用例管理框架

时间:2022-12-25 00:11:06浏览次数:34  
标签:框架 url rep token TestSendRequest 用例 json pytest data

先安装pip install pytest

pytest用例管理框架

默认规则:

1.py文件必须以test_开头或者_test结尾

2.类名必须以test开头

3.测试用例必须以test_开头

 

get 请求通过params传递参数

post请求通过json或者data传参

 

data

数据报文:dict字典类型,请求头:application/x-www-form

以form表单的方式传参   格式:id=3&sn=ed24aw

数据报文:str类型,请求头:text/plain

data只能传简单的只有键值对的dict或者是str格式

 

json

数据报文:不管是dict还是str类型,application/json

data=json.dumps(data)   序列化,把字典格式的数据转化为字符串的数据

json.loads(data)              反序列化,把str格式转化为字典格式

 

import requests
class TestSendRequest: #Test开头的类
  token=""         #把token设为全局变量,也称类变量,通过类名来访问TestSendRequest.token
  cks =""
  session = request.session()

  def test_login(self):  #Test_开头的测试用例
    url = "……" 
data = { "key":"value" "key":"value" "key":"value" }
rep = session.request("get",url=url,params=data) #传入接口路径和接口参数 #这样去发送请求时就会得到一个response响应
       print(rep.json()) #查看接口文档的响应数据是什么格式 #返回一个token值,是一个键值对 
    TestSendRequest.token =rep.json()['token'] #通过这个键取到这个值

  def test_patch_mecharmId(self):
    url = "…… token="+TestSendRequest.token+""
    data = {"SN":"","ID":"32"}
    rep =
session.request("post",url=url,json=data) # data=json.dumps(data) 序列化,把字典格式的数据转化为字符串的数据 #post可传URL,data,json等    print(rep.json()) 
    TestSendRequest.cks =rep.cookies

  def test_file_upload(self):
    url =
"…… token="+TestSendRequest.token+""
    data = {
      "file":open(r"E:\SHU.png":"rb") #以二进制的形式打开
}
    headeres = {              #有请求头时
      "Accept":"application/json,text/javascript"
      "x-Requested-with":"XMLHttpRequest"
}
    rep =session.request("post",url=url,files=data,headers=headers,cookies=TestSendRequest.cks) #需要cookies鉴权时
    print(rep.json())


if _name_=='_main_':   #写个main方法运行
 pytest.main(['-vs'])

 

    
    





 

标签:框架,url,rep,token,TestSendRequest,用例,json,pytest,data
From: https://www.cnblogs.com/xiaoshu1/p/17003580.html

相关文章