美文网首页
【python+selenium】并发执行测试用例

【python+selenium】并发执行测试用例

作者: 柠月如风000 | 来源:发表于2019-01-04 18:01 被阅读0次

前提:

1.全部的测试用例脚本均放在web_testcase文件夹下

2.生成测试报告的文件HTMLTestRunner_cn.py(转自GitHub - GoverSky/HTMLTestRunner_cn: HTMLTestRunner 汉化版,同时支持python 2和3,增加截图展示功能,失败重试

具体代码如下:


# coding=utf-8

import unittest,os,time

import HTMLTestRunner_cn

import threading

import send_email

import sys

sys.path.append('..')

casepath = os.path.dirname(os.path.abspath('.'))+"/web_testcase"

if not os.path.exists(casepath):

    print("测试用例需放到‘case’文件目录下")

    os.mkdir(casepath)

reportpath = os.path.dirname(os.path.abspath('.'))+"/result/report"

if not os.path.exists(reportpath): os.mkdir(reportpath)

# 确定测试用例以及测试报告所在文件夹

def allcase():

    discover = unittest.defaultTestLoader.discover(casepath,

                                                    pattern = "test*.py",

                                                    top_level_dir= None)

    return discover

# 获取全部测试用例文件

def runcase(suite):

    current_time = time.strftime("%Y-%m-%d-%H-%M")

    report_name =  current_time + "_Test_Result.html"

    htmlreportpath = os.path.join(reportpath,report_name)

    fp = open(htmlreportpath,"wb")

    proclist=[]

    s=0

    for i in suite:

        runner = HTMLTestRunner_cn.HTMLTestRunner(title="测试报告"+ str(s+1),

                                                description = '并发执行测试用例:' ,

                                                stream = fp,

                                                verbosity=2,

                                                retry=1,

                                                save_last_try=True)

        proc = threading.Thread(target=runner.run,args=(i,))

        proclist.append(proc)

        s=s+1

    for proc in proclist:

        proc.start()

    for proc in proclist:

        proc.join()

    fp.close()

    send_email.send_email(htmlreportpath)

if __name__ == "__main__":

    runtmp = allcase()

    runcase(runtmp)


上述代码,虽然能减少测试用例运行时间且成功的执行并生成测试报告,但是仍有不足之处:

1.生成的测试报告页面,每个测试用例文件均分开显示(如果可以将全部测试)

2.命令行仅打印出了某个测试用例文件中测试用例的执行结果,其他的均没有在cmd窗口显示测试结果(未知原因)

相关文章

  • 【python+selenium】并发执行测试用例

    前提: 1.全部的测试用例脚本均放在web_testcase文件夹下 2.生成测试报告的文件HTMLTestRun...

  • 13.2 并发执行

    当我们有成千上万个自动化测试用例时,为了提高测试用例的执行速度,往往我们需要对测试用例进行并发执行。并发执行的方式...

  • python unittest (draft)

    使用unittest.main() 方法执行 输出: 使用“unittest.main()”执行测试用例时,每个测...

  • 可复用测试用例研究(用例库)

    软件测试的关键环节是设计和执行测试用例。测试用例的质量与测试人员的技能、经验以及对被测软件的理解密切相关。如果测...

  • maven打包

    mvn install命令 1.打包会执行测试用例,如果测试用例报错不通过是打不了包的 2.maven打包时跳过测...

  • 关于软件定制测试流程

    软件定制的测试流程一般是:制定测试计划-编辑测试用例-执行测试用例-发现问题并且提交bug-开发工程师修正Bug测...

  • 软件测试常见问题

    1、软件测试流程是什么? ①需求分析,需求评审②编写测试计划③编写测试用例,用例评审④执行测试,提交bug,回归测...

  • 编写测试用例

    软件测试用例: 软件测试用例就是指导你执行测试,帮助你证明软件功能或发现软件缺陷的一种说明。 可以总结为:每一个测...

  • 高效测试库:python3-fastunit

    python3-fastunit是使用协程并发执行测试用例的测试库,能够极大提高测试执行效率!更多关于python...

  • Python+Selenium执行结果,封装函数,用Python

    上文中,介绍了如何用python+selenium自动化测试实战:邮箱登录为例验证了登录成功的测试用例。那如果我们...

网友评论

      本文标题:【python+selenium】并发执行测试用例

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