大屏20基于Selenium的Web自動化測試框架完美版自動化解決方案開源項目_第1頁
大屏20基于Selenium的Web自動化測試框架完美版自動化解決方案開源項目_第2頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、屏基于Selenium的動化測試框架完美版動化解決案 開源項 20基于 Selenium 的 Web動化測試框架完美版動化解決案SeleniumWeb Jason Huggins2004Thought 的內(nèi)部具。Selenium持跨不同瀏覽器,平臺和編程語的動化。SeleniumWindowsLinuxSolarisMacintosh等平臺上。iOS(iOSWindows MobileAndroid)。SeleniumSeleniumC#JavaPerlPHPPythonRubySelenium Web驅(qū)動程序最受JavaC#歡迎。 SeleniumWeb瀏覽器中運。SeleniumInter

2、netExplorerMozilla FirefoxGoogle ChromeSafari。SeleniumMavenJenkinsDocker等動化測試具集成,以實現(xiàn)持續(xù)測試。它還可以與TestNGJUnit等具集成,以管理測試例和成報告。Selenium功能特性SeleniumWeb測試框架。Selenium IDE為創(chuàng)作測試提供了回放和錄制功能,需學習測試腳本語。它可以被視為領(lǐng)先的基于云的測試平臺,可幫助測試員記錄他們的操作并將其導(dǎo)出為可重復(fù)使的腳本,并具有易于理解且易于使的界。Selenium: JavaPythonPHPRubyPerlJavaScript:AndroidiOSWin

3、dowsLinuxSolaris。Mozilla FirefoxInternet EdgeSafari等。它還持并測試執(zhí),從減少了時間并提了測試效率。SeleniumAntMaven等框架集成,于源代碼編譯。SeleniumTestNG等測試框架集成,以進應(yīng)程序測試和成報告。Selenium需要的資源更少。WebDriver APISeleniumSelenium進的最重要的修改之。Selenium Web驅(qū)動程序不需要服務(wù)器安裝,測試腳本直接與瀏覽器交互。Selenium命令根據(jù)不同的類進分類,使其更易于理解和實現(xiàn)。Selenium Remote Control(RC)WebDriver A

4、PISelenium 2.0。Ajax。Selenium的局限性Selenium不持桌應(yīng)程序的動化測試。Selenium需要技能才能更有效地動化測試。Selenium是開源軟件,因此您必須依靠社區(qū)論壇來解決技術(shù)問題。SeleniumWebSOAPREST)執(zhí)動化測試。Selenium WebDriver中創(chuàng)建測試腳本。UTF/QTP元素。Page Object Model克服此限制。Selenium;JUnitTestNG等插件來獲取測試報告。SeleniumSikuli集成以進基于圖像的測試。UFTRFTSilkSelenium中創(chuàng)建測試環(huán)境需要更多時間。新功能沒有可能少使,它們可能會也可能

5、不會正常作。Selenium不為測試管理提供任何測試具集成。Selenium 安裝pythonpyCharm的安裝路徑不要有空格,不然識別不了SeleniumWebWeb動化測試。函數(shù)常靈活,能夠完成界元素定位、窗跳轉(zhuǎn)、結(jié)果較。具有如下特點:、多瀏覽器持FirefoxSafariChromeAndroid機瀏覽器等。、持多種語JavaC#PythonRubyPHP等。三、持多種操作系統(tǒng)WindowsLinuxAndroid等。四、開源免費框架由多個具組成,包括:Selenium IDESelenium RCSelenium WebDriverSeleniumRC。Selenium IDEFir

6、eFox的個插件,擁有個易于使的界。它擁有記錄功能,能夠記錄戶執(zhí)的操作,并可以導(dǎo)出為可重復(fù)使的腳本。Selenium IDESelenium的命令。該具實際使不多。Selenium RCSelenium RCseleniumSelenium RCSeleniumRC的服務(wù)器作為代理服務(wù)器去訪問應(yīng),從達到測試的的。SeleniumRCClientLibrariesSeleniumServerClientLibrariesSeleniumServerSeleniumServer負責控制瀏覽器為。SeleniumServerLauncherHttp CoreSelenium CoreSelenium

7、 ServerSeleniumCoreJavaScript函數(shù)的JavaScriptLauncherSelenium Core加載到瀏覽器頁當中,并把瀏覽器的代理設(shè)置為SeleniumServerHttpProxy。SeleniumRemote Control Server這樣個代理JavaScript腳本注和與ServerServer來進。之所以引這個代理Remote ControlServerServer,達到使其以為是從同個地loadRC的流程為:1.請求建與selenium-RC server的連接2. Selenium RC Server Selenium CoreSelenium

8、ServerHttp Proxy3.Selenium ServerSelenium ServerHttp JSSelenium Core執(zhí)操作瀏覽器的動作并注JS代碼4.Selenium Core執(zhí)接受到的指令并操作5.請求6. Selenium ServerWeb頁7. Selenium ServerHttp 把接受到的頁返回給瀏覽器Selenium WebDriverSelenium RCJavaScriptSelenium RCServerWebAPIJavascriptSelenium內(nèi)核啟動瀏覽JavascriptWebJavascriptSeleniumWeb操作。這種Javasc

9、riptSeleniumAPIJavascript質(zhì)量低。Selenium2.xWebDriverAPISeleniumWebDriverAPIAPI,速度提,Web元素的操作和呈現(xiàn)多少會有些差異,這就直接導(dǎo)致了Selenium WebDriverFirefoxFirefoxDriverChromeChromeDriverAndroidDriver和iOS WebDriver)SeleniumRC今為還保留著,應(yīng)該是考慮到向前兼容。Selenium RCWebFriverHtmlUnitSeleniumFirefoxWebFriverHtmlUnit在系統(tǒng)內(nèi)存中迅速的執(zhí),但是Webdriver

10、Selenium GridWebFriver要求針對瀏覽器選擇最合適的語來編寫腳本,眾所周知,程序員總是希望使擅長的語來編寫腳本,公司也不可能派多個腳本員在個項中僅僅是為了多瀏覽器持。因此,我們需要款具,它能夠把兩者的優(yōu)點集合起來,這就是我們下Selenium 2.0Selenium 1.0+Webdriver 。Selenium2WebDriverRCWebDriverSimon StewartWebDriverRCRCJavaScriptWebDriverFirefox中, JavaScript最JavaScriptWebDriver不僅僅具有這些能,它還能夠調(diào)操作系統(tǒng)API,尤其是當戶需

11、要模擬標和鍵盤進真是的頁操作的時候,這項能的作尤為明顯。WebDriverAndroidDriver,ChromeDriver, FirefoxDriver, HtmlUnitDriver,EventFiringWebDriver,InternetExplorerDriver, IPhoneDriver, IPhoneSimulatorDriver, 。Selenium GridSelenium Grid12Selenium12Selenium Gridselenium2的所有功能了。兩個版本原理和基本作式都是2Selenium1Selenium2兩種協(xié)議,并且在些的功能和易性上進了優(yōu)化。的模

12、式,只能在臺機器上進測試??梢栽谏蟽煞N式下進執(zhí),第種是每臺機器都是致的,第種是可以指定特定的瀏覽器或者特定的操作系統(tǒng)執(zhí)。Selenium的核具,關(guān)系如下。除了這四個具外,還有兩個具介紹下。FireBugFirebugFirefoxHtml,CssJavaScript調(diào)試。FirePath查閱 Selenium(Web 動化測試框架體系)Selenium 是個于Web應(yīng)程序的動化測試具,直接運在瀏覽器中,就像真正的戶在操作樣持的瀏覽器包括Mozilla FirefoxGoogle Chrome等持多種語,如C#PythonRubyPHP 等跨平臺,如WindowsLinuxiOSAndriod

13、等開源免費源碼地址:框架介紹:Java + Selenium + Maven + TestNG + JDBC + Xml+ Git + +Ant + Jenkins使 Java作為項編程語使 Selenium 作為 Web項底層服務(wù)驅(qū)動框架使 Maven作為項類型,便管理架包使 TestNG作為項運框架,便執(zhí)測試例,成測試報告使 JDBC 作為數(shù)據(jù)庫管理具,便連接數(shù)據(jù)庫,執(zhí)SQL使 Xml作為例管理具,便編寫測試例,維護測試腳本使 Git作為倉庫管理具,便管理項代碼使 Ant作為 Java的 build 打包具,便項代碼打包使 Jenkins作為動化持續(xù)集成平臺,便動編譯,動打包,動運測試腳本

14、,郵件發(fā)送測試報告主要功能:1.實現(xiàn)了基于SeleniumWebDriver 等常操作法的次封裝,包括(滑動,點擊,輸,元素定位)等,使起來更簡便2.實現(xiàn)了基于Windows 操作系統(tǒng)的cmd常 DOS命令的快速調(diào)3.實現(xiàn)了基于Windows 操作系統(tǒng)等鍵盤按鍵功能的調(diào),可模擬實際的鍵盤操作4.實現(xiàn)了基于Selenium 的斷功能,檢查點失敗動截圖保存,可在測試報告中查看,個檢查點失敗不影響后續(xù)例執(zhí)5.實現(xiàn)了基于XmlUnitCaseStep)等,基本內(nèi)容符合測試例編寫步驟,編寫測試例腳本更簡單6.實現(xiàn)的基于MySql 等常數(shù)據(jù)庫SQLInsert DeleteUpdate操作等7.實現(xiàn)了基于

15、MySql 等常數(shù)據(jù)庫數(shù)據(jù)檢查功能,獲取數(shù)據(jù)庫字段值,保存到本地緩存,然后進對效驗,需使正則表達式8.實現(xiàn)了快速獲取界信息數(shù)據(jù)到本地緩存功能,獲取當前界上的數(shù)據(jù),保存到本地緩存,可作測試例參數(shù)使,需使正則表達式9.實現(xiàn)了常APIPOSTGET)等,可直接在測試腳本中調(diào),只需傳遞對應(yīng)參數(shù)即可,滿多種測試需求10.實現(xiàn)了基于TestNG成的測試報告次美化功能,界更美觀,內(nèi)容清晰環(huán)境配置:1.2. /.0.11.部分站需要,具體安裝參考:建議 Selenium 版本對應(yīng) Firefox 2.53.0 47.0.2 )Python環(huán)境下需要下載Geckodriver和 Ch

16、romeDriver,且版本需對應(yīng),具體安裝參考:注意事項:程項編碼需要設(shè)置成UTF-8,否則會出現(xiàn)中亂碼情況、創(chuàng)建測試對象類,例如【 GiteeLogin.java】 =、創(chuàng)建測試腳本例,例如【 GiteeLogin.xml】 message= message=以上只是單個案例, XXX 賬戶和 XXX密碼請的真實數(shù)據(jù),是不是很簡單,和寫測試例基本致)desc=expect=:三、Selenium 服務(wù)配置:=測試執(zhí)時需要在perties件中,指定瀏覽器和瀏覽器配置件,當前為狐瀏覽器安裝路徑,和狐瀏覽器配置件路徑webdriver.firefox.bin=C:Program FilesMoz

17、illa Firefoxfile=C:UsersKing-liuAppDataRoamingMozillaFirefoxProfilesf7ps027y.default四、執(zhí)例:GiteeLogin.javaGiteeLogin.xml】后,在 Eclipse 項下選擇WeChatLogin.java 右鍵使 TestNG運即可五、測試報告:測試報告分為兩種,種是TestNG帶的 TestngReport測試報告,另外種則是調(diào)ExtentReports成的報告,第種更加美觀 第種測試報告,需要*才能正常顯,否則頁顯亂碼,因為是國外的東西或者在 C:WindowsSystem32driverse

18、tc host件末尾添加1 六、Jnekins 持續(xù)集成:搭建 Jenkins:配置 Jenkins動化持續(xù)集成項,即可實現(xiàn)遠程服務(wù)器動(構(gòu)建,編譯,打包)運腳本,發(fā)送郵件測試報告等 = = a: = = = = = = * * * 0* = = = = = a: = 123456789 10 11 12 1314 15 16 17=18 1920= 212223242526272829303132333435363738394041424344454647484950515253545556 :/ / title= + + = 575859import java.io.DataInputSt

19、ream;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import .HttpURLConnection;import .URL;import java.util.ArrayList;import java.util.List;import mons.io.input.ReaderInputStream;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selen

20、ium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;public class Geturl public static List geturls(String baseUrl)List urllist=new ArrayList();System.setProperty(webdriver.chrome.driver, E:webDriverchromedriverV2.28.exe);WebDriver driver = new ChromeDriver();driver.get(baseUrl);img標簽List i

21、mgList = driver.findElements(By.tagName(img);System.out.println(imgList.size();try Thread.sleep(10000); catch (Exception e) e.printStackTrace();便利所有標簽try for (WebElement a : imgList) /System.out.println(a.getText();imgdata-imgurl data-imgurlimgdata-imgurl屬性值String urlStr = a.getAttribute(src);/*if(urlStr.contains(.jpg) urllist.add(urlStr);*/ catch (Exception e) e.printStackTrace();return urllist;public static void downloadImg(List urllist) throws Excep

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論