python+requests随笔(三):unittest框架

  unittest是Python单元测试框架。但它不仅可以适用于单元测试,还可以适用接口自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。今天就总结下如何使用unittest单元测试框架来进行接口自动化测试。

一、导入unittest包

python包中自带unittest包,不要单独安装,可直接导入。

 二、测试类必须继承unittest测试框架

 三、类方法

必须在方法前面加装饰器@classmethod

 四、测试方法

必须以test开头

 五、调用测试类

将unittest运用到接口测试项目中,如下代码:

import unittestimport json,randomfrom demo01.test05_requestClassFZ import requestClass

class MethodCls(unittest.TestCase):    token = None    def setUp(self):        self.run=requestClass()    def test_Cas01(self):        url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=XXXXXX&secret=XXXXXX"        res = self.run.run_main(url,"get")        print(res)  # 这里的返回值是已经转换成了json的字典

        #设置断言,判断测试用例是否通过        self.assertEqual(res[‘expires_in‘],7200,"测试失败:获取token失败")

        # 【注意】提取token做成全局变量供下个接口调用        global token        token=res["access_token"]        # print(token)

    #忽略测试:忽略指定的测试用例    # @unittest.skip("testCas02")    def test_Cas02(self):        url = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token="+token        data = {            "filter": {                "is_to_all": True,            },            "text": {                "content": "hello"+str(random.randint(1,10))            },            "msgtype": "text"        }        res=self.run.run_main(url,"post",data)        # print(res)

        self.assertEqual(res[‘errcode‘], 0, "测试失败:群发消息失败")

# 创建测试套件,将要执行的指定类中的case添加进去def suite():    suite = unittest.TestSuite()    suite.addTest(methodCls(‘test_Cas01‘))    suite.addTest(methodCls(‘test_Cas02‘))    return suiteif __name__=="__main__":    #运行测试套件方法    unittest.TextTestRunner().run(suite())

原文地址:https://www.cnblogs.com/newdream-yanzi/p/12555388.html

时间: 2024-11-06 07:21:20

python+requests随笔(三):unittest框架的相关文章

Selenium2+python自动化20-引入unittest框架

Selenium2+python自动化20-引入unittest框架 from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.ui import Selectfrom selenium.common.exceptions import NoSuchEl

Selenium2+python自动化30-引入unittest框架【转载】

本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/unittest/ from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.ui import Selectfrom selenium.co

Python+requests+exce接口自动化测试框架

一.接口自动化测试框架 二.工程目录 三.Excel测试用例设计 四.基础数据base 封装post/get:runmethod.py #!/usr/bin/env python3 # -*-coding:utf-8-*- # __author__: hunter import requests import json class RunMain: def send_get(self, url, data): res = requests.get(url=url, params=data).js

python学习随笔(三)_字符串

字符串***    是由一个个字符组成的有序的序列,是字符的集合    使用单引号,双向引号,三引号引住的字符序列    #三引号中可以放sql语句    字符串是不可变对象 字符串元素访问    字符串支持使用索引访问    有序列的字符集合,字符序列    字符串可以是个容器,可以被一个个迭代出来,因为它是有顺序的 字符串join连接*    "string".join(iterable) -> str        将可迭代对象连接起来,使用string作为分隔符     

Python接口测试之对MySQL/unittest框架/Requests 的操作

单元测试支持测试自动化. 共享的安装程序和关闭代码测试. 聚合成集合,测试和报告框架从测试的独立性.单元测试模块提供可以很容易地支持这些素质的一组测试的类.关于unittest 测试框架建议可以到官方查看详细的说明以及演示的实例.unittest各个模块的关系为: #!/usr/bin/env python #coding:utf-8 import unittest class TestDiv(unittest.TestCase): def setUp(self): pass def tearD

python+requests接口自动化测试框架实例详解教程

转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自

python+requests接口自动化测试框架实例详解

前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自己写python的接口自动化测试框架,由于本人也是刚学习python,这套自动化框架目前已经基本完成了,于是进行一些总结,便于以后回顾温习,有许多不完善的地方,也遇到

python+requests+unittest API接口测试

黑熊再网上查找了下接口测试相关的资料,大都重点是以数据驱动的形式,将用例维护在文本或表格中,而没有说明怎么样去生成想要的用例, 问题: 测试接口时,比如参数a,b,c,我要先测a参数,有(不传,为空,整形,浮点,字符串,object,过短,超长,sql注入)这些情况,其中一种情况就是一条用例,同时要保证b,c的正确,确保a的测试不受b,c参数的错误影响 解决思路: 符合接口规范的参数可以手动去填写,或者准备在代码库中.那些不符合规范的参数(不传,为空,整形,浮点,字符串,object,过短,超长

selenium + python自动化测试unittest框架学习(一)selenium原理及应用

unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻.unittest框架学习需要掌握以下知识点: (1)Selenium原理及工具使用 (2)webdriver元素定位,id,name,class name,css seletor,xpath (3)python语言基础,模块,参数化,语言,装饰器 (4)unittest框架认识及学习:模块化,断言,参数化,数