python测试用例管理模块_python-selenium并发执行测试用例(方法一 各模块每一条并发执行)...

总执行代码:

# coding=utf-8

import unittest,os,time

import HTMLTestRunner

import threading

import sys

sys.path.append('C:/Users/Dell/Desktop/CARE/program')#使用编辑器,要指定当前目录,不然无法执行第20行代码

def creatsuite():

casedir = []

list = os.listdir(os.path.dirname(os.getcwd()))#获取当前路径的上一级目录的所有文件夹,这里可以改成绝对路径(要搜索的文件路径)

for xx in list:

if "baidu" in xx:

casedir.append(xx)

suite =[]

for n in casedir:

testunit = unittest.TestSuite()

unittest.defaultTestLoader._top_level_dir = None

#(unittest.defaultTestLoader(): defaultTestLoader()类,通过该类下面的discover()方法可自动更具测试目录start_dir匹配查找测试用例文件(test*.py),

并将查找到的测试用例组装到测试套件,因此可以直接通过run()方法执行discover)

discover = unittest.defaultTestLoader.discover(str(n),pattern='tet_*.py',top_level_dir=None)

for test_suite in discover:

for test_case in test_suite:

testunit.addTests(test_case)

suite.append(testunit)

return suite, casedir

def runcase(suite,casedir):

lastPath = os.path.dirname(os.getcwd())#获取当前路径的上一级

resultDir = lastPath+"\\run\\report\\" #报告存放路径

now = time.strftime("%Y-%m-%d %H.%M.%S",time.localtime())

filename = resultDir + now +" result.html"

fp = file(filename, 'wb')

proclist=[]

s=0

for i in suite:

runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=str(casedir[s])+u'测试报告',description=u'用例执行情况:')

proc = threading.Thread(target=runner.run,args=(i,))

proclist.append(proc)

s=s+1

for proc in proclist:

proc.start()

for proc in proclist:

proc.join()

fp.close()

if __name__ == "__main__":

runtmp=creatsuite()

runcase(runtmp[0],runtmp[1])

1226993-20170908092356882-168048841.png

1226993-20170908092556632-1864149999.png

1226993-20170908092637335-1439083687.png

描述: 使用这个总执行文件,可以多进程 同时开始每个模块的测试用例(每个模块同时一条接着一条执行)

1226993-20170908125911585-1965695809.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

input 赋值_FPGA基础设计:Verilog行为级建模(过程赋值)

来源:CSDN文章使用逻辑门和连续赋值对电路建模,是相对详细的描述硬件的方法。使用过程块可以从更高层次的角度描述一个系统,称作行为级建模(behavirol modeling)。1. 过程赋值阻塞赋值和非阻塞赋值的区别都很熟悉了。这里记录两个特性。1.1 特…

本地配置DNS服务器(MAC版)

转自https://www.cnblogs.com/skylor/p/7483959.html作为一个前端开发者,会遇到使用cookie的情况,常见的如:登录,权限控制,视频播放,图形验证码等,这时候本地开发者在PC上会使用修改hosts的方式…

mme设备内部错误_华为拟安装“俄版安卓”;百度回应内部贪腐;Android Studio 3.5 RC2 发布 | 极客头条...

快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持。「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道。风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯&#x…

[spring mvc]Hello World入门

1.新建项目 File->New->Other,选择Dynamic web project&#xff1a; 项目建好之后&#xff0c;目录结构如下&#xff1a; 2.WEB-INF/web.xml 中配置 dispatcherServlet <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns:xsi"ht…

Mysql日期函数使用大全

为什么80%的码农都做不了架构师&#xff1f;>>> 1.1 获得当前日期时间&#xff08;date time&#xff09;函数&#xff1a;now() 除了 now() 函数能获得当前的日期时间外&#xff0c;MySQL 中还有下面的函数&#xff1a; current_timestamp() current_timestamp …

input点击事件不能用_用js简单写一个计算器

嗨&#xff0c;大家好&#xff0c;今天给大家带来的是一个计算器首先要知道我们常用的计算器都有哪些按键&#xff0c;有0~9&#xff0c; , - , *, /&#xff0c;还有 和.&#xff0c;基本是这些按键&#xff0c;然后我们去创建一些按键。之后我们去设置样式&#xff0c;设置完…

php判断信用卡,php校验信用卡卡号代码

[php]代码库// This function will take a credit card number and check to make sure it// contains the right amount of digits and uses the Luhn Algorithm to// weed out made up numbersfunction validateCreditcard_number($credit_card_number){// Get the first dig…

python list长度_python的入门阶段 编程思维100题 我跟罗志祥没关系

"""python的入门阶段 编程思维100题&#xff08;适合学习了1周--1个月的新人&#xff09; 第五题&#xff1a;我跟罗志祥没关系 朋友圈大家每天都看&#xff0c;那用python如何实现它那&#xff1f; 很简单&#xff0c;朋友的信息&#xff08;名字&#xff0c;头…

Android ----中文Api 百度地图

Android中文API最新中文版 [复制链接] kupekupe当前离线在线时间1 小时e望0 点最后登录2011-2-17注册时间2011-2-17积分12阅读权限10UID1341171 主题 0 好友 12 积分No.1 开发小菜鸟 No.1 开发小菜鸟, 积分 12, 距离下一级还需 88 积分升级 12% 当前用户组为 No.1 开发小菜鸟 …

android之多媒体篇(一)

2019独角兽企业重金招聘Python工程师标准>>> Android 4.0.3(Api Level 15&#xff09;支持的多媒体格式。 注意&#xff1a;有些设备可能支持其他的文件格式。 1.Audio AAC LC/LTP、HE-AACv1(AAC)、AMR-NB、AMR-WB、MP3、MIDI、Ogg Vorbis、PCM/WAVE、FLAC&#…

java定时器_拾遗Timer定时器

一 Timer 介绍在开发中我们经常会遇到一些简单定时任务的需求&#xff0c;而不需要量级较重的定时任务就可以采取java定时器&#xff1b;java.util.Timer工具类中的Timer 是定时器&#xff0c;但定时任务写在java.util.TimerTask 中&#xff0c;由 Timer 执行 TimerTask &#…

逻辑门电路的知识点归纳

1.半导体二极管与MOS管的开关特性 二极管&#xff1a;正向导通&#xff0c;反向截止&#xff0c;但是要注意的是从反向截止到正向导通的时间极其短&#xff0c;但是从正向导通到反向截止要经过反向恢复&#xff08;电荷存储效应&#xff09;的过程&#xff0c;这个过程实际上就…

善心

2019独角兽企业重金招聘Python工程师标准>>> 一个穷苦学生郝武德.凯礼&#xff0c;为了付学费&#xff0c;挨家挨户地推销货品。 到了晚上&#xff0c;发现自己的肚子很饿&#xff0c;而口袋里只剩下一个小钱。他在大街上犹豫徘徊了半天&#xff0c;终于鼓起勇气&a…

python 清屏_Python学前准备如果你知道要去哪,那么全世界都给你让路

一、Python 已来 AI 不远在当今&#xff0c;人工智能已经渗透到了智能手机、网络搜索&#xff0c;广告分发&#xff0c;人脸识别&#xff0c;语音识别&#xff0c;自动驾驶&#xff0c;智能医疗&#xff0c;无人银行等日常生活领域。人工智能的生活化是不可避免的&#xff0c;它…

js判断用户是否离开当前页面

简介 VisibilityChange 事件&#xff1b;用于判断用户是否离开当前页面 Code // 页面的 visibility 属性可能返回三种状态 // prerender&#xff0c;visible 和 hidden let pageVisibility document.visibilityState; // 监听 visibility change 事件 document.addEventLi…

记一次B站答题经历

第一题部分&#xff1a;社区规范卷 --------- ------------ 第二题&#xff1a;社区规范第二部分 -------------------- 第三部分自由选择题 ---------------------- -------------------------------- 最后答题成绩得分 -------------- ------------- 答完题后的感受&#xff…

linux 安装程序丢失链接动态库,Linux安装软件过程中提示缺少动态链接库.so的解决方法...

Linux在安装软件的时候有时会出现错误&#xff0c;提示缺少动态链接库.so&#xff0c;该问题是由什么原因导致的呢?情况分析&#xff1a;1.缺少动态连接库.so-cannot open shared object file:No such file or directory2.缺少动态连接库.so.0-cannot open shared object file…

yaf(5) smarty

2013年4月6日 13:41:37 参考: http://www.oschina.net/question/812776_71817 http://yaf.laruence.com/manual/yaf.class.dispatcher.setView.html 这两者都是在bootstrap.php中写_initSmarty()函数来重新实现yaf的视图接口 这中方案默认的是存放模版文件的上级文件夹名字必须…

Hibernate(三) - hibernate 表操作-多对多配置

Hibernate 的一对多关联映射 之前在学习 Hibernate 的时候&#xff0c;其实都是单表的操作。在实际的开发当中&#xff0c;比如做一个商城&#xff0c;就需要好多张数据库表&#xff0c;表与表之间是有关系的。之前些做一些关联查询或者是一些基本的查询操作的时候&#xff0c;…

vb treeview 展开子节点_详解最长公共子序列问题,秒杀三道动态规划题目

学算法认准 labuladong后台回复进群一起力扣?读完本文&#xff0c;可以去力扣解决如下题目&#xff1a;1143.最长公共子序列(Medium)583. 两个字符串的删除操作(Medium)712.两个字符串的最小ASCII删除和(Medium)好久没写动态规划算法相关的文章了&#xff0c;今天来搞一把。不…