python 定时任务 web管理_Selenium+WebDriver+Python 定时控制任务

本文介绍了如何利用Python的unittest, HTMLTestRunner和时间模块设置定时任务,使得自动化测试脚本能在指定时间自动执行。通过示例代码SetTime_AutoRun.py展示了如何在17:35运行指定目录下的测试用例,并生成测试报告。文章还提到了在实施过程中遇到的问题及解决方案。" 129135693,9057610,智能定位技术在实验室管理系统中的应用,"['java', '数据库', 'servlet', '学习', '智能定位']
摘要由CSDN通过智能技术生成

为了更对得起“自动化测试”的名号,我们可以设置定时任务,使我们自动化脚本在某个时间点自动运行脚本,这样就可以让测试在夜间进行,减少了时间成本。通过程序来控制test case在什么时候执行是最简单的方式了。

借用http://blog.csdn.net/liujingqiu/article/details/50518776关于HTMLTestResult的脚本,然后写SetTime_AutoRun.py来实现定时执行任务。

SetTime_AutoRun.py脚本如下:

import unittest

import HTMLTestRunner

import os

import time

listaa=‘C:\\Python34\\test_case‘ #设置脚本所在的绝对路径

def createsuitel():

testunit=unittest.TestSuite()

discover=unittest.defaultTestLoader.discover(listaa, pattern=‘UnitTestHtml_*.py‘, top_level_dir=None)

for test_suite in discover:

for test_case in test_suite:

testunit.addTests(test_case)

print (testunit)

return testunit

alltestnames=createsuitel()

#now=time.strftime(‘%Y-%m-%M-%H_%M_%S‘,time.localtime(time.time())) #时间格式有错误

now=time.strftime(‘%Y-%m-%d-%H_%M_%S‘,time.localtime(time.time())) #设置时间格式

fp = open(now+‘result.html‘,‘wb‘)

runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title=‘test result‘,description=u‘result:‘) #调用HTMLRestRunner

k=1

while k<2:

timing=time.strftime(‘%H_%M‘,time.localtime(time.time()))

if timing == ‘17_35‘: #17_35指17:35,这个可以根据需要设定时间

print (‘start to run scripts‘)

runner.run(alltestnames) #运行所有的case

print (‘Finish runing scripts‘)

break

else:

time.sleep(3)

print (timing)

fp.close()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

F5,运行得到:

1)pythonIDLE 如图所示:

 

从上图可以看到17_34还没有到我们设置的时间点17_35,于是会等待。

2)C:\Python34 路径下,有Result.html如图:

2016-03-34-17_34_59result.html即为我们这次的测试result.html

3)打开上述文件得到如图所示:

上面的三个结果截图,即为运行后得到的结果。这里偷懒, 其中使用pattern=’UnitTestHtml_*.py’, 采用的是不同文件名的.py脚本,但是里面内容是相同的,于是同样的,得到了6个case的结果。

附:

1.pattern=’UnitTestHtml_*.py’ 表示在当前目录下,文件名为UnitTestHtml_*.py的脚本都会被批量执行。

在实施过程中,遇到的issue:

1.第一次输出,在C:\Python34目录下的 2016-03-34-17_34_59result.html的文件大小为0kb,这是因为忘记加上fp.close()了。

2.以上脚本还有点小问题我们得到的2016-03-34-17_34_59result.html文件名,可以看到文件名中的设置时间没有正确。根据以下的修改,再次运行,显示正确。

脚本改动如下:

以前的脚本:

now=time.strftime(‘%Y-%m-%M-%H_%M_%S‘,time.localtime(time.time()))

改动后的脚本:

now=time.strftime(‘%Y-%m-%d-%H_%M_%S‘,time.localtime(time.time())) #设置时间格式

1

2

3

4

1

2

3

4

就这样使用脚本完成了定时控制任务,实现定时自动化测试。

原文:http://www.cnblogs.com/my-blogs-for-everone/p/6058379.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值