zoukankan      html  css  js  c++  java
  • Python+selenium之简单介绍unittest单元测试框架

    Python+selenium之简单介绍unittest单元测试框架

    一、unittest简单介绍

    unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是test,也就是一个测试用例。要了解unittest单元测试框架,先来了解以下几个重要的概念。

    1.测试固件(test fixture

          一个测试固件包括两部分,执行测试代码之前的准备部分和测试结束之后的清扫代码。这两部分一般用函数setUp()和tearDown()表示。这里举例以下,例如要测试百度搜索selenium这个场景,我们的测试固件可以这样写,setUp()里写打开浏览器,浏览器最大化,和打开百度首页等脚本代码;在tearDown()里写结束搜索后,退出并关闭浏览器的代码。

    2.测试用例(test case

           unittest中管理的最小单元是测试用例,一个测试用例,包括测试固件,和具体测试业务的函数或者方法。一个测试用例中,测试固件可以不写,但是至少有一个已test开头的函数。unittest会自动化识别test开头的函数是测试代码,如果你写的函数不是test开头,unittest是不会执行这个函数里面的脚本的,这个千万要记住,所有的测试函数都要test开头,记住是小写的哦。

    3.测试套件 (test suite

           很简单,就是很多测试用例的集合,叫测试套件,一个测试套件可以随意管理多个测试用例。如果测试用例比作单个学生,测试套件就是好像是班级的概念。

    4.测试执行器 (test runner

           test runner是一个用来执行加载测试用例,并执行用例,且提供测试输出的一个组建。test runner可以加载test case或者test suite进行执行测试任务。

    二、举例

    1.此例暂时只是简单介绍test fixture和test case的使用

    2.新建一个testbaidu.py文件

    3.导入unittest模块

    4.当前测试类继承unittest.TestCase,相当于当前利用unittest创建了一个test case,这个test case是能够被unittest直接识别。

    5.写setUP(),主要是打开浏览器和打开站点

    6.写tearDown,用来关闭浏览器等

    7.写一个测试方法testSearch

    8.相关脚本代码如下所示:

    #coding:utf=8

    from selenium import webdriver

    import time

    import unittest

    class Baidu(unittest.TestCase):

        def setUp(self):

            self.driver=webdriver.Firefox()

            self.driver.maximize_window()

            self.driver.implicitly_wait(8)

            self.driver.get("https://www.baidu.com/")

        def tearDown(self):

            time.sleep(2)

            self.driver.quit()

        def testSearch(self):

            self.driver.find_element_by_id('kw').send_keys("selenium")

            self.driver.find_element_by_id('su').click()

            try:

                assert 'selenium' in self.driver.title

                print 'Test pass'

            except Exception as e:

                print 'Test failed',format(e)

     

    9.编写好之后,直接点击鼠标右键,【run Unittests XXX】即可

    10.运行之后的界面如下图所示

    11.注意:之前我将这个testbaidu.py文件名命名的是kuang.py,然后鼠标右键时,就没有【run Unittests XXX】这个选项,重命名之后,右键鼠标就有这个选项了,记住,不能直接命名为test.py,这个右键鼠标也是不行的。

    详情参考:http://blog.csdn.net/u011541946/article/details/70238473

  • 相关阅读:
    玩转MySQL之Linux下的简单操作(服务启动与关闭、启动与关闭、查看版本)
    玩转MySQL之Linux下修改默认编码
    机器学习算法及应用领域相关的中国大牛
    [转载]Python 包管理工具解惑
    Vim常用操作和快捷键技巧总结
    [转载]那些C++牛人的博客
    [转载]学习c/c++的好网站
    [转载]C++内存管理
    [转载]SQL数据库如何加快查询速度
    [转载]Python3.x和Python2.x的区别
  • 原文地址:https://www.cnblogs.com/Rita-LJ/p/8126563.html
Copyright © 2011-2022 走看看