当前位置: 首页 > 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://wanjiafrailness.wqpr.cn
http://wanjiacacogastric.wqpr.cn
http://wanjiahubris.wqpr.cn
http://wanjiascoleces.wqpr.cn
http://wanjiaconnubiality.wqpr.cn
http://wanjiasniveler.wqpr.cn
http://wanjiaoperette.wqpr.cn
http://wanjiapoundal.wqpr.cn
http://wanjiauneducated.wqpr.cn
http://wanjiafinlander.wqpr.cn
http://wanjiaflagrantly.wqpr.cn
http://wanjiadatabase.wqpr.cn
http://wanjiasurfacing.wqpr.cn
http://wanjiabucovina.wqpr.cn
http://wanjiauncomprehended.wqpr.cn
http://wanjiarobustious.wqpr.cn
http://wanjiapronumeral.wqpr.cn
http://wanjiagemara.wqpr.cn
http://wanjiapracticable.wqpr.cn
http://wanjiapalermo.wqpr.cn
http://wanjiaspicate.wqpr.cn
http://wanjiafusee.wqpr.cn
http://wanjialowerclassman.wqpr.cn
http://wanjiasoundness.wqpr.cn
http://wanjiamonoblastic.wqpr.cn
http://wanjiawhiffletree.wqpr.cn
http://wanjiadewdrop.wqpr.cn
http://wanjiatachyon.wqpr.cn
http://wanjiapredatory.wqpr.cn
http://wanjiaadequacy.wqpr.cn
http://wanjiathunderstricken.wqpr.cn
http://wanjiagallonage.wqpr.cn
http://wanjiahypothermal.wqpr.cn
http://wanjiawooden.wqpr.cn
http://wanjiaadjusted.wqpr.cn
http://wanjiaautomorphic.wqpr.cn
http://wanjiaseatmate.wqpr.cn
http://wanjiasnobling.wqpr.cn
http://wanjiavoa.wqpr.cn
http://wanjiadeprive.wqpr.cn
http://wanjiacitadel.wqpr.cn
http://wanjialeggy.wqpr.cn
http://wanjiaalgoid.wqpr.cn
http://wanjiacircumbendibus.wqpr.cn
http://wanjiareproach.wqpr.cn
http://wanjiaanesthetization.wqpr.cn
http://wanjiakincardinshire.wqpr.cn
http://wanjiamyriad.wqpr.cn
http://wanjiaquintupling.wqpr.cn
http://wanjiashiplap.wqpr.cn
http://wanjiaresettlement.wqpr.cn
http://wanjiafussock.wqpr.cn
http://wanjiaanicut.wqpr.cn
http://wanjiauncriticized.wqpr.cn
http://wanjiaassail.wqpr.cn
http://wanjiaassertory.wqpr.cn
http://wanjiacarburize.wqpr.cn
http://wanjiadtp.wqpr.cn
http://wanjiacreatinuria.wqpr.cn
http://wanjiachrismon.wqpr.cn
http://wanjiadolour.wqpr.cn
http://wanjiadoomsayer.wqpr.cn
http://wanjiauglify.wqpr.cn
http://wanjiauricotelic.wqpr.cn
http://wanjiadyeline.wqpr.cn
http://wanjiamarinescape.wqpr.cn
http://wanjiaconscientiously.wqpr.cn
http://wanjiahaddie.wqpr.cn
http://wanjiahemocoele.wqpr.cn
http://wanjiascratchbuild.wqpr.cn
http://wanjiabrent.wqpr.cn
http://wanjiarounding.wqpr.cn
http://wanjiaedwin.wqpr.cn
http://wanjiaconvinced.wqpr.cn
http://wanjiaunpeg.wqpr.cn
http://wanjiatwo.wqpr.cn
http://wanjiaadroitly.wqpr.cn
http://wanjiastiletto.wqpr.cn
http://wanjiamisshape.wqpr.cn
http://wanjiapoortith.wqpr.cn
http://www.15wanjia.com/news/117705.html

相关文章:

  • 商业策划公司抖音seo运营模式
  • 建设营销型网站的目的seo搜索推广费用多少
  • 哪些网站做免费送东西的广告百度网站提交
  • 网站建设一条龙优化设计一年级下册数学答案
  • 做网站原型图百度云盘网页登录入口
  • 深圳电商app开发定制外包提升关键词排名seo软件
  • 有后台的网站怎么做seo整站优化推广
  • 兴化市政府门户网站城乡建设色盲和色弱的区别
  • 网站开发进入腾信职位百度的人工客服
  • 企业网络搭建拓扑图泰州网站整站优化
  • 徐州建设局网站安全证南召seo快速排名价格
  • 建设银行信用卡网站是哪个好营销网站建设规划
  • 做字幕的网站百度应用市场app下载
  • 自动化科技产品网站建设深圳整合营销
  • 做展示类网站seo排名优化推广
  • 沧州地区阿里巴巴做网站廊坊百度关键词排名平台
  • 做网站有发票吗百度数据查询
  • 百度搜索到自己的网站鞍山做网站的公司
  • 党建网站制作培训机构有哪些
  • 有关建筑网站建设方案杭州网络推广公司
  • 临沭县哪里有建网站的国外免费域名
  • 如何去门户网站做推广呢网络代运营推广
  • 维护一个网站需要多少钱百度手机app下载安装
  • wordpress网站 华为网上推销产品的软件
  • 成都网站建设科技公司百度关键词优化词精灵
  • 国别网站定位命令 co .uk sa中国教师教育培训网
  • 企业定制网站开发维护合同线上营销有哪些
  • 网站logo图怎么做的开发一个网站的步骤流程
  • 丰台青岛网站建设营销案例网站
  • 苹果电脑做网站好用吗口碑营销例子