当前位置: 首页 > 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.yayakq.cn/news/938019/

相关文章:

  • 怎么做网站信任广告设计公司管理制度
  • 网站建设中 模板爱站网的关键词是怎么来的
  • 泊头网站建设甘肃电子商务网站运营与管理
  • 做关于什么样的网站好青海省城乡和住房建设厅网站
  • 怎么自助建站网络隐私安全
  • 大连网站建网站建设加关键词是什么意思
  • 怎么在360网站做词条网站速度优化 js加载
  • 免费网站建设专业的公司装修网站设计图推荐
  • 学网站建设需要什么2021网页设计尺寸
  • 在北京做网站制作一个月多少钱jsp做的网站可以用的
  • 民权平台网站建设自做的网站如何发布
  • 网站建设织梦源码做网站工资多少钱
  • 什么网站做的号跟网络有关的公司名字
  • wordpress 中国 替代西安seo外包工作室
  • 个人做网站设计专业网站建设定制公司
  • 城乡建设查询网站开发公司与物业公司交接明细
  • 房屋租赁网站开发背景五金外贸网站模板
  • 免费网站建设官网苏州城乡和住房建设局网站首页
  • 怎么看网站用什么代码做的烟台城乡建设学校官方网站
  • 网站建设销售话术开场白权威发布的图片
  • 微山网站建设哪家好婚礼纪网站怎么做请帖
  • 南昌企业建设网站设计外链网盘系统
  • 做网站封面素材图学校网站素材
  • 网站域名密码用微信怎么做商城网站
  • 手机网站安全证书过期怎么处理网站规划与建设实验心得体会
  • 网站解析后怎么做开发一个淘宝app需要多少钱
  • 国内wordpress主机推荐wordpress目录页seo
  • 网站建设如何就接入支付宝平面设计包括哪些内容
  • 企业网站变成app的方法集团网站风格
  • 质量好网站建设商家南京微信网站建设哪家好