午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

使用python學(xué)習(xí)selenium2--使用unittest進(jìn)行測試

 Macalist 2016-08-31

目錄

unittest可以為webdriver增加setup、teardown、檢查應(yīng)用狀態(tài)、報(bào)告測試結(jié)果、數(shù)據(jù)驅(qū)動(dòng)等功能。主要內(nèi)容如下:

  • 什么是unittest?
  • 使用unittest來編寫硒webDriver測試
  • 基于TestCase類實(shí)現(xiàn)測試
  • 理解各種類型的assert方法
  • 創(chuàng)建一組測試為TestSuite
  • 使用unittest擴(kuò)展生成HTML格式的測試報(bào)告

unittest庫

此部分后面會(huì)與 python模塊介紹-unittest:單元測試框架 整合。鏈接中的地址為準(zhǔn)。

主要組成如下:

  • Test Fixture:準(zhǔn)備及清理工作。
  • Test Case: 通常是使用assert方法檢查動(dòng)作和輸入的響應(yīng),一般是基于TestCase類擴(kuò)充。
  • Test Suite:多個(gè)測試的集合。
  • Test Runner:測試執(zhí)行。
  • Test Report:測試報(bào)告。

測試通常由3A組成:

  • Arrange:預(yù)置條件、相關(guān)配置和依賴等。
  • Act:實(shí)際功能。
  • Assert:斷言。

其他框架有Pytest和Nose等。

TestCase類

import unittest
from selenium import webdriver
class SearchTests(unittest.TestCase):
	def setUp(self):
		# create a new Firefox session
		self.driver = webdriver.Firefox()
		self.driver.implicitly_wait(30)
		self.driver.maximize_window()
		# navigate to the application home page
		self.driver.get("http://demo./")
	def test_search_by_category(self):
		# get the search textbox
		self.search_field = self.driver.find_element_by_name("q")
		self.search_field.clear()
		# enter search keyword and submit
		self.search_field.send_keys("phones")
		self.search_field.submit()
		# get all the anchor elements which have product names displayed
		# currently on result page using find_elements_by_xpath method
		products = self.driver			.find_elements_by_xpath("http://h2[@class='product-name']/a")
		self.assertEqual(2, len(products))
	def test_search_by_name(self):
		# get the search textbox
		self.search_field = self.driver.find_element_by_name("q")
		self.search_field.clear()
		# enter search keyword and submit
		self.search_field.send_keys("salt shaker")
		self.search_field.submit()
		# get all the anchor elements which have product names displayed
		# currently on result page using find_elements_by_xpath method
		products = self.driver.			find_elements_by_xpath("http://h2[@class='product-name']/a")
		self.assertEqual(1, len(products))
	def tearDown(self):
		# close the browser window
		self.driver.quit()
if __name__ == '__main__':
	unittest.main(verbosity=2)

需要選擇一個(gè)合適IDE,要求如下:

  • 代碼完成和智能提示的圖形化代碼編輯器
  • 函數(shù)和類的代碼瀏覽器
  • 語法高亮
  • 項(xiàng)目管理
  • 代碼模板
  • 單元測試和調(diào)試
  • 源代碼控制支持

推薦:WingIDE,PyCharm,PyDev Eclipse plugin,PyScripter。相關(guān)下載地址如下:

本文地址

參考資料

  • 作者:Unmesh Gundecha
  • 評(píng)審:Adil Imroz:alam.adil12#gmail.com Twitter at @adilimroz
  • 評(píng)審: Walt Stoneburner: wls#wwco.com Walt.Stoneburner#gmail.com    

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多