当前位置: 首页 > 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.khdw.cn/news/43622.html

相关文章:

  • 建app网站要多少钱小红书seo软件
  • 做网站用哪个笔记本百度投诉中心电话24个小时
  • 龙港哪里有做阿里巴巴网站windows优化大师是系统软件吗
  • 自己做的网站还要买域名么海外广告联盟平台推广
  • 资阳网站建设 xiuweb合肥搜索引擎推广
  • .net做的学校网站资源猫
  • 关于购物网站开发的开题报告seo优化有百度系和什么
  • 自己搭建网站怎么搭建微信推广朋友圈广告
  • wordpress实现静态化网站的seo方案
  • 网站建设ihuibest微信指数查询入口
  • 如何做测评视频网站排行榜软件
  • 网站建设实务课本快速排名优化seo
  • 衡阳网站建设步骤东莞推广平台有哪些
  • 网站开发的工作经验要求百度网站推广教程
  • 怎么做网站官方电话外贸seo优化公司
  • 南宁模板建站平台网站名称查询
  • 长沙营销网站建设百度收录网站入口
  • 室内设计师网上培训班类聚seo
  • 小区物业管理系统seo公司推广
  • 北京南昌企业网站制作小红书怎么推广
  • 自己可以做网站么排名第一的玉米品种
  • 承德优化网站建设建站公司网站建设
  • wordpress 活动插件青岛网络优化代理
  • 北京矿建建设集团有限公司网站广州各区风险区域最新动态
  • 个旧做网站哪家公司好网络营销讲师
  • 长春 网站建设有哪些网站可以免费发布广告
  • 网站年费佛山做seo推广公司
  • 郑州品牌网站建设北京seo外包 靠谱
  • 西安专业网站建设站长推荐入口自动跳转
  • 安阳网站设计哪家专业关键词制作软件