您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
自動(dòng)化基礎(chǔ)普及之selenium是什么?
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/9/22 11:34:07 ] 推薦標(biāo)簽:開源軟件測試 Selenium

  Webdriver  如何組織和執(zhí)行用例?
  對不起,webdriver 不會(huì)。
  把寫好這些操作頁面元素的方法(用例)組織起來執(zhí)行并輸入測試結(jié)果,是由編程語言的單元測試框架去完成的。如java 的junit和testng單元測試框架,python 的unittest單元測試框架等。
  Selenium RC 和WebDriver 什么關(guān)系?
  RC和 WebDriver 類似,都可以看做是一套操作web頁面的規(guī)范。當(dāng)然,他們的工作原理不一樣。
  selenium RC 在瀏覽器中運(yùn)行 JavaScript 應(yīng)用,使用瀏覽器內(nèi)置的 JavaScript 翻譯器來翻譯和執(zhí)行selenese 命令(selenese 是 selenium 命令集合) 。
  WebDriver 通過原生瀏覽器支持或者瀏覽器擴(kuò)展直接控制瀏覽器。WebDriver 針對各個(gè)瀏覽器而開發(fā),取代了嵌入到被測 Web 應(yīng)用中的 JavaScript。與瀏覽器的緊密集成支持創(chuàng)建更高級的測試,避免了JavaScript 安全模型導(dǎo)致的限制。除了來自瀏覽器廠商的支持,WebDriver 還利用操作系統(tǒng)級的調(diào)用模擬用戶輸入。
  看樣子webdriver 更牛B一些。為了保持向兼容,所以selenium 2.0中,RC 和webdriver 并存,但說起selenium 2.0 一般指的是webdriver 。
  并行與分布式的區(qū)別
  有同學(xué)好奇如何并行的執(zhí)行測試用例,并行要求“同時(shí)”執(zhí)行多條用例,這個(gè)也是由編程語言的多線程技術(shù)實(shí)現(xiàn)的。
  你會(huì)問Selenium Grid 不是可以實(shí)現(xiàn)分布式執(zhí)行么? 分布式的概念是寫好一條用例可以調(diào)用不同的平臺執(zhí)行,如 A電腦上有一個(gè)測試用例,可以調(diào)用B電腦(linux)的 Firefox瀏覽器來跑A電腦上的測試用例;也可以調(diào)用C電腦(windows)的 Chrome瀏覽器來跑A電腦上的測試用例。這是分布式的概念。
  Selenium如何能做移動(dòng)端測試么?
  這里我們以python 語言為例。
  from selenium import webdriver
  driver= webdriver.Chrome()   #獲取瀏覽器驅(qū)動(dòng)。拿到瀏覽器驅(qū)動(dòng)driver 才能操作瀏覽器所打找的頁面上的元素。
  我們把驅(qū)動(dòng)展開是這樣的
from selenium import webdriver
driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities={'platform': 'ANY',
'browserName':chrome,
'version': '',
'javascriptEnabled': True
})
  驅(qū)動(dòng)里包含了一些參數(shù),代理服務(wù)器(URL)平臺,瀏覽器 ,瀏覽器版本等。
  移動(dòng)端的自動(dòng)化測試工具Appium
  從本質(zhì)上來講,appium同樣繼承了WebDriver  API的接口規(guī)范。Appium 同樣是支持多種編程語言的。這里仍然以python 為例子。
  from appium import webdriver  #導(dǎo)入python版的 appium(webdriver)模塊
#定義驅(qū)動(dòng)的參數(shù)
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.2'
desired_caps['deviceName'] = 'Android Emulator'
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = '.Calculator'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
  這一次因?yàn)槲覀儾僮鞯氖且苿?dòng)端的安卓。所以我們驅(qū)動(dòng)的參數(shù)里要指定平臺是'Android' ,版本是4.2 等信息。拿到驅(qū)動(dòng)后,可以操作安卓上的APP了。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd