• 利用Python的unittest单元测试框架的discover方法批量执行脚本用例


    1.在用Python自动化时,执行单个脚本用例那都是so easying当脚本用例不断地增多时,那就蒙蔽了,一个个来跑到什么时候才跑完,所以discover方法作用就出来,废话不多,小编直接上代码了,如有疑问,可以咨询小编

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    from selenium import webdriver
    import time,os
    from selenium.webdriver.common.action_chains import ActionChains
    import pickle
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.ui import Select
    from selenium.common.exceptions import NoSuchElementException
    import unittest, re,os
    import logging
    import math
    from selenium.webdriver.support import expected_conditions as EC
    import time
    import HTMLTestRunner
    #time.strftime('%Y-%m-%d-%H-%M',time.localtime(tim.e.time()))
    import compileall#将py文件编译成二进制的pyc文件
    #compileall.compile_dir(r'H:/game')
    #这样就把game目录,以及其子目录下的py文件编译为pyc文件了

    case_dir = "C:Python34meizhu"

    def creatsuitel():
    testunit=unittest.TestSuite()#初始化一个测试套件
    discover = unittest.defaultTestLoader.discover(case_dir, pattern="test*.py",top_level_dir=None)

    """

    1.discover方法里面有三个参数:

    -case_dir:这个是待执行用例的目录。

    -pattern:这个是匹配脚本名称的规则,test*.py意思是匹配test开头的所有脚本。

    -top_level_dir:这个是顶层目录的名称,一般默认等于None就行了。

    2.discover加载到的用例是一个list集合,需要重新写入到一个list对象testcase里,这样就可以用unittest里面的TextTestRunner这里类的run方法去执行。

    """
    for test_suite in discover:

    for meizhu in test_suite:
    testunit.addTests(meizhu)
    print(testunit)
    return(testunit)

    #利用for循环遍历匹配已test开头脚本文件,然后加载到测试套件中

    #alltestnames = creatsuitel()
    if __name__ == "__main__":
    #runner = unittest.TextTestRunner()
    now = time.strftime('%Y-%m-%d-%H-%M',time.localtime(time.time())) #输出当前时间
    fp=open("result"+now+".html",'wb')
    runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'用例执行情况',description=u'报告:')
    runner.run(creatsuitel())
    fp.close()

  • 相关阅读:
    select,radio,checkbox的美化
    BBMASTER 博客
    thymeleaf教程
    Spring Boot入门01
    thymeleaf
    [转]Eclipse中10个最有用的快捷键组合
    SpringMVC实现文件上传
    Maven_项目管理利器入门
    [转]centos6.5安装mysql
    YOUNG博客项目设计书_v01.00_账号管理模块
  • 原文地址:https://www.cnblogs.com/Huangsh2017Come-on/p/6882646.html
Copyright © 2020-2023  润新知