当前位置: 首页 > news >正文

网站建设日程表今天微博热搜前十名

网站建设日程表,今天微博热搜前十名,网站建设模板免费下载,今日军事新闻头条新闻1.关联参数 如何将上一个登录接口返回的token传给下一个接口当做请求参数 参数关联场景:1.登录返回token->2.下一个接口头部传token extract提取变量 &token引用变量config:name:get_joinbase_url:https://xx.xxx.xx.x:8001 teststeps: -name:get_joinreque…

1.关联参数

如何将上一个登录接口返回的token传给下一个接口当做请求参数
参数关联场景:1.登录返回token->2.下一个接口头部传token
extract提取变量
&token引用变量config:name:get_joinbase_url:https://xx.xxx.xx.x:8001
teststeps:
-name:get_joinrequest:method:GETurl:/api/v1/goodsjson:username: 1password: 2extract:token:body.tokenvalidate:- eq:[status_code,200]- eq:[body.code,0]- eq:[body.msg,success]-name:get_userinforequest:method:POSTurl:/api/v1/goodsheaders:Authorization:Token $tokenjson:name:testsex:Mage:20mail:xxx@qq.comvalidate:- eq:[status_code,200]- eq:[body.code,0]- eq:[body.msg,success]

2.环境变量

创建.env文件
base_url=http://
user=test
psw=123456床架yaml文件
config:name:get_joinbase_url:${ENV(base_url)}
teststeps:
-name:get_joinrequest:method:GETurl:/api/v1/goodsvariables:username: ${ENV(user)}password: ${ENV(psw)}extract:token:body.tokenvalidate:- eq:[status_code,200]- eq:[body.code,0]- eq:[body.msg,success]

3.一个测试用例引用第二个测试用例

将登录用例设置成公共用例,其他用例执行前导入此用例
login_case.yamlconfig:name:登录expect:-token
teststeps:
-name:step-loginrequest:method:POSTheader:Content-type:url:https://data:username:adminpassword:"123456"extract:token:body.tokenvalidate:- eq:[status_code,200]- eq:[body.code,0]- eq:[body.msg,success]
updata_info.yamlconfig:name:修改个人信息base_url:https://
teststeps:
-name:step-logintestcase:登录用例的性相对路径
-name:updata_inforequest:method:POSTheaders:Authorization:Token $tokenurl:api/v1/userinfodata:username:adminpassword:"123456"validate:- eq:[status_code,200]- eq:[body.code,0]- eq:[body.msg,success]

4.参数化和数据驱动

参数化是在parameters关键字
适用场景:搜索功能,步骤相同参数不同login_case.yamlconfig:name:登录base_url:https://variables:user:test1psw:"123456"parameters:#user:[test1,test2,test3,test4]   #四个测试用例依次替换user                   user-psw:-[test1,123456]-[test2,123456]-[test3,123456]-[test4,123456]expect:-tokenteststeps:
-name:step-loginrequest:method:POSTheader:Content-type:url:pai/v1/logindata:username:adminpassword:"123456"extract:token:body.tokenvalidate:- eq:[status_code,200]- eq:[body.code,0]- eq:[body.msg,success]

4.参数化引用CSV文件

(1)在yaml/json中直接指定参数列表

该种方式最简单,适合参数列表比较小的情况

(2)通过配置的parameterize函数引用CSV文件

该种方式需要准备csv数据文件,适合数据量比较大的情况

(3)调用debugtalk.py中自定义的函数生成参数列表

该种方式最为灵活,可通过自定义python函数实现任意场景的数据驱动机制,当需要动态生成参数列表时也需要使用该方式

创建user_psw.csvuser,psw
test1,123456
test2,123456
test3,123456login_case.yamlconfig:name:登录base_url:https://variables:user:test1psw:"123456"parameters:  user-psw:${P(以项目的根目录查找导文件入)}expect:-tokenteststeps:
-name:step-loginrequest:method:POSTheader:Content-type:url:pai/v1/logindata:username:adminpassword:"123456"extract:token:body.tokenvalidate:- eq:[status_code,200]- eq:[body.code,0]- eq:[body.msg,success]

5.参数化引用debugtalk函数

创建debugtalk.py文件在根目录下
def get_user_id():return [{"user_id":test1}, {"user_id":test2}, {"user_id":test3}]
def get_user_psw(n):account=[]for i in range(1,n+1):     account.append("user":"test"%i,"psw":"123456")return acccount
def register_user():   user = "test"+str(int(time.time()))return userlogin_case.yaml
config:name:登录base_url:https://variables:user:test1psw:"123456"parameters:  # user_id:${get_user_id()}user-psw:${def get_user_psw(5)}expect:-token

6.注册案例(随机变量)

Eg:

需求:自动化需要多次反复运行账号注册

问题:注册账号,同一个账号只能注册一次

解决思路:注册账号时添加时间(随机变量)或链接数据库删掉此变量

register.yaml
config:name:注册base_url:https://variables:user:%{register_user()}psw:"123456"
teststeps:
-

7.hook机制(step和teardown)

setup_hooks:开始执行前触发hook函数,主要用于请求预处理(签名,加密)

teardown_hooks:执行结束后触发hook函数,主要用于返回处理(解密)

在debugtalk.py中写两个函数def srtup_hook():print("srtup_hook")def teardown_hook():print("teardown_hook")def request_sign(request):#请求预处理,将body中带上签名参数body = request.get('req_json')sign="sign"body["sigin"]=signrequest[req_json]=bodydef response_status(response):#对返回的结果进行处理,将状态码改成203response.status_code = 203login_case.yaml
config:name:登录base_url:https://variables:user:test1psw:"123456"parameters:  user-psw:${P(以项目的根目录查找导文件入)}expect:-tokenteststeps:
-name:step-loginrequest:method:POSTheader:Content-type:url:pai/v1/logindata:username:adminpassword:"123456"setup_hooks:-${def srtup_hook()}-${def request_sign($request)} tear_hooks:-${def teardown_hook()}-${def response_status($response)} extract:token:body.tokenvalidate:- eq:[status_code,200]- eq:[body.code,0]- eq:[body.msg,success]

8.sign签名案例

9.文件上传

upload关键字上传文件upfile.yaml
config:name:上传文件base_url:http://
teststeps:
-name:step-上传文件request:url:/api/v1/upfile/method:POSTupload:file:根目录地址title:文件

10.测试结果校验数据库状态

Eg:

修改商品信息接口,修改商品状态后,校验数据库对应的goodsstatus状态有没有更新成功

updata_goods_fromsql.yamlconfig:name:修改商品用例base_url:http://variables:sp_id:1goodsname:yoyo...merchantid:"1001"price:21.0
teststeps:
-name:step-修改商品request:url:/api/v1/goods/method:PUTjson:goodname:$goodnamegoodcode:$goodcode...price:$price

http://www.yidumall.com/news/69281.html

相关文章:

  • 青岛网站设计皆挺青岛博采网络石嘴山网站seo
  • 网站设计项目计划书360营销
  • 平邑建设银行网站大地seo
  • p2p网站如何做推广seo营销策划
  • 网站地图制作怎么做莆田百度快照优化
  • 织梦网站需要付费吗抖音营销
  • 网站主机名app拉新推广项目
  • 汕头做网站中国新闻
  • 有哪些网站可以做电子邀请函搜索引擎排名的三大指标
  • 自学网官网沈阳优化推广哪家好
  • 天元建设集团有限公司破产seo主要做什么
  • 设计师接单的网站免费seo免费培训
  • 环保网页设计素材seo快速排名利器
  • 网页模板下载哪个网站好百度关键词多少钱一个月
  • 电商公司的网站设计书深圳关键词推广排名
  • 网站建设说明书抖音代运营大概多少钱一个月
  • 网站建设 服务内容 费用全国新闻媒体发稿平台
  • 网站站开发 流量百度推广一级代理商名单
  • 个人网站域名怎么起微信推广朋友圈广告
  • 详情页设计理念一键优化清理手机
  • 小程序商城开发说明济南seo优化公司
  • 长春可做微网站的公司上海公关公司
  • 上海展台设计搭建seo 专业
  • 大智慧手机版官方下载网站seo基础
  • 网站不能自行备案吗会计培训班的费用是多少
  • 衢州 网站建设百度官网app下载
  • html模板网站推荐腾讯中国联通
  • 网站建设图片上传操作自创网站
  • 旅游网站模板psd谷歌搜索引擎seo
  • 化工企业网站模板 aspx厦门网络推广