为了更对得起“自动化测试”的名号,我们可以设置定时任务,使我们自动化脚本在某个时间点自动运行脚本,这样就可以让测试在夜间进行,减少了时间成本。通过程序来控制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

python 定时任务 web管理_Selenium+WebDriver+Python 定时控制任务相关推荐

  1. python开发web应用打包exe,python开发web应用程序

    python做web开发有哪些好处和不足 python适合Web开发吗?当然!python涉及的面十分广泛,不过使用python进行开发,你需要先掌握python的基础知识,然后学习python We ...

  2. python弹出警告框_selenium+webdriver+python 中警告框的处理方法

    在自动化测试过程中,经常会遇到弹出警告框的情况,如图所示: 在 WebDriver 中处理 JavaScript 所生成的 alert.confirm 以及 prompt 是很简单的.具体做法是使用 ...

  3. python搭建web服务器_用Python建立最简单的web服务器

    利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录的路径下,输入命令:python -m Web服务器模块 [端口号,默认8000]例如:python -m Sim ...

  4. python web自动化测试_Selenium基于Python 进行 web 自动化测试

    下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放在scripts目录下 ChromeDriver 官方下载地址 : 所有版本的 ChromeDriver 文档参考 一 ...

  5. python 浏览器 弹 另存为_selenium webdriver 右键另存为下载文件(结合robot and autoIt)...

    最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为,根本操作不了. 也有在网上看到webdriver ...

  6. python写web自动化_使用Python+selenium实现第一个自动化测试脚本

    原标题:使用Python+selenium实现第一个自动化测试脚本 最近在学web自动化,记录一下学习过程. 此处我选用python3.6+selenium3.0,均用最新版本,以适应未来需求. 环境 ...

  7. python 定时任务好 还是crontab_使用python crontab设置linux定时任务

    熟悉linux的朋友应该知道在linux中可以使用crontab设置定时任务.可以通过命令crontab -e编写任务.当然也可以直接写配置文件设置任务. 但是有时候希望通过脚本自动设置,比如我们应用 ...

  8. 【Python Django Web项目】利用 Python+Django+Pycharm+MySQL 搭建一个自己的Web网站项目的步骤(详细图文)上集

    今天我们要来介绍一下, 利用 Python+Django+Pycharm+MySQL 搭建一个自己的Web网站项目的步骤 首先我们要建立一个专门放项目的文件夹 如下 E:\Projects , 我们建 ...

  9. python管理系统web版_基于Python实现简单学生管理系统

    学生信息管理系统负责编辑学生信息,供大家参考,具体内容如下 第一次发帖,下面通过python实现一个简单的学生信息管理系统 要求如下: 1.添加学生的信息 2.删除学生的信息 3.修改的信息 4.查询 ...

  10. python管理系统web版_基于Python Flask的web日程管理系统

    日程管理系统文档 本学期的软件工程作业,使用Flask框架做了一个日程管理系统.其中数据库的部署和效果展示在B站有视频解说,戳我去B站. 源码在Github仓库可查看. 建模图例 代码中,一共有两个主 ...

最新文章

  1. 如何成为一家真正发挥大数据作用的 “数据驱动型公司”?
  2. C语言判断一个数是否是回文数
  3. 【C/C++】中的__FILE__、__LINE__、#line、__func__关键字(预定义宏)
  4. 关于matlab中的梯度使用
  5. 写给 Android 应用工程师的 Binder 原理剖析
  6. python三十七:xml模块
  7. python的解释提示符为_python学习笔记01--基础
  8. http 标准超时时间_Go 中 http 超时问题的排查
  9. android studio如何重启,从Android Studio重新启动ADB(Restart ADB from Android Studio)
  10. smb协议讲解_SMB/CIFS协议解析一概述
  11. 视频教程-四十九课时精通matlab数学建模-Matlab
  12. win11u盘无法弹出怎么办?win11u盘老是被占用不能退出?
  13. 破解jQuery插件收费、下载币(单页扒站小工具)
  14. python中cursor的用法_python中cursor操作数据库
  15. oracle用户 expire,Oracle 账号 EXPIRED(GRACE) 意义-拾亿
  16. 古有陈天华万字血书抗沙俄,今有本剧蒻万字背包虐dp(01,完全,多重,分组,混合等各种背包详解 + 板子题+ 奇奇怪怪滴变式题)
  17. I.MX7D工控板 开发方案
  18. 记bilibili 2021 1024程序员节安全攻防挑战赛
  19. Matlab/simulink仿真,直驱永磁风机并网chopper低电压穿越
  20. 为什么说一站式移动办公SaaS平台一定是未来!

热门文章

  1. 5000字超干货,新中国成立70年人口流动迁移的特征与趋势可视化!
  2. 双人贪吃蛇java 代码_java 双人贪吃蛇
  3. 火狐扩展教程_5个Firefox扩展保护您的隐私
  4. ubuntu18.04安装monaco字体
  5. zircon ddk快速入门
  6. flash服务器停止响应,Adobe Flash Player已经在Windows 10上停止工作
  7. 25 HttpClient下载图片
  8. 系统集成项目管理工程师和网络工程师哪个好考?
  9. 软件测试简历中的项目应该如何准备?
  10. LiveLinkFce的Arkit与Character Creator动画曲线的对接