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


    1.首先在excel中的expectValue列填好预期结果值

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

    首先,要知道在之前封装的get/post请求方法中返回的是‘str’,也就是json格式的字符串

    而从excel文件解析出的expectValue也是‘str’,这样就可以将两者对比,来判断expectValue是否存在于接口返回的数据中

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

    # coding:utf-8
    import requests, json
    url = 'http://192.168.xxx.xxx:7001/xxx/api/xxx/xxx/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('测试失败')

    修改主函数代码:

    # coding:utf-8
    
    from base.run_method import RunMain
    from util.handle_excel import *
    from util.common import CommonUtil
    import json
    
    
    class RunTestCase:
        def __init__(self):
            self.Runmain = RunMain()  # 实例化调用get/post请求对象
            self.data = HandleExcel()  # 实例化操作excel文件对象
            self.common = CommonUtil() # 实例化判断实际结果是否与预期结果一致
    
        def go_run(self):
            rows_count = self.data.get_rows()   # 获取excel行数
            for i in range(1,rows_count):      # 利用行数进行迭代处理每个接口
                url = self.data.get_value(i, get_url())  # 循环获取url的值
                method = self.data.get_value(i, get_method())  # 循环获取method的值
                data = json.loads(self.data.get_value(i, get_params()))   # 循环获取请求参数,并将得到的数据反序列化
                expect = self.data.get_value(i, get_expectvalue())  # 循环获取期望输出
                is_run = self.data.get_value(i, get_priority())  # 获取是否运行,即判断excel中priority是不是"H"
                if is_run == 'H':
                    res = self.Runmain.run_main(url, method, data)  # 调用get/post主函数
                    if expect in res:
                        print('测试通过')
                    else:
                        print('测试失败')
    
    
    if __name__ == '__main__':
        run = RunTestCase()
        run.go_run()

  • 相关阅读:
    Qt相关资料收集
    bakefile初试
    Install VirtualBox 2 Guest Additions in Ubuntu
    Qt使用笔记(2)--Qmake的使用
    英语单词词频
    wxWidgets应用--使用方法与技巧连接收藏
    Learning English
    [转贴]深圳八年职场与人生感言
    帮朋友招聘通信类人才!!!!!
    [新闻]华为发布最高端核心路由器NE5000E集群系统
  • 原文地址:https://www.cnblogs.com/hanmk/p/8711729.html
Copyright © 2020-2023  润新知