python如何重复执行用例方法_对python_discover方法遍历所有执行的用例详解

对python_discover方法遍历所有执行的用例详解

当我们写了一个单个py的测试文件时直接运行就ok了,但当我们有很多很多个这样的py时,难道要一个一个的点击来运行吗,当然不是。我们可以通过discover方法来找到所有的用例。

下面直接举例说明discover用法:

一、 准备工作

目录结构:

DiscoverCase.py 文件代码:

import unittest

import os

def discover_case(case_dir):

# 待执行用例的目录

testcase = unittest.TestSuite()

discover = unittest.defaultTestLoader.discover(case_dir,pattern="*.py",top_level_dir=None)

# discover方法筛选出来的用例,循环添加到测试套件中

print(discover)

for test_suite in discover:

for test_case in test_suite:

print(test_case)

# 添加用例到testcase

#testcase.addTests(test_case)

testcase.addTests(test_case)

return(testcase)

path = os.path.join(os.getcwd(), "测试用例")

case = discover_case(case_dir=path)

print(case)

Test1代码(test2~4代码基本相同):

注意:每个testcase里面的执行用例(即以test开头的函数)必现大于或等于两个,不然会报错。

二、写好这些后我们就直接跑程序看结果

运行后用例的文件名、类名、函数名都会遍历出来

是不是很简单啊。

注意:如果用例名称全为中文是不可以加载的到的,必须以字母开始,比如“i登录.py”

这样是可以被加载到的,如果直接写”登录.py”这样是不能被加载到的。

以上这篇对python_discover方法遍历所有执行的用例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2019-02-12

一.简单使用 复制代码 代码如下: def TestLogBasic():     import logging     logging.basicConfig(filename = 'log.txt', filemode = 'a', level = logging.NOTSET, format = '%(asctime)s - %(levelname)s: %(message)s')     logging.debug('this is a message')     logging.inf

1. 关于Nose nose项目是于2005年发布的,也就是 py.test改名后的一年.它是由 Jason Pellerin 编写的,支持与 py.test 相同的测试习惯做法,但是这个包更容易安装和维护. nose的口号是:扩展unittest,nose让测试更简单! nose官网:http://nose.readthedocs.io/en/latest/index.html 使用nose框架进行Python项目的自动化测试,可以参考:http://www.cnblogs.com/liaof

在Linux上有个常用的命令 curl(非常好用),支持curl的就是大名鼎鼎的libcurl库:libcurl是功能强大的,而且是非常高效的函数库.libcurl除了提供本身的C API之外,还有多达40种编程语言的Binding,这里介绍的PycURL就是libcurl的Python binding.在Python中对网页进行GET/POST等请求,当需要考虑高性能的时候,libcurl是非常不错的选择,一般来说会比liburl.liburl2快不少,可能也会比Requests的效率更高.特

本文实例讲述了python自动化测试之从命令行运行测试用例with verbosity,分享给大家供大家参考.具体如下: 实例文件recipe3.py如下: class RomanNumeralConverter(object): def __init__(self, roman_numeral): self.roman_numeral = roman_numeral self.digit_map = {"M":1000, "D":500, "C&quot

测试1 deco运行,但myfunc并没有运行 复制代码 代码如下: def deco(func):     print 'before func'     return func def myfunc():     print 'myfunc() called'   myfunc = deco(myfunc) 测试2 需要的deco中调用myfunc,这样才可以执行 复制代码 代码如下: def deco(func):     print 'before func'     func()

直接上代码. # -*- coding: utf-8 -*- import time import os import os.path import re import unittest import HTMLTestRunner import shutil shutil.copyfile("setting.ini","../setting.ini") casepaths = [] def createsuite(casepath): testunit = unit

前言 上篇文章相信大家已经了解了pytest在cmd下结合各种命令行参数如何运行测试用例,并输出我们想要看到的信息.那么今天会讲解一下pytest是如何收集我们写好的用例?我们又有哪些方式来运行单个用例或者批量运行用例呢?下面将为大家一一解答! pytest收集用例原理分析 首先我们按照如下目录结构新建我们的项目 [pyttest搜索测试用例的规则] |[测试用例目录1] | |__init__.py | |test_测试模块1.py | |test_测试模块2.py |[测试用例目录2] |

1.设计简单的用例 2.设计用例 以TestBaiduLinks.py命名 # coding:utf-8 from selenium import webdriver import unittest class BaiduLinks(unittest.TestCase): def setUp(self): base_url = 'https://www.baidu.com' self.driver = webdriver.Chrome() self.driver.implicitly_wait(

random.randomrandom.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniformrandom.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限.如果a > b,则生成的随机数n: a <= n <= b.如果 a

本文实例讲述了Python使用random模块生成随机数操作.分享给大家供大家参考,具体如下: 今天在用Python编写一个小程序时,要用到随机数,于是就在网上查了一下关于Python生成各种随机数的方法,现将其总结如下: 此处,利用Python中的random模块生成随机数.因此首先必须导入该模块:import random 一. 随机产生一个元素 import random #生成一个0到1的随机浮点数: 0 <= n < 1.0 print(random.random()) >&g

本文我们详细地介绍下两个模块关于生成随机序列的其他使用方法. 随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入random模块. import random 下面介绍下Python内置的random模块的几种生成随机数的方法. 1.random.random()随机生成 0 到 1 之间的浮点数[0.0, 1.0).注意的是返回的随机数可能会是 0 但

常用的 random 模块方法 import random # random.random()用于生成一个 0 到 1 的随机浮点数: 0 <= n < 1.0 print(random.random()) # 0.18246795790915304 # random.randint(a, b),用于生成一个指定范围内的整数. # 其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b print(random.randint(1, 10)) # 8 # rand

用法示例: import random # 1)随机小数 print(random.random()) # 获取大于0且小于1 之间的小数 random.random() print(random.uniform(1, 4)) # 获取大于1小于3的小数 # 2)随机整数 print(random.randint(1, 9)) # 获取大于等于1且小于等于9之间的整数 print(random.randrange(1, 9)) # 获取大于等于1且小于9之间的整数 print(random.ra

在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组.功能主要由python中random模块的sample()函数实现. sample(population, k) method of random.Random instance Chooses k unique random elements from a population sequence or set. 下面的代码实现的是打乱iris数据,i

先给大家介绍下python中random模块 random与numpy.random对比: 1.random.random():生成[0,1)之间的随机浮点数: numpy.random.random():生成[0,1)之间的随机浮点数: numpy.random.random(size=(2,2)),生产一个2维的随机数组,每维2个随机数,数据区间[0,1) 2.random.randint(a,b):生产[a,b]之间的随机整数; numpy.random.random(1,5,5):返回一

安装: pip install wave 在wav 模块中 ,主要介绍一种方法:getparams(),该方法返回的结果如下: _wave_params(nchannels=1, sampwidth=2, framerate=48000, nframes=171698592, comptype='NONE', compname='not compressed') 参数解释: nchannels:声道数 sampwidth:量化位数(byte) framerate:采样频率 nframes:采样点

Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniform random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限.如果a > b,则生成的随机数n: a <= n <= b.如果 a <

复制代码 代码如下: import random print random.random() 获取一个小于1的浮点数 复制代码 代码如下: import random random.randint(1,10) 获取一个从1到10的整数 复制代码 代码如下: import random print random.uniform(0,2) 获取一个大于0小于2的浮点数 复制代码 代码如下: import random print random.randrange(1,10,4) 获取一个从1到10步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值