接口自动化测试 unittest+request+excel(二)

上一节是接口测试单条测试get/post,加上封装。

通过学习到unittest,使用其中的unittest.TestCase和Testsuit

#!/usr/bin/env python3
# -*-coding:utf-8-*-
# __author__: hunter

import unittest
from conn.run_demo import RunMain   # 上一节写的类,进行调用
import HTMLTestRunner
import json

class TestMethod(unittest.TestCase):    # 定义一个类,集成自unittest.TestCase

    def setUp(self):
        self.run = RunMain()            # 在初始化方法实例化一个对象,这样就不需要在每个测试用例中在进行实例化

    def test01(self):
        ‘‘‘此用例正常‘‘‘                 # 描述用例
        url = ‘http://192.168.0.157:18005/oauth/token‘
        data = {
            ‘clientId‘: ‘xxxxxxxxxxxx‘,
            ‘password‘: ‘123456‘,
            ‘userName‘: ‘admin‘,
            ‘VerificationCode‘: ‘‘,
            ‘VerificationCodeKey‘: "xxxxxxxxxxxx"
        }
        r = self.run.run_main(url, ‘POST‘, data)

        re = json.loads(r)
        self.assertEqual(re[‘msg‘], ‘OK‘, ‘pass‘)   # 断言出参的内容,进行判断,就跟测试用例里面的实际结果预期结果一样

    def test02(self):
        ‘‘‘此用例正常‘‘‘     # 描述用例
        url = ‘http://192.168.0.157:18005/oauth/token‘
        data = {
            ‘clientId‘: ‘xxxxxxxxxxx‘,
            ‘password‘: ‘123456‘,
            ‘userName‘: ‘admin‘,
            ‘VerificationCode‘: ‘‘,
            ‘VerificationCodeKey‘: "xxxxxxxxxxx"
        }
        r = self.run.run_main(url, ‘POST‘, data)

        re = json.loads(r)
        self.assertEqual(re[‘msg‘], ‘OK‘, ‘Pass‘)
        ‘‘‘
        断言前,用json库的json.loads()进行解码,因为之前传参的时候用json.dumps()对json格式的编码,
        虽然python字典格式与json格式都是一样的,但他们是不一样的;所以要进行编码解码操作
        ‘‘‘

    def test03(self):
        ‘‘‘错误的客户端‘‘‘
        url = ‘http://192.168.0.157:18005/oauth/token‘
        data = {
            ‘clientId‘: ‘xxxxxxxxx‘,
            ‘password‘: ‘123456‘,
            ‘userName‘: ‘admin‘,
            ‘VerificationCode‘: ‘‘,
            ‘VerificationCodeKey‘: "xxxxxxxx"
        }
        r = self.run.run_main(url, ‘POST‘, data)

        re = json.loads(r)
        self.assertEqual(re[‘msg‘], ‘OK‘, ‘Pass‘)

    #@unittest.skip(‘test04‘)        skip()可以进行跳过这条测试用例操作
    def test04(self):
        ‘‘‘密码错误‘‘‘
        url = ‘http://192.168.0.157:18005/oauth/token‘
        data = {
            ‘clientId‘: ‘xxxxxxxxxxxxxxxxxx‘,
            ‘password‘: ‘1123456‘,
            ‘userName‘: ‘admin‘,
            ‘VerificationCode‘: ‘‘,
            ‘VerificationCodeKey‘: "xxxxxxxxxxxxxxxxxx"
        }
        r = self.run.run_main(url, ‘POST‘, data)

        re = json.loads(r)
        self.assertEqual(re[‘msg‘], ‘OK‘, ‘Pass‘)

if __name__ == ‘__main__‘:

    suite = unittest.TestSuite()  # 调用unittest的TestSuite(),理解为管理case的一个容器(测试套件)
    suite.addTest(TestMethod(‘test001‘))  # 向测试套件中添加用例,"TestMethod"是上面定义的类名,"test01"是用例名
    suite.addTest(TestMethod(‘test002‘))
    suite.addTest(TestMethod(‘test003‘))
    runner = unittest.TextTestRunner()
    runner.run(suite)

得到结果

原文地址:https://www.cnblogs.com/hemingwei/p/11562187.html

时间: 2024-11-13 10:35:30

接口自动化测试 unittest+request+excel(二)的相关文章

接口自动化测试 unittest+request+excel(八)

完善接口自动化测试框架,加入日志模块 #!/usr/bin/env python3 # -*-coding:utf-8-*- # __author__: hunter import logging import os import time class Logger: def __init__(self, loggername): # 创建一个logger self.logger = logging.getLogger(loggername) self.logger.setLevel(loggi

接口自动化测试 unittest+request+excel(五)

封装操作Excel方法,后续功能进行直接调用 #!/usr/bin/env python3 # -*-coding:utf-8-*- # __author__: hunter import xlrd class HandleExcel: """封装操作Excel的方法""" def __init__(self, file='D:/hunter_/interfaceTest/interface/tool/demo2.xlsx', sheet_id=

接口自动化测试 unittest+request+excel(踩‘坑’)

通过运行主函数,返回的参数,报json解析错误 正常的返回参数,应该如图 造成这个原因的是: python从excel中解析出来的数据类型不是字典,是字符串,所以无法传递给requests当做请求参数 需用用json.loads()转成字典格式,然后进行传参 对python从Excel中解析出来的数据类型进行测试一波 #!/usr/bin/env python3 # -*-coding:utf-8-*- # __author__: hunter import xlrd import json i

基于HttpRunner的接口自动化测试平台HttpRunnerManager(二)

https://github.com/HttpRunner/HttpRunnerManager HttpRunnerManager Design Philosophy 基于HttpRunner的接口自动化测试平台: HttpRunner, djcelery and Django_. HttpRunner手册: http://cn.httprunner.org/ Key Features 项目管理:新增项目.列表展示及相关操作,支持用例批量上传(标准化的HttpRunner json和yaml用例

python接口自动化测试(十一)-写入excel(xlswriter)--生成图表

一.折线图: # -*- coding:utf-8 -*- import xlsxwriter # 创建一个excel workbook = xlsxwriter.Workbook("chart_line.xlsx") # 创建一个sheet worksheet = workbook.add_worksheet() # worksheet = workbook.add_worksheet("bug_analysis") # 自定义样式,加粗 bold = workb

python接口自动化测试(十)-写入excel(xlswriter)

 一.安装xlrd模块: 1.mac下打开终端输入命令: pip install XlsxWriter 2.验证安装是否成功: 在mac终端输入 python  进入python环境 然后输入 import xlswriter 不报错说明模块安装成功 二.常用方法: 1.创建excel文件 # 创建文件 workbook = xlsxwriter.Workbook("new_excel.xlsx")  2.创建sheet # 创建sheet worksheet = workbook.a

python接口自动化测试 - unittest框架suite、runner详细使用

test suite 测试套件,理解成测试用例集 一系列的测试用例,或测试套件,理解成测试用例的集合和测试套件的集合 当运行测试套件时,则运行里面添加的所有测试用例 test runner 测试运行器 用于执行和输出结果的组件 test suite.test runner基础使用 单元测试类 1 # 创建单元测试类,继承unittest.TestCase 2 class testCase(unittest.TestCase): 3 4 # 测试case 5 def test_01(self):

python接口自动化测试 - unittest框架基本使用

unittest简单介绍 单元测试框架 还可以适用WEB自动化测试用例的开发与执行 提供丰富的断言方法 官方文档:https://docs.python.org/zh-cn/3/library/unittest.html unittest基础使用 1 # 导入unittest模块 2 import unittest 3 4 5 # 创建单元测试类,继承unittest.TestCase 6 class testCase(unittest.TestCase): 7 8 def setUp(self

api4excel - 接口自动化测试excel篇

api4excel - 接口自动化测试excel篇 工作原理: 测试用例在excel上编辑,使用第三方库xlrd,读取表格sheet和内容,sheetName对应模块名,Jenkins集成服务发现服务moduleName查找对应表单,运用第三方库requests请求接口,根据结果和期望值进行断言,根据输出报告判断接口测试是否通过. 1. 数据准备 数据插入(容易实现的测试场景下所需外部数据) 准备sql (接口需要重复使用,参数一定得是变量) 2.集成部署(运维相关了解即可) 平滑升级验证脚本加