RF接口测试(1)

news2024/11/17 4:37:45

RF是做接口测试的一个非常方便的工具,我们只需要写好发送报文的脚本,就可以灵活的对接口进行测试。

做接口测试我们需要做如下工作:

1、拼接发送的报文

2、发送请求的方法

3、对结果进行判断

我们先按步骤实现,再进行RF操作的优化。

现在就让我们来完成一个拼接发送报文的方法,这个方法也是小编和同事聊天时无意聊到的,很巧,不知道各位想到没有,反正小编没想到^_^,话不多说,先上代码:

#coding: utf-8

import json

class JsonModify(object):

‍    def __init__(self):
        pass

    def post_info(self, *parameters):

        jsonStr = {}
        strDict = 'jsonStr'
        for parameter in parameters:
            # print(strDict + parameter)
            try:
                exec(strDict + parameter)
            except:
                print 'Expression execute failed![',strDict + parameter,']'
                raise

        return json.dumps(jsonStr)‍

现在我们来分析一下上面的代码:

首先我们定义了一个post_info函数,参数传的 *parameters可变参数,也就是说我们在传参的时候可以传任意多个参数。

1、我们先定义了一个空的字典jsonStr

2、注意,接下来的操作很有意思,就是这里做了一步“很无聊”的赋值操作——把字典名字作为字符串传给了一个变量:strDict = ‘jsonStr’

3、接下来,我们遍历可变参数(列表),try except属于Python异常处理的知识,很容易,大家可以自己看一下。

exec译为“执行文本中的Python语句”,也就是说其实我们对传参是有要求的,我们要执行 ‘strDict + parameter’ 这个Python语句,如果无法执行,则走except语句:打印原因并报错(raise)

4、最后利用json库中的dumps方法把字典转换为字符串(字符串转字典为loads)并返回。

接下来是以前讲过的,先在robot Library中导入类名JsonModify,然后在测试用例中直接调用函数,函数在调用时下划线其实是可以不写或者用空格代替的

注意我们的传参,注意我们的传参,注意我们的传参

发现参数的特别之处了吗?没错,我们是按着字典的key-value形式传的,这时执行的就是jsonStr['sign']='sign'

这种方法的好处就是以后在拼接报文的时候只要按着这种格式传参,就直接拼好了一个json。但是这种方法也有它的不足,就是如果传10个参数还无所谓,如果传100个参数……没错,只能写100个这个东西^_^而且只能是一层的json像是下图这种,如果在字典里还要嵌套字典或者列表,这种方法也是不可用的。但是优化也很方便,就是可以先读一个含有发送报文的文本。

运行得到:

现在我们就完成了拼接发送报文的工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/592893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人效九宫格|三个提升路径,三种管理模式,让人效实时可量化

文|盖雅学苑‍‍ 本文共5202字 在经济高速发展的过去,企业更关注机遇,当经济发展速度进入新常态时,企业更关注效率。在盖雅工场发布的《企业人效管理白皮书》中的数据显示,69.9%的企业依旧将人效提升作为紧急事项&am…

Vue主界面精美模板分享

文章目录 🐒个人主页🏅Vue项目常用组件模板仓库📖前言:🎀源码如下: 🐒个人主页 🏅Vue项目常用组件模板仓库 📖前言: 本篇博客主要提供vue组件之主页面组件源…

代码级质量技术之基本框架介绍

作者 | CQT&星云团队 一、背景 代码级质量技术:顾名思义为了服务质量更好,涉及到代码层面的相关技术,特别要指出的是,代码级质量技术不单纯指代码召回技术,如静态代码扫描、单元测试等。 研究代码级质量技术主要…

1.6 初探JdbcTemplate操作

一、JdbcTemplate案例演示 1、创建数据库与表 (1)创建数据库 执行命令:CREATE DATABASE simonshop DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 或者利用菜单方式创建数据库 - simonshop 打开数据库simonshop &#x…

边缘计算盒子在视觉分析领域的优势

边缘计算盒子在视觉分析领域有广泛的应用。边缘计算盒子是一种集成了计算、存储和网络连接功能的设备,通常部署在物理环境中的边缘位置,如工厂、城市、交通系统等。它们能够在离数据源更近的位置进行实时数据处理和分析,从而提供更低的延迟和…

使用Docker安装Kafka

第一步:使用下述命令从Docker Hub查找镜像,此处我们要选择的是zookeeper官网的镜像 docker search zookeeper 第二步:拉取zookeeper镜像 docker pull zookeeper:latest 第三步:启动zookeeper容器 docker run -d --name zookee…

微服务-Elasticsearch基础篇【内含思维导图】

Elasticsearch官网:欢迎来到 Elastic — Elasticsearch 和 Kibana 的开发者 | Elastic 注意:Elasticsearch官网访问和加载的耗时很长!!! Lucene官网:Apache Lucene - Welcome to Apache Lucene 目录 一、E…

Docker基本操作与自定义镜像Docker-Compose与Docker镜像仓库

目录 一.基本操作 1.镜像操作 1.1.镜像名称 1.2.镜像命令 1.3.案例-拉取、查看镜像 1.4.案例-保存、导入镜像 2.容器操作 2.1.容器相关命令 2.2.案例-创建并运行一个容器 2.3.案例-进入容器,修改文件 2.4.小结 3.数据卷(容器数据管理&#x…

挑选在线帮助文档协作工具的技巧与要点

随着互联网的发展,越来越多的公司和团队开始使用在线帮助文档协作工具来共同编辑和维护文档。这些工具可以让多个用户同时协作编辑同一篇文档,从而提高工作效率和减少沟通成本。然而,在选择在线帮助文档协作工具时,需要注意一些技…

低代码平台投票榜揭晓:这些平台最受欢迎

低代码平台是软件开发工具,允许用户快速轻松地创建和部署应用程序,只需最少的编程知识。对于寻求在不需要大量IT资源的情况下构建自定义应用程序的企业来说,这些平台非常有用。在本文中,我们将讨论低代码平台排行榜投票榜&#xf…

注解和反射复习

注解 注解:给程序和人看的,被程序读取,jdk5.0引用 内置注解 override:修饰方法,方法声明和重写父类方法, Deprecated:修饰,不推荐使用 suppressWarnings用来抑制编译时的警告,必须添加一个或多个参数s…

外贸客户背调的几种干货技巧

外贸人要想做到知己知彼,那背调是必不可少的。 有经验的外贸人会通过关键词、邮箱等开展模糊搜索,然而这种方式不光效率低,而且搜索到的信息也不全。今天小编分享的这几种背调组合工具,不光收集到的客户信息全面,而且…

Nginx网络服务的配置(叫不醒和睡不着的是两个世界)

文章目录 一、Nginx概述二、Nginx相对于Apache的优点三、配置Nginx网络服务1.编译安装和启用Nginx服务(1)关闭防火墙和selinux(2)安装依赖包(3)创建运行用户、组(Nginx 服务程序默认以 nobody 身…

华为OD机试真题B卷 Java 实现【机房布局】,附详细解题思路

一、题目描述 小明正在规划一个大型数据中心机房,为了使得机柜上的机器都能正常满负荷工作,需要确保在每个机柜边上至少要有一个电箱。 为了简化题目,假设这个机房是一整排,M表示机柜,I表示间隔,请你返回…

北斗RTK差分定位技术原理、优势及应用领域

北斗卫星导航系统是中国自主建设的卫星导航系统,是继美国GPS、俄罗斯GLONASS和欧盟Galileo之后,全球第四个卫星导航系统。北斗系统非常重要,可用于国防、公共安全、民生等多个领域,包括交通运输、环境保护、渔业等。差分定位则是北…

【Springboot系列】springboot扩展点大整理,赶紧收藏起来

系列文章:Spring Boot学习大纲,可以留言自己想了解的技术点 1、aware系列 在Spring Boot中,有一些可以实现的Aware接口,用于在应用程序中获取特定的上下文或对象。这些接口允许您的组件意识到它们所在的环境,并与之进…

和数集团元宇宙场景落地 催生新机遇

现代社会随着科技不断发展,人们对于虚拟现实的需求日益提高。随着互联网进入Web3.0时代,越来越多的人开始进入虚拟世界,探索虚拟现实的无限可能。 在这个充满未知的广阔世界中,和数集团旗下包括【神念无界源起山海】、【神宠岛】…

国内使用chatGPT插件

无需任何繁琐操作,只要你一打开edge浏览器就能使用chatGPT,还要什么自行车! 那么如何使用呢?其实操作是非常简单的! 步骤 第一步:下载edge浏览器 edge浏览器一般Windows10系统都自带了,没有的…

ChatGPT 提示的艺术 —— 如何编写清晰有效提示指南

ChatGPT 提示的作用 正如我们之前提到的那样,ChatGPT 对话中使用的提示的质量可以显著影响对话的成功。定义清晰的提示可以确保对话保持在正确的轨道上,并涵盖用户感兴趣的主题,从而产生更引人入胜和信息丰富的体验。 那么什么样的 ChatGPT…

计算机网络实验:认识Packet Tracer软件

目录 前言实验目的实验内容及要求相关知识点实验指导实验过程总结 前言 计算机网络是当今信息技术的重要组成部分,它涉及到多种硬件和软件的协同工作,以实现数据的传输和交换。为了更好地理解和掌握计算机网络的基本原理和技术,我们需要进行…