接口测试平台175: 并发用例底层

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 接口测试平台175: 并发用例底层

上节课我们写到了 header的完全处理结束。


   本节课继续开始。


   1. 拼接完整url

为什么要拼接?因为咱平台设计的是由host和路由两部分组成,所以要拼接后才能给requests方法调用。 两部分均由用户输入,一旦涉及到用户输入,我们就要考虑到用户按照规则和不按照规则的情况,比如Host结尾写了/ 结果路由开头又写了个/ 这样直接简单的拼接起来,就会导致/重复,变成:

   https://www.xxxxx.xxx//aaa/bbb/ccc

   所以我们要避免这情况,这里就要进行判断后拼接。

   ps: 这就是做成平台要额外考虑的事情,比之前我们写个自动化脚本要难一点。

image.png

如图,我们的三种判断后,最终的url就是完整且正确的url。

   至此,我们的url经过全局变量替换,经过公共域名替换,经过拼接后最终实现完全体。


   2. 登录态融合

   还记得我们的登录态设计么?通俗点就是在这个步骤运行前是否要先运行登录态接口来获取token等参数并加入到本步骤接口的请求头/体中的设计。

   虽然很先进,但是实现起来并不简单。

   第一步,从step中拿出登录态开关。

image.png


   第二步,根据开关进行判断,若为no,则设置一个空的login_res字典,若为yes,则按步骤继续写:

image.png

   现在,我们要考虑这个else,也就是需要调用登录态接口:

   首先,要找拿到这个用例的case_id,为什么呢?因为我们要靠这个用例id来判断这一条大用例,里面的众多步骤接口,是否已经有接口调用了登录态接口了,如果已经调用过,我们这里直接用即可,没必要再次调用。如果没有调用过,我们再进行首次调用。

   这个逻辑我们在之前的run_case.py中已经使用过,这里我们再次写出来:

   (不要着急写,后面有源码复制版本)

image.png

   其中的具体步骤我都用注释写了。


   然后我们肯定拿到了这个login_res字典,它存放着所有登录态要写入给当前步骤的字段和对应的值。


   可能是空的,也可能有东西。有的东西是之前用过直接拿的,有的则是重新生成的。


   我们接下来就是直接插入到本步骤的各个位置即可。因为我们不确定这个登录态到底应该插入到什么位置,让用户自己决定又很麻烦。本着参数宁可多传也不要少传的原则,我们干脆一劳永逸,全都加。


   先加url和header:

   url后接函数必须用?开头,所以我们要先判断一下是否已经存在?

image.png

   

   好了,其实这里应该再加到请求体中的,但是请求体又分为很多格式,这个写起来就更麻烦了,而且大多数我所知的登录态,都是放到url或者header即可,若小伙伴公司的接口必须要放在请求体中,那么可以私信我(qingwanjianhua),我再继续加上这部分代码。


   到这里,我们的登录态加入功能就告一段落。


   接下来是加密策略:

   Ps:有的小伙伴都听累了,心说为什么要这么麻烦再讲一遍,代码95%都是直接复制run_Case.py的吧。


   这里解释下,是的,代码大多直接复制粘贴即可。但是这里为了再一次带大家复习这个复杂的环节,所以作者仍然选择再写一遍。


   加密策略:

   先判断加密开关是否是yes,若是,则把我们的url,请求体等参数传给我们之前写好的加密函数。即可,代码量并不多。

image.png

   

   好了,本节课暂时到这里结束,希望大家年前最后一周好好努力工作哦~


相关文章
|
23天前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
106 7
Jmeter实现WebSocket协议的接口测试方法
|
23天前
|
测试技术
软件测试用例设计之微信群抢红包经典用例
作者在浏览招聘网站时遇到为微信群发和抢红包设计测试用例的问题,作为软件测试新手,作者通过实际体验并撰写测试案例来加深对业务的理解,并分享了测试案例表格。需要注意的是,该用例未考虑添加银行卡支付、红包类型选择及红包描述。
37 5
软件测试用例设计之微信群抢红包经典用例
|
23天前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
101 3
快速上手|HTTP 接口功能自动化测试
|
8天前
|
人工智能 测试技术 Python
基于 LangChain 的自动化测试用例的生成与执行
本章节详细介绍了如何利用人工智能技术自动化完成Web、App及接口测试用例的生成与执行过程,避免了手动粘贴和调整测试用例的繁琐操作。通过封装工具包与Agent,不仅提升了测试效率,还实现了从生成到执行的一体化流程。应用价值在于显著节省时间并提高测试自动化水平。
25 1
|
16天前
|
测试技术
基于LangChain手工测试用例转App自动化测试生成工具
在传统App自动化测试中,测试工程师需手动将功能测试用例转化为自动化用例。市面上多数产品通过录制操作生成测试用例,但可维护性差。本文探讨了利用大模型直接生成自动化测试用例的可能性,介绍了如何使用LangChain将功能测试用例转换为App自动化测试用例,大幅节省人力与资源。通过封装App底层工具并与大模型结合,记录执行步骤并生成自动化测试代码,最终实现高效自动化的测试流程。
30 4
|
23天前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
31 5
|
2月前
|
测试技术
基于LangChain手工测试用例转Web自动化测试生成工具
该方案探索了利用大模型自动生成Web自动化测试用例的方法,替代传统的手动编写或录制方式。通过清晰定义功能测试步骤,结合LangChain的Agent和工具包,实现了从功能测试到自动化测试的转换,极大提升了效率。不仅减少了人工干预,还提高了测试用例的可维护性和实用性。
47 4
|
2月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
2月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
2月前
|
SQL Java 测试技术
SpringBoot单元测试快速写法问题之PorkService 接口中的 getPork 方法的作用如何解决
SpringBoot单元测试快速写法问题之PorkService 接口中的 getPork 方法的作用如何解决
下一篇
无影云桌面