1、首先在excel中填写好预期结果的值

这里判断接口成功的依据是预期结果值是否存在于接口的返回数据中。

一般接口的返回值都是json对象,我们需要将json对象转换为json格式的字符串

如下图,进行转换

我们从excel文件解析出来的预期结果也是str类型,这样就可以将两者进行对比,判断excel中的预期结果是否存在于接口的返回数据中

2、使用if进行判断,一个简单的demo

# coding:utf-8
import requests, json
url = 'http://192.168.0.53:7001/CommonService/api/control/controlProgress/query.v'
data = {"controlSeq": "2018118579"}
r = requests.post(url, data=data)
re = json.dumps(r.json(),indent=2, sort_keys=False, ensure_ascii=False)
print(re)
print(type(r))
print(type(r.json()))
print(type(re))
expect_value = '企业事项_hmk' if expect_value in re:
"""关键字in判断前者是否存在于后者之中"""
print('测试通过')
else:
print('测试失败')  

3、主函数片段

如果预期结果存在于接口返回值中,则测试通过,将pass写入到excel中的实际结果中;否则将fail写入实际结果。

--------------------------------------

json.load()从文件中读取json字符串

json.loads()将json字符串转换为字典类型

json.dumps()将python中的字典类型转换为字符串类型

json.dump()将json格式字符串写到文件中

python接口自动化测试之根据excel中的期望结果是否存在于请求返回的响应值中来判断用例是否执行成功的更多相关文章

  1. python接口自动化21-下载excel文件(Content-Type:octets/stream)

    前言 Content-Type类型为octets/stream,这种一般是文件类型了,比如有时候需要导出excel数据,下载excel这种场景如何用python来实现呢? 抓下载接口 1.下载的场景如 ...

  2. python接口自动化测试之requests库详解

    前言 说到python发送HTTP请求进行接口自动化测试,脑子里第一个闪过的可能就是requests库了,当然python有很多模块可以发送HTTP请求,包括原生的模块http.client,urll ...

  3. python接口自动化,从excel取param的内容太多,使用eval转换报错'EOL while scanning string literal

    背景: 做接口自动化时,有个接口的参数内容很多,可以从excel中读取出来,但是在eval()进行转化时,就报错"'EOL while scanning string literal&quo ...

  4. 记录python接口自动化测试--根据excel中的期望输出是否存在请求返回的响应来判断用例是否执行成功(第八目)

    1.首先在excel中的expectValue列填好预期结果值 这里判断接口成功的依据是预期结果值是否存在于接口返回的数据中. 首先,要知道在之前封装的get/post请求方法中返回的是‘str’,也 ...

  5. python接口自动化测试之http协议(一)

    1.http(超文本传输)协议:是一个基于请求与响应模式的.无状态的(不会记住每个请求的状态).应用层协议 2.url详解 https://www.baidu.com/s?ie=utf-8&f ...

  6. python接口自动化之读取excel表的数据(使用openpyxl模块)

    1.安装openpyxl:pip install openpyxl 2.基础知识,直接上代码 import openpyxl #导入模块 wd2=openpyxl.load_workbook('stu ...

  7. python接口自动化(四十一)- 发xml格式参数的post请求(超详解)

    简介 最近在工作中,遇到一种奇葩的接口,它的参数数据是通过xml,进行传递的,不要大惊小怪的,林子大了什么鸟都有,每个人的思路想法不一样,开发的接口也是各式各样的,如果想要统一的话,必须是提前团队已经 ...

  8. python接口自动化(响应对象方法)

    python接口自动化(响应对象方法) 一.encoding作用 获取请求的编码(在不设置响应编码时,响应的信息默认使用的是请求的编码格式):r.encoding 设置响应的编码:r.encoding ...

  9. Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要

    1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种: 第一种是传参,不需要再创建啥, 第二种就是ns0类型的 ...

随机推荐

  1. mysql基础(附具体操作代码)

    # 注释内容 -- 注释内容 -- 创建数据库 king CREATE DATABASE king; -- 查看当前服务器下有哪些数据库 SHOW DATABASES; SHOW SCHEMAS; - ...

  2. external IP 和 local IP 的区别

    外部(external)和本地(local) IP地址都具有相同的用途,不同之处在于范围.整个Internet使用外部或公共IP地址来定位计算机系统和设备.专用网络内部使用本地或内部IP地址来定位与其 ...

  3. mongo shell

    mongo shell mongo 连接 本地 mongo # 连接127.0.0.1:27017 远程 mongo "mongodb://mongodb0.example.com:2801 ...

  4. CF #618 div.2

    序 闲来无事,打场CF,本人蒟蒻,考场A了前三道,第四有解答 正文 T1 Non-zero 是道水题.... 给你一个序列a.要求你输出最少的操作次数使这个序列的累和与累乘都不为0: 一次操作指给\( ...

  5. take it away `electron-builder` Electron打包失败的问题

    出现这个问题 出现问题原因是程序占用 , 在后台进程中将Electron的服务干掉以后再打包

  6. JavaSE学习笔记(9)---集合类和泛型

    JavaSE学习笔记(9)---集合类和泛型 1.Collection集合 集合概述 在前面我们已经学习过并使用过集合ArrayList<E> ,那么集合到底是什么呢? 集合:集合是jav ...

  7. MySQL在大数据、高并发场景下的SQL语句优化和"最佳实践"

    本文主要针对中小型应用或网站,重点探讨日常程序开发中SQL语句的优化问题,所谓“大数据”.“高并发”仅针对中小型应用而言,专业的数据库运维大神请无视.以下实践为个人在实际开发工作中,针对相对“大数据” ...

  8. oracle卸载步骤

    一.删除产品 1. 停服务,进入下图,一个个删除Oracle产品,再执行卸载 二.清注册表,开始-搜索- 输入regedit,进入注册表 1.选择HKEY_LOCAL_MACHINE\SOFTWARE ...

  9. tp5使用PHPexcel扩展导出excel表

    1,使用composer安装phpexcel包: composer require phpoffice/phpexcel 2,在控制器中创建方法: (1)使用PHPexcel扩展.代码如下 /** * ...

  10. Goland 2019下载和安装(带破解补丁和汉化包)

    Goland 简介 Goland 是由 JetBrains 公司开发的一个新的商业 IDE,旨在为 Go 开发者提供的一个符合人体工程学的新的商业 IDE.Goland 整合了 IntelliJ 平台 ...