#-*- coding:utf-8 -*-
# Python 提供的两个模块的线程 thread 一个是threadding模块,thrad 不支持线程守护,threading支持线程守护
# 线程守护: 在线程执行的时候,如果主线程执行完了,如果不支持线程守护的话,子线程自动结束掉,如果支持线程守护,子线程还
# 会继续执行完
# 会继续执行完
# 支持线程守护的模块
import threading
# 导入时间包
from time import sleep,ctime
import threading
# 导入时间包
from time import sleep,ctime
# 导入单元测试报告
import unittest
# 导入单元测试
from unit import login,register
# 导入自动化测试报告
import HTMLTestRunner
# 导入os
import os
import unittest
# 导入单元测试
from unit import login,register
# 导入自动化测试报告
import HTMLTestRunner
# 导入os
import os
# 声明list列表,装单元测试
unittests = [login.Login,register.Login]
unittests = [login.Login,register.Login]
# 定义一个类
class MyThread(object):
class MyThread(object):
# 定义一个方法
def test(self,number,unit):
def test(self,number,unit):
# %d 在c语言中用来打印 int类型的数据 %s 用来打印string 类型的数据 %f 用来打印小数点类型的数据
print "%d线程开始执行%s"%(number,ctime())
# 设置休眠
sleep(4)
sleep(4)
# 实例化套件
suit = unittest.TestSuite()
suit = unittest.TestSuite()
# 将单元测试加入到测试套件
suit.addTest(unittest.makeSuite(unit))
suit.addTest(unittest.makeSuite(unit))
# 指定测试报告的路径
files = os.getcwd() +"/jd"+str(number)+".html"
# 指定读写方式
filename = open(files,'wb')
files = os.getcwd() +"/jd"+str(number)+".html"
# 指定读写方式
filename = open(files,'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=filename,title=u"京东",description=u"京东描述")
runner.run(suit)
print "%d线程结束%s"%(number,ctime())
# 实例化
if __name__ == '__main__':
# 开始的时间
print "开始的实际%s"%(ctime())
# 定义一个列表 theads
threads = []
# 通过for循环,将线程加入到这个列表里面 rang 包含左边的数字,不包含右边的数字
for index in range(0,2):
# 每for循环一次,实例化一个对象
t = MyThread()
# 实例化线程
thread1 = threading.Thread(target=t.test,args=(index,unittests[index]))
# 将线程加入到list 列表里面
threads.append(thread1)
for index in range(0,2):
# 每for循环一次,实例化一个对象
t = MyThread()
# 实例化线程
thread1 = threading.Thread(target=t.test,args=(index,unittests[index]))
# 将线程加入到list 列表里面
threads.append(thread1)
# 使用for循环开始所以线程
for t in threads:
for t in threads:
# 设置为线程守护
t.setDaemon(True)
# 开始线程
t.start()
#
t.join()
t.setDaemon(True)
# 开始线程
t.start()
#
t.join()
# 为了实现线程守护