系列文章 python模块分析之random(一) python模块分析之hashlib加密(二) python模块分析之typing(三) python模块分析之logging日志(四) python模块分析之unittest测试(五) python模块分析之collections(六) 单元测试模块unittest unittest的四个核心的概念: TestLoader:加载或分发测试任务的调度器: TestCase:测试用例的对象: TestSuite:多个测试用例的容器: TextTe…
unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例:使用unittest框架编写测试用例: report:测试报告:保存测试报告,调用封装好的runcases.py,其中加入时间和HTMLTestRunner生成的带时间的测试报告; run_tests.py:执行测试用例:调用封装好的runcases.py执行用例: mail:发送邮件:封装好发送…
概要 @unittest.skip(reason): skip(reason)装饰器:直接跳过测试,并说明跳过测试的原因. @unittest.skipIf(reason): skipIf(condition,reason)装饰器:条件为真时,跳过测试,并说明跳过测试的原因 @unittest.skipUnless(reason): skipUnless(condition,reason)装饰器:条件为假时,跳过测试,并说明跳过测试的原因 @unittest.expectedFailure():…
[转]python模块分析之unittest测试(五) 系列文章 python模块分析之random(一) python模块分析之hashlib加密(二) python模块分析之typing(三) python模块分析之logging日志(四) python模块分析之unittest测试(五) python模块分析之collections(六) 单元测试模块unittest unittest的四个核心的概念: TestLoader:加载或分发测试任务的调度器: TestCase:测试用例的对象:…
利用unittest测试框架可以编写测试用例,执行方式分两大类:利用main方法和利用testsuite,其中利用测试套件来组织测试用例可以有4种写法. 在此之前,先了解几个概念 TestCase:所有测试用例的基本类,给一个测试方法的名字,就会返回一个测试用例实例: TestSuite:组织测试用例的实例,支持测试用例的添加和删除,最终将传递给  testRunner进行测试执行: TextTestRunner:进行测试用例执行的实例,其中Text的意思是以文本形式显示测试结果.测试的结果会保…
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战2 - 使用Python发送请求 Python接口测试实战3(上)- Python操作数据库 Python接口测试实战3(下)- unittest测试框架 Python接口测试实战4(上) - 接口测试框架实战 Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例…
Test-driven development(TDD)开发模式在今天已经不是什么新奇的事了,它的开发思维是在开发一个产品功能的时候,先 编写好该功能的测试代码,在编写开发比如,比如要写二个数相除的函数,那么它的测试代码应该为: #!/usr/bin/env python #coding:utf-8 import unittest class TestDiv(unittest.TestCase): def setUp(self): pass def tearDown(self): pass de…
引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用例时测试数据如何管理和加载.针对测试用例加载以及执行控制,python语言提供了unittest单元测试框架,将测试用例编写在unittest框架下,使用该框架可以单个或者批量加载互不影响的用例执行及更灵活的执行控制,对于更好的进行测试数据的管理和加载,这里我们引入数据驱动的模块:ddt,测试数据和…
前言 collections是Python内建的一个集合模块,提供了许多有用的集合类. 系列文章 python模块分析之random(一) python模块分析之hashlib加密(二) python模块分析之typing(三) python模块分析之logging日志(四) python模块分析之unittest测试(五) python模块分析之collections(六) OrderedDict 有序字典,相当于键值对列表:按照创建时的顺序保持不变. 方法:继承了dict结构,有其父类的所有…
这篇文章主要介绍了Python单元测试框架unittest使用方法讲解,本文讲解了unittest概述.命令行接口.测试案例自动搜索.创建测试代码.构建测试套件方法等内容,需要的朋友可以参考下   概述 1.测试脚手架(test fixture) 测试准备前要做的工作和测试执行完后要做的工作.包括setUp()和tearDown(). 2.测试案例(test case) 最小的测试单元. 3.测试套件(test suite) 测试案例的集合. 4.测试运行器(test runner) 测试执行的…
前言 前几篇文章该要地介绍了python单元测试框架unittest的使用,本篇文章系统介绍unittest框架. 一.unittest核心工作原理 unittest中最核心的四个概念是:test case, test suite, test runner, test fixture. 下面我们分别来解释这四个概念的意思,先来看一张unittest的静态类图(下面的类图以及解释均来源于网络,原文链接): 一个TestCase的实例就是一个测试用例.什么是测试用例呢?就是一个完整的测试流程,包括测…
这一部分是python内置模块系列的最后一部分,介绍了一些小巧有用的内置模块. 目录: 1.random 2.shelve 3.getpass 4.zipfile 5.tarfile 6.bisect 7.fileinput 一.random random模块是python提供的生成伪随机数模块,使用很简单,如下的三个方法都是生成1个随机数: import random print(random.random()) print(random.randint(1, 2)) print(random…
什么时模块 Python中的模块其实就是XXX.py 文件 模块分类 Python内置模块(标准库) 自定义模块 第三方模块 使用方法 import 模块名 form 模块名 import 方法名 说明:实际就是运行了一遍XX.py 文件 导入模块也可以取别名 如: import time as t import time as t print(t.time()) 定位模块 当前目录 如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录. 如果都找不到,Pytho…
这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下    如何不靠耐心测试 通常,我们编写的软件会直接与那些我们称之为“肮脏的”服务交互.通俗地说,服务对我们的应用来说是至关重要的,它们之间的交互是我们设计好的,但这会带来我们不希望的副作用——就是那些在我们自己测试的时候不希望的功能. 比如,可能我们正在写一个社交软件并且想测试一下“发布到Facebook…
目录: 1.unittest.TestCase中常用的断言方法 1.1 subTest子测试 1.2 套件测试 1.3 批量测试单个用例 2. 加载器 2.1加载器协议 2.2.执行器 TestRunner 3.已现成的测试函数用例 4.Mock Mock对象的参数: 4.1 return_value 4.2 side_effect 4.3 spec 4.4 wraps MagicMock对象额外方法 4.5mock_add_spec方法 5. patch 用模拟对象替换真实对象 6.代码覆盖率…
Python内置模块就是标准库(模块)吗?或者说Python的自带string模块是内置模块吗? 答案是:string不是内置模块,它是标准库.也就是说Python内置模块和标准库并不是同一种东西. 什么是内置模块?在Python官方的文档这里有说到: Python’s standard library is very extensive, offering a wide range of facilities as indicated by the long table of contents…
---恢复内容开始--- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda 从头开启python的开发环境搭建.安装比较简单,很多步骤就是直接next下来就可以,主要是配置好环境变量. 一. 如何安装Python 在https://www.python.org/下载安装包. 下载下来一个exe文件,直接双击运行. 选择Install Now,立即安装. 配置环境变量:右键开始——控制面板——系统——高级系统配置——环境变量…
我们整个自动化才是报告的环节基本上分为三个部分: 1.测试用例的准备 2.测试用例的执行 3.测试报告的输出 1.测试用例的准备: 那我们就以搜孤网页做一个简单的用例: from selenium import webdriver import unittest class Case_1(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.maximize_window()#放大浏览器…
python内置模块[re] re模块: python的re模块(Regular Expression正则表达式)提供各种正则表达式的匹配操作,在文本解析.复杂字符串分析和信息提取时是一个非常有用的工具. 1.re的简介 使用python的re模块,尽管不能满足所有复杂的匹配情况,但足够在绝大多数情况下能够有效地实现对复杂字符串的分析提取相关信息.python会将正则表达式转化为字节码,利用C语言的匹配引擎进行深度优先的匹配. import re print(re.__doc__) 可以查询re…
python内置模块[sys,os,os.path,stat] 内置模块是python自带功能,在使用内置模块时,需要遵循 先导入在 使用 一.sys 对象 描述 sys.argv 命令行参数获取,返回类型为列表,第一个元素为程序的本身的路径 sys.path 返回模块的搜索路径列表,第一个元素为当前程序所在目录:初始化时使用PYTHONPATH环境变量的值 sys.modules.keys() 返回所有已经导入的模块列表 sys.modules 返回所有已经导入的模块字典,key模块名,val…
这篇随笔主要是对比下笔者接触过的3种接口测试工具,从实际使用的角度来分析下3种工具各自的特点 分别为:jmeter.postman.python的requests+unittest或requests+excel 1.利用jmeter进行接口测试 jmeter本身是一个基于java的性能测试工具,它可以自定义发送http请求,并根据响应结果进行断言,所以借助jmeter自带的一些元件便可以进行接口自动化测试. 大致思路就是将接口测试用例写到一份csv文件中,然后构建jmeter脚本逐条读取csv中…
转自https://my.oschina.net/u/3041656/blog/820023 正在调研使用python进行自动化测试,在网上发现一篇比较好的博文,作者使用的是python3,但目前自己使用的是python2,先转载下,后续再进行调试完善: 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自…
任务1:Selenium基本操作 from selenium import webdriver # 通用选择 from selenium.webdriver.common.by import By # 动作 from selenium.webdriver import ActionChains from selenium.webdriver.common.keys import Keys # 抛出异常 from selenium.webdriver.support import expected…
单元测试的定义 1. 什么是单元测试? ​ 单元测试是指,对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,这里的最小可测试单元通常是指函数或者类,一般是开发来做的,按照测试阶段来分,就是单元测试.集成测试.系统测试以及验收测试. 2.为什么要做单元测试?…
花了一天时间安装了解了下最基本的python+pychram进行API测试,下面这个可以指导自己以后入门:基本的开发级别还需要学习 1.python下载地址:https://www.python.org/about/当前下载版本:python 2.7.12 2.下载完成进行环境变量配置配置python环境变量:E:\Python27\python\;E:\Python27\python\Scripts (根据你自己安装地址) 3.使用pipcmd进入E:\Python27\python\Scri…
Python之路[第五篇]:面向对象及相关   面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 1 2 3 4 5 6 class Foo(object):     pass   obj = Foo()   isinstance(obj, Foo) 二.issubclass(sub, super) 检查sub类是否是 super 类的派生类 1 2 3 4 5 6 7 c…
Python之路[第五篇]:面向对象及相关   面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 1 2 3 4 5 6 class Foo(object):     pass   obj = Foo()   isinstance(obj, Foo) 二.issubclass(sub, super) 检查sub类是否是 super 类的派生类 1 2 3 4 5 6 7 c…
难易程度:★★★ 阅读点:python;web安全; 文章作者:xiaoye 文章来源:i春秋 关键字:网络渗透技术 前言 python是门简单易学的语言,强大的第三方库让我们在编程中事半功倍,今天,我们来谈谈python多线程在渗透测试中的应用,本文,我们将编写一个简易c段存活主机扫描脚本,以及一个python版本的多线程御剑--目录扫描工具 一.python 多线程 python多线程有几种写法 1. thread模块 python的一个多线程模块,小脚本可以用,但是有瑕疵,比如不稳定,线程…
Robot Framework 框架是基于 Python 语言开发的,所以,它本质上是 Python 的一个库. 1.你懂 Python 语言. 2.又想使用 Robot Framework 测试框架,因为它提供了很好的测试报告. 百度搜索实例 创建 py_robot.py 文件,代码如下: from robot.api import TestSuite from robot.api import ResultWriter from robot.model import Keyword # 百度…
python selenium 使用unittest 示例 并等待某个元素示例 from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By from selenium import webdriver import unittes…