亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Python+Selenium框架設計篇??unittest單元測試框架
作者:Anthony_tester 發(fā)布時間:[ 2017/6/21 13:56:05 ] 推薦標簽:功能測試 單元測試

  unittest是一個單元測試框架,是Python編程的單元測試框架。有時候,也做叫做“PyUnit”,是Junit的Python語言版本。這里了解下,Junit是Java語言的單元測試框架,Java還有一個很好用的單元測試框架叫TestNG,本系列只學習Python,所以只需要unittest是Python里的一個單元測試框架可以了。
  unittest支持測試自動化,共享測試用例中的初始化和關閉退出代碼,在unittest中小單元是test,也是一個測試用例。要了解unittest單元測試框架,先來了解以下幾個重要的概念。
  測試固件(test fixture)
  一個測試固件包括兩部分,執(zhí)行測試代碼之前的準備部分和測試結(jié)束之后的清掃代碼。這兩部分一般用函數(shù)setUp()和tearDown()表示。這里舉例以下,例如要測試百度搜索selenium這個場景,我們的測試固件可以這樣寫,setUp()里寫打開瀏覽器,瀏覽器大化,和打開百度首頁等腳本代碼;在tearDown()里寫結(jié)束搜索后,退出并關閉瀏覽器的代碼。
  測試用例(test case)
  unittest中管理的小單元是測試用例,一個測試用例,包括測試固件,和具體測試業(yè)務的函數(shù)或者方法。一個測試用例中,測試固件可以不寫,但是至少有一個已test開頭的函數(shù)。unittest會自動化識別test開頭的函數(shù)是測試代碼,如果你寫的函數(shù)不是test開頭,unittest是不會執(zhí)行這個函數(shù)里面的腳本的,這個千萬要記住,所有的測試函數(shù)都要test開頭,記住是小寫的哦。
  測試套件 (test suite)
  很簡單,是很多測試用例的集合,叫測試套件,一個測試套件可以隨意管理多個測試用例。如果測試用例比作單個學生,測試套件是好像是班級的概念。
  測試執(zhí)行器 (test runner)
  test runner是一個用來執(zhí)行加載測試用例,并執(zhí)行用例,且提供測試輸出的一個組建。test runner可以加載test case或者test suite進行執(zhí)行測試任務。
  我們舉例來,練習一下test fixture和test case的使用,學習unittest的簡單用法:
  1. 新建一個testbaidu.py的文件
  2. 導入unittest模塊
  3. 當前測試類繼承unittest.TestCase,相當于當前利用unittest創(chuàng)建了一個test case,這個test case是能夠被unittest直接識別。
  4. 寫setUP(),主要是打開瀏覽器和打開站點
  5. 寫一個test_search()用例寫搜索的代碼
  6. 寫tearDown(),主要是瀏覽器退出操作
  相關腳本代碼如下:
   [python] view plain copy
  # coding=utf-8
  import time
  import unittest
  from selenium import webdriver


  class BaiduSearch(unittest.TestCase):

  def setUp(self):
  """
  測試固件的setUp()的代碼,主要是測試的前提準備工作
  :return:
  """
  self.driver = webdriver.Chrome()
  self.driver.maximize_window()
  self.driver.implicitly_wait(8)
  self.driver.get("https://www.baidu.com")

  def tearDown(self):
  """
  測試結(jié)束后的操作,這里基本上都是關閉瀏覽器
  :return:
  """
  self.driver.quit()

  def test_baidu_search(self):
  """
  這里一定要test開頭,把測試邏輯代碼封裝到一個test開頭的方法里。
  :return:
  """
  self.driver.find_element_by_id('kw').send_keys('selenium')
  time.sleep(1)
  try:
  assert 'selenium' in self.driver.title
  print ('Test Pass.')
  except Exception as e:
  print ('Test Fail.', format(e))

  if __name__ == '__main__':
  unittest.main()
  解釋:
  后結(jié)尾處的unittest.main(),添加這個是支持在cmd,里面,cd到這個腳本文件所在的目錄,然后Python 腳本名.py執(zhí)行,如果不添加這一段,是無法執(zhí)行cmd里面運行腳本的,在PyCharm中,不添加后一段,也可以通過,右鍵 Run "unittest xxx",來達到執(zhí)行效果。

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 一二三四社区在线视频社区 | 日本三级s级在线播放 | 黄色片视频免费观看 | 中国国产一国产一级毛片视频 | 激情插插 | 欧美日韩国产免费一区二区三区 | 免费国产不卡午夜福在线 | 曰批全过程免费视频观看软件 | 丝袜美女网 | 国精品午夜dy8888狼人 | 91精品国产美女福到在线不卡 | 精品亚洲综合久久中文字幕 | 97色偷偷| 高清freexxxx性 | 亚洲春色第一页 | 日韩操操操 | 国产欧美日本在线 | 天天色天天草 | 被男人吃奶很爽的毛片两男一女 | 噜噜噜天天躁狠狠躁夜夜精品 | 日日噜噜噜噜人人爽亚洲精品 | 亚洲综合久久一本伊伊区 | 欧美中文日韩 | 边做边叫床的大尺度视频免费 | 国产欧美日韩另类va在线 | 91看片淫黄大片欧美看国产片 | 欧美200z人禽交 | 欧美成人手机视频 | 免费国产成人18在线观看 | 一级片在线免费 | 男女性接交无遮挡免费看视频 | 成年网站在线观看视频 | 国产黑丝视频 | 永久网站色视频在线观看免费 | 欧美视频一二三区 | 黄色三级一级片 | 伊人网综合 | 午夜资源 | 国产欧美一区二区 | 精品视频一区二区三区四区 | 成年人色网站 |