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

监利县建设局网站网站技术的解决方案

监利县建设局网站,网站技术的解决方案,html5网站多少钱,贵阳市城乡建设局网站目录#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结#xff08;尾部小惊喜#xff09; 前言 场景说明 在面试… 目录导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结尾部小惊喜 前言 场景说明 在面试接口自动化时经常会问其他接口调用的前提条件是当前用户必须是登录状态如何处理接口依赖 在此之前我们介绍过session管理器保存会话状态。如果接口请求需要携带token那么又如果处理呢 未登录状态下直接请求充值接口的异常场景 import unittest import requests class TestRecharge(unittest.TestCase):def setUp(self):passdef tearDown(self):passdef test_recharge(self):url http://127.0.0.1:8888/rechargepayload {member_id: 100004312,amount: 80}res requests.post(url,jsonpayload)print(res.json()) if __name__ __main__:unittest.main()运行结果如下 {code: 1003, msg: 未授权或token已过期}token处理思路 在处理之前token灵魂三连问 如何获取token 获取的token如何管理 其他接口如何携带token 思路如下 抽取登录接口返回值中的token 使用全局变量存储token。token可以存到yaml或者json或者ini的配置文件里以下介绍将token作为类属性 其他接口将token值放入请求头发送请求 JsonPath基本用法 我们需要从登录接口中提取出token这里介绍JsonPath基本用法。 JsonPath介绍 JsonPath为Json文档提供了解析能力通过使用JsonPath你可以方便的查找节点、获取想要的数据JsonPath是Json版的XPath。 JsonPath语法 JsonPath说明$文档根元素当前元素.或[]匹配下级元素…递归匹配所有子元素*通配符匹配下级元素[]下标运算符根据索引获取元素JsonPath索引从0开始[,]连接操作符将多个结果拼接成数组返回可以使用索引或别名[start:end:step]数据切片操作?()过滤表达式 这么多语法规范大家会觉得一脸懵逼吧细心的小伙伴会发现语法中 … 表示递归匹配所有子元素简单粗暴用…获取所有匹配的子元素通过索引拿到想要的值。 JsonPath源码 def jsonpath(obj, expr, result_typeVALUE, debug0, use_evalTrue):traverse JSON object using jsonpath expr, returning values or pathsobj需要解析的对象比如接口的返回值。expr: 匹配的表达式。 JsonPath实战 以下编写代码进行演示。 from jsonpath import jsonpath # json格式结果 res {code: 0,msg: OK,data: {token_info: {token_type: Bearer,expires_in: 2020-05-28 13:07:29,token: eyJhbGciOiJIUzUxAiJ9.eyJtZW1iZZJfaWQiOjEwMDA1MTMxNSwiZXhwIjoxNTkwNjQyNDQ5fQ.s6A7pzLILf9tqpEDAU9wIPGGLGkgKEQ6EBHq26l-eUM5seCb48DWalkE7u16iRZv3uzD5hIDFbw41Jmi9V0T_Q}} } # 获取res中的token token jsonpath(res,$..token)[0] print(token)响应结果为 eyJhbGciOiJIUzUxBiJ9.eyJtZW1iZZJfaWQiOpEwMDA1MTMxNSwiZXhwIjoxNTkwNjQyNDQ5fQ.s6A7pzLILf9tqpEDAU9wIPGGLGkgKEQ6EBHq26l-eUM5seCb48SWtoken 依赖实例 ①在config/setting.py配置文件中配置全局的域名或IP。 class DevConfig():# 项目的域名或IPhosthttp://127.0.0.1:8888 config DevConfig()②在config/config.yaml文件中存入登录账号。 config.yaml user:mobile_phone: 155********pwd: 12345678③在项目根目录下新建文件夹middleware文件夹下新建文件helper.py用于处理token。 ④首先编写登录接口返回接口数据。 helper.py from common.requests_handler import RequestsHandler from config.setting import config from common.yaml_handler import yaml_datadef login():登录接口返回tokenreq RequestsHandler()res req.visit(post, config.host/login, jsonyaml_data[user])return res print(login())运行结果如下 {code: 0,msg: OK,data: {token_info: {token_type: Bearer,expires_in: 2020-05-26 13:31:41,token: eyJhbGciOiJIUpUxMiJ9.eyJtZW1iZXJfaWQiOjEwMDA1MTMxNSwiZXhwIjoxNTkwNDcxMTAxfQ.4QDNdQ-Wyecvpv7yRnMlCx1ZXpAlb8vpohxHht5OfNcjGn_yTaISyhmn7OMzjMGlz68sJ_uFbCh2NhIaO2p_Lg}} }⑤接下来编写函数获取登录接口返回值并提取token和token_type进行拼接 。这里要使用jsonpath模块提取返回的token和token_type。 helper.py def save_token():保存token信息res login()token jsonpath(res,$..token)[0]token_type jsonpath(res,$..token_type)[0]token .join([token_type, token])return token print(save_token())运行结果如下 Bearer eyJhbGciOJIPzUxMiJ9.eyJtZW1iZXJfaWQiOjEwMDA1MTMxNSwiZXhwIjoxNTkwN⑥最后定义类将token作为类属性整体代码如下helper.py from common.requests_handler import RequestsHandler from config.setting import config from common.yaml_handler import yaml_data from jsonpath import jsonpathdef login():登录返回token信息req RequestsHandler()res req.visit(post, config.host/login, jsonyaml_data[user])return res def save_token():保存token信息res login()token jsonpath(res,$..token)[0]token_type jsonpath(res,$..token_type)[0]token .join([token_type, token])Context.token tokenreturn token class Context:将token作为类属性token if __name__ __main__:print(save_token())运行结果如下 Bearer eyJhbGciOiJIUzUxMiJ9.eyJtZW1iZXJfaWQiOjEwMDA1MTMxNSwiZXhwIjoxNTkwNDcz⑦充值接口携带token请求。 import unittest import requestsfrom middleware.helper import Context, save_token class TestRecharge(unittest.TestCase):def setUp(self):passdef tearDown(self):passdef test_recharge(self):save_token()token Context.tokenurl http://127.0.0.1:88888/rechargepayload {member_id: 100051315,amount: 80}res requests.post(url,jsonpayload)print(res.json())if __name__ __main__:unittest.main()运行结果为 {code: 0,msg: OK,data: {leave_amount: 240.0,mobile_phone: 155********,} }下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 一、Python编程入门到精通 二、接口自动化项目实战 三、Web自动化项目实战 四、App自动化项目实战 五、一线大厂简历 六、测试开发DevOps体系 七、常用自动化测试工具 八、JMeter性能测试 九、总结尾部小惊喜 不畏风雨砥砺前行奋斗是实现梦想的道路。坚持不懈追逐远方用毅力创造辉煌的人生。相信自己的力量燃烧热情每一次努力都是迈向成功的跳板只要心怀勇气必将绽放属于自己的壮丽华章。 拥抱挑战绽放光芒奋斗是成就辉煌的征程。砥砺前行脚踏实地用汗水铸就成功的坚固基石。相信自己的能力不屈不挠每一次努力都是逼近目标的勇敢迈步。 心怀梦想勇往直前奋斗是砥砺前行的旅程。追逐辉煌披荆斩棘用汗水浇灌成就的花朵。相信自我价值不畏困难每一次努力都是向成功逼近的坚实步伐。
http://www.yutouwan.com/news/269556/

相关文章:

  • 建设博客网站步骤天津网站设计诺亚科技
  • 上海市建设工程检测行业协会网站太原心诺做网站
  • 北京网站代理备案静态网站什么意思
  • 门户网站免费建站安康相亲平台
  • 网站推广如何做的安徽城乡建设厅网站焊工证查询
  • 建设银行手机网站首页单页营销网站后台
  • 高青网站建设yx718网站开发毕设开题报告怎么写
  • php企业网站通讯录管理系统设计一个网站策划书
  • 微机课做网站做方案还找不到素材 这里有最全的设计网站
  • 跑步机网站建设思维导图wordpress资讯APP
  • 助企建站工作报告是组织进行沟通的有效渠道
  • 简单个人网站模板cms下载
  • 衡水建设网站首页智慧团建手机版
  • 做电商必备的八个软件梅州网站优化
  • 福州网站设计企业建站中国住房和城乡建设部网站注册中心
  • 内蒙古建设银行网站wordpress 说说
  • php网站培训如何提升网站营销力
  • 网站代运营 如何纳税微商城开发hg华网天下实惠
  • 企业网站建立如何做网站企划案
  • 网站开发机构如何搭建网络论坛平台
  • 安徽php网站建设广州安全教育平台登录
  • 淘客网站开发视频教程西安跨境电子商务平台网站
  • 网站建设微商城多少钱wordpress百度流量统计
  • 专业郑州做网站如何建设网页游戏网站
  • 做鞋子有什么好网站在上阿里云做网站
  • 做网站开发有前途么做违规网站
  • 爱网站关键词挖掘网页制作素材1001无标题
  • 直接做海报的网站西安市建设工程信息网截图
  • seo高手培训SEO网站布局优化
  • 网站商城建设方案网站建设的组织机构