美文网首页
测试多个文件

测试多个文件

作者: 点点寒彬 | 来源:发表于2015-12-03 14:44 被阅读139次

写测试案例的过程中,我们可以需要写多个py文件,一个一个的去执行再生成报告,不仅麻烦而且多份报告还要重新去整合,浪费时间,有没有一种方法可以把我们写的所有py文件同时执行呢?其实这种方法类似之前的测试多个类的方法。

编写多个测试案例文件

我们之前写了一个针对百度搜索的测试案例baidu.py,在这个文件的目录下,我们再写一个搜狗搜索的测试案例sougou.py。和百度搜索的代码类似,代码如下:

# -*- coding: utf-8 -*-
from selenium import webdriver
import HTMLTestRunner,time,unittest

class Sougou(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(30)
        self.base_url = "https://www.sogou.com"
        self.verificationErrors = []
        self.accept_next_alert = True

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([],self.verificationErrors)

    def test_sougou_search(self):
        driver = self.driver
        driver.get(self.base_url)
        driver.find_element_by_xpath('//*[@id="query"]').send_keys('selenium')
        driver.find_element_by_xpath('//*[@id="stb"]').click()
        time.sleep(2)
        driver.close()



if __name__ == '__main__':

    testunit = unittest.TestSuite()
    testunit.addTest(Sougou('test_sougou_search'))
    filename = '/Users/svenweng/Desktop/result-sougou.html'
    fp = file(filename,'wb')

    runner = HTMLTestRunner.HTMLTestRunner(
        stream = fp,
        title = 'Sougou Test Report',
        description = 'Sougou testcase'
        )
    runner.run(testunit)

执行上面的代码显示的结果就是在谷歌浏览器中搜索selenium,然后关闭浏览器,生成测试报告。

同时执行多个测试案例

这里就是本次要介绍的功能,没有新的知识点,只是把原来写过的文件导入同时执行测试。
新建一个all_tests.py文件,然后把我们需要测试的文件导入。

# -*- coding: utf-8 -*-
import unittest,HTMLTestRunner
import baidu,sougou

导入我们的测试文件后,使用下面的方法吧测试案例添加到执行集中。

testunit = unittest.TestSuite()
testunit.addTest(unittest.makeSuite(baidu.Baidu))
testunit.addTest(unittest.makeSuite(sougou.Sougou))
x = testunit.countTestCases()

testunit.countTestCases()这个功能表示在TestSuite一共放了几条测试案例。
然后我们再引入测试报告的内容,代码如下:

filename = '/Users/svenweng/Desktop/result.html'
fp = file(filename,'wb')

runner = HTMLTestRunner.HTMLTestRunner(
    stream = fp,
    title = 'Search Test Report',
    description = u'本次测试的案例数为:' + str(x) + u'条'
    )
runner.run(testunit)

这样我们就可以一次性跑多个测试案例,同时也只会生成一份测试报告。三个文件必须要放在同一个文件夹下,如果不是在同一个文件夹,import的时候需要注意导入的路径,源码如下:

# -*- coding: utf-8 -*-
import unittest,HTMLTestRunner
import baidu,sougou

testunit = unittest.TestSuite()
testunit.addTest(unittest.makeSuite(baidu.Baidu))
testunit.addTest(unittest.makeSuite(sougou.Sougou))
x = testunit.countTestCases()

filename = '/Users/svenweng/Desktop/result.html'
fp = file(filename,'wb')

runner = HTMLTestRunner.HTMLTestRunner(
    stream = fp,
    title = 'Search Test Report',
    description = u'本次测试的案例数为:' + str(x) + u'条'
    )
runner.run(testunit)
测试报告效果图

相关文章

  • 测试多个文件

    写测试案例的过程中,我们可以需要写多个py文件,一个一个的去执行再生成报告,不仅麻烦而且多份报告还要重新去整合,浪...

  • 多个测试用例文件执行

    """ 如何执行多个测试文件呢?unittest中的TestLoader类提供的discover()方法可以从多个...

  • 2018-05-30

    多个课上讲解的练习题就不发了! 文件复制 Fscanf测试 Fprintf测试 结构体录入 文件操作 字符串读写函...

  • Locust批量执行

    背景运维时,往往需要对多个接口做性能测试。Locust只能对单个py文件测试,若不优化需人工处理每个文件。 实现功...

  • XXE漏洞检测

    经过多番测试确定存在xxe漏洞 这里给出多个测试语句 引用远程服务器的dtd文件(burp数据包) dtd文件内容...

  • pytest-单元测试框架

    一 单元测试 针对软件的最小单位(函数、方法)进行测试 二 单元测试框架工作 1、测试发现:从多个文件中找到我们的...

  • 数据集分割

    一、单个文件分割训练集、测试集和验证集 一、单个文件分割多个训练集、测试集和验证集(5折) 有用的话,点个小红心哦!

  • TestNG.xml

    testng.xml文件是为了更方便的是配置测试用例,测试套件,利用这个文件,我们可以跑同一个类或者多个不同类里面...

  • 08|snapshot快照的使用

    一、快照的使用 1、测试单个配置文件 使用u模式可以更新快照 2、测试多个配置文件 i模式,交互式更新快照 3、e...

  • 12.html5笔记6HTML5之fileReader、webs

    图片预览 下载进度条 根据 onprogressimage.png 测试 abort 用处, 把文件拆分成多个, ...

网友评论

      本文标题:测试多个文件

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