zoukankan      html  css  js  c++  java
  • jQuery火箭图标返回顶部代码

      基于unittest测试框架编写的测试脚本,一般单个测试类下会有多个测试方法,unittest也提供多种测试执行方式,下面就不同方式或者需求一一实操并说明:

    一、使用unittest下main()方法的运行所有测试方法,实例代码如下:

    '''单个测试类的多种运行方式'''
    # -*- coding:utf-8 -*-
    import unittest
    from selenium import webdriver
    from time import sleep
    import HTMLTestRunner
    
    class BaiduSearch(unittest.TestCase):
        @classmethod   
        def setUpClass(cls):
            #create a new browser session
            cls.driver = webdriver.Chrome()
            cls.driver.implicitly_wait(30)
            cls.driver.maximize_window()
    
            cls.driver.get("https://www.baidu.com")
    
        def test_search_selenium(self):
            #get the search textbox and enter search keyword
            search_textbox = self.driver.find_element_by_id('kw')
            search_textbox.clear()
            search_textbox.send_keys("selenium")
            #get the and seacrh button and click
            seacrh_button = self.driver.find_element_by_id('su')
            seacrh_button.click()
            
            #add assert
            sleep(2)
            tag = self.driver.find_element_by_link_text("Selenium Remote Control").text
            self.assertIn("Selenium",tag)
    
        def test_search_python(self):
            search_textbox = self.driver.find_element_by_id('kw')
            search_textbox.clear()
            search_textbox.send_keys("python")
            seacrh_button = self.driver.find_element_by_id('su')
            seacrh_button.click()
    
            sleep(3)
            tag = self.driver.find_element_by_link_text("PyPI").text
            self.assertEqual("PyPI",tag)
    
        @classmethod
        def tearDownClass(cls):
            #close the browser window
            cls.driver.quit()
    
    #使用unittest下main()方法的运行所有测试方法
    if __name__ == '__main__':
        unittest.main(verbosity=2)  #传递verbosity参数查看更详细的测试结果展示

      运行结果如下 :

      

    二、使用TestLoader和TextTestRunner来创建和运行测试套件,代码如下:

    ...
    suite = unittest.TestLoader().loadTestsFromTestCase(BaiduSearch)     
    unittest.TextTestRunner(verbosity=2).run(suite)

      运行结果同上。

    三、使用TestSuite和TextTestRunner来创建和运行测试套件,代码如下:

    ...
    suite = unittest.TestSuite()
    suite.addTest(BaiduSearch("test_search_python"))   #使用addTest()添加测试类下面的单个测试方法
    suite.addTest(BaiduSearch("test_search_selenium"))
    unittest.TextTestRunner(verbosity=2).run(suite)

      运行结果同上。

      注意这个方法可以灵活只运行测试类下的任何一个或者几个测试方法,只需要addTest相应测试方法即可,或者在添加完所有方法后注释掉其中不打算测试的方法也可以。

    四、使用HTMLTestRunner和TestLoader来创建和运行测试套件并生成漂亮的HTML格式的测试报告,代码如下:

    ...
    suite = unittest.TestLoader().loadTestsFromTestCase(BaiduSearch)
    #open the report file
    report_file = open('./' + ' BaiduSearch_test.html', 'wb')
    #configure HTMLTestRunner options and run the suite
    HTMLTestRunner.HTMLTestRunner(stream = report_file,
                                  title = "baidu",
                                  description = "Baidu Test",
                                  verbosity=2).run(suite)

      运行结果同上且生成一个HTML格式的测试报告在当前目录下。

      

  • 相关阅读:
    Android中getLocationOnScreen和getLocationInWindow 获取屏幕大小
    Android Scroller类的详细分析
    This tag and its children can be replaced by one <TextView/> and a compound drawable
    Activity生命周期之我见
    ViewPager的使用方法和实现过程
    Android提高第九篇之GridView和SQLite实现分页表格
    关闭对话框,OnClose和OnCancel
    iOS: 学习笔记, 透过Boolean看Swift(译自: https://developer.apple.com/swift/blog/ Aug 5, 2014 Boolean)
    回复有关“清理哲学上的垃圾、雾霾......”的评议
    Android图片裁剪之自由裁剪
  • 原文地址:https://www.cnblogs.com/cnkemi/p/8945977.html
Copyright © 2011-2022 走看看