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

建网站用什么语言mysql同一数据库放多少个网站表

建网站用什么语言,mysql同一数据库放多少个网站表,泰安企业建站公司排行,手机微网站建设多少钱接口测试仅仅掌握 Requests 或者其他一些功能强大的库的用法#xff0c;是远远不够的#xff0c;还需要具备能根据公司的业务流程以及需求去定制化一个接口自动化测试框架的能力。所以#xff0c;接下来#xff0c;我们主要介绍下接口测试用例分析以及通用的流程封装是如何…接口测试仅仅掌握 Requests 或者其他一些功能强大的库的用法是远远不够的还需要具备能根据公司的业务流程以及需求去定制化一个接口自动化测试框架的能力。所以接下来我们主要介绍下接口测试用例分析以及通用的流程封装是如何完成的。 接口测试用例分析 首先在做用例分析之前可以通过追查公司一年来所有的故障原因定位问题起因或者通过与 CTO、产品经理、研发、运维、测试调查得到质量痛点还可以分析业务架构、流程调用以及监控系统了解到业务的使用数据从而得到质量需求。 得到质量需求之后通过与产品经理、项目经理、研发总监等对接后得知待测业务范围、业务场景用例、业务接口分析从而确定公司的测试计划。将测试计划与质量需求结合进行分析就可以开始进行业务用例的设计而接口测试用例分析也在其内。 质量需求样例测试痛点公司的接口一直不稳定影响用户的使用质量反馈最近半年来出现了几次大的故障回归测试每次升级都会影响老的功能测试策略目前公司没有可靠的测试体系重构测试微服务话改造需要有良好的测试体系保证 接口测试封装思想 接口封装思想主要分为 3 个大维度配置、接口封装、业务流程。其中 配置主要用作根据配置文件获取初始配置和依赖接口封装遵循 APIObject 设计模式对接口的调用进行抽象封装业务流程则负责数据初始化、业务用例设计包含有多个 API 形成的流程定义不要再包含任何接口实现细节、以及断言。 下面将会与实战案例结合进行详细的介绍。 基于加密接口的测试用例设计 由于信息安全原因许多接口在传输的时候会对请求与响应进行加密处理如果直接对这部分数据做断言显然是行不通的。还需要对这部分接口额外进行解密的处理之后才可以对已解密的接口进行断言。 环境准备 在进行实战之前需要先准备一个对响应加密的接口。对它发起一个 get 请求后得到一个加密过后的响应信息。 先准备一个 JSON 格式 demo {topics: { orange:movie, shool:testing-studio, president:seveniruby } } 使用 base64 对其做加密得到一个加密后的文件 demo64.txt base64 demo.json demo64.txt使用 Python 命令在 “demo64.txt” 所在目录启动一个服务 python -m http.server 10000启动后的样子如图 ​使用curl命令对这个服务进行get请求 curl http://127.0.0.1:10000/demo64.txt如果请求成功的话就代表环境已经准备成功 实战练习 调用 base64直接对返回的请求做解密即可得到解密后的响应将解密后的响应转为 JSON 格式此时就可以对这个返回值做断言且不会报错了。 import base64 import json import requests class TestEncode:url http://127.0.0.1:10000/demo64.txtdef test_encode(self):r requests.get(self.url)encode json.loads(base64.b64decode(r.content))assert encode[topics][president] seveniruby这样的写法显然不够优雅如果被测接口的协议发生变化Requests 库无法支持改变后的协议需要调用别的第三库发送请求信息则还是需要修改底层的源码。碰到这种情况可以增加一层封装构造一层更加通用的发送方法。 首先需要通过一个字典的结构体保存所有的请求信息包括发送的协议、解码方式、请求 method 等等而这种字典形式的结构体也为后面的数据驱动改造做好了一个重要的铺垫。 req_data{schema: http,method: get,url: http://127.0.0.1:10000/demo64.txt,headers: None}通过请求信息的结构体中的schema添加判断条件去选择不同的请求协议。举个例子如果 schema 为“http”的话就选择调用被封装的 requests 库。 class ApiRequest:#构造send方法通过def send(self, data: dict):if http data[schema] :res requests.request(data[method],data[url],headerdata[headers])return json.loads(base64.decode(res.content))elif dubbo data[schema]:passelif websocket data[schema]:passelse:pass 调用在ApiRequest类中的send方法发送请求并进行断言 class TestEncode:def test_api(self):req_data{schema: http,encoding: base64,method: get,url: http://127.0.0.1:10000/demo64.txt,headers: None}re ApiRequest()data re.send(req_data)assert data[topics][president] seveniruby如果面对不同的算法还需要修改底层的源码所以需要把算法封装。需要使用哪个算法就使用哪个。封装的思想与上面相同。首先在字典结构体中添加一个 encoding 字段用来判断选择的不同的加密条件。 req_data{schema: http,method: get,url: http://127.0.0.1:10000/demo64.txt,headers: None,encoding: base64}TEXT 复制 全屏 还是通过请求信息的结构体中的 encoding添加判断条件去选择不同的解密方式。 class ApiRequest:def send(self, data: dict):if http data[schema] :res requests.request(data[method],data[url],headersdata[headers])return json.loads(base64.b64decode(res.content))#通过请求信息的结构体中的encoding去选择不同的解密方式。if data[encoding] base64:return json.loads(base64.b64decode(res.content))elif data[encoding] private:return json.loads(requests.post(url, datares.content).content)else:return json.loads(res.content)TEXT 复制 全屏 总结 首先需要明确在面对一个加密的响应结果可以使用什么样的处理方式 如果知道使用的是哪个通用加密算法的话可以自行解决。如果不了解对应的加密算法的话可以让研发提供加解密的 lib。如果既不是通用加密算法、研发也无法提供加解密的 lib 的话可以让加密方提供远程解析服务这样算法仍然是保密的。 Python接口自动化测试零基础入门到精通2023最新版
http://www.zqtcl.cn/news/663884/

相关文章:

  • 网站规划与开发技术专业优化措施二十条
  • 通州区网站快速排名方案视频网站视频预览怎么做
  • 同创企业网站源码建筑行业公司排名
  • 温州网站建设服务建设商务网站公司
  • 导视设计网站推荐创业平台的选择
  • 营销网站建设设计义乌 网站制作
  • 南通企业网站建设公司庆阳网站建设与制作
  • 做k12网站wordpress调用第一张图片不显示
  • 网站建设和维护要点网站建设完提交百度
  • app开发人员网站上海保洁服务网站建设
  • 周口网站制作公司哪家好苏州高新区住建局官网
  • 建设特效网站自助网站建设系统
  • 用软件做的网站权限管理如何让自己的网站被百度收录
  • 简历做的很棒的网站杭州公司网站建设电话
  • 购买腾讯云主机可以直接做网站舒兰网站建设
  • 环保主题静态网站php 手机网站源码
  • 做网站找哪家好要钱吗小程序开发合同
  • 速成美站东莞网站建设 包装材料
  • 丹阳网站建设案例自己做个网站怎么赚钱
  • 净水机企业网站源码浏览器下载安装2022最新版
  • 高端网站建设四川网页版微信怎么下载
  • 青岛做网站皆赴青岛博采wordpress怎么改密码忘记
  • 深圳最好的网站建设广西论坛网站建设
  • html5网站设计网站建设 广西
  • 顺德手机网站设计价位网站开发学习流程图
  • 班级网站设计合肥蜀山网站开发
  • 杭州网站建设培训ck播放器整合WordPress
  • 网站建设是什么软件品牌策划公司哪家好推荐
  • 网站转跳怎么做餐饮vi设计
  • 刘连康seo培训哪家强网站优化推广平台