美文网首页我爱编程
利用Python的unittest单元测试框架的discover

利用Python的unittest单元测试框架的discover

作者: mazl | 来源:发表于2017-07-24 17:26 被阅读180次

    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:\Python34\meizhu"

    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()

    相关文章

      网友评论

        本文标题:利用Python的unittest单元测试框架的discover

        本文链接:https://www.haomeiwen.com/subject/figbkxtx.html