大屏20基于Selenium的Web自動(dòng)化測試框架完美版自動(dòng)化解決方案開源項(xiàng)目_第1頁
大屏20基于Selenium的Web自動(dòng)化測試框架完美版自動(dòng)化解決方案開源項(xiàng)目_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余6頁可下載查看

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15、MySql 等常數(shù)據(jù)庫數(shù)據(jù)檢查功能,獲取數(shù)據(jù)庫字段值,保存到本地緩存,然后進(jìn)對效驗(yàn),需使正則表達(dá)式8.實(shí)現(xiàn)了快速獲取界信息數(shù)據(jù)到本地緩存功能,獲取當(dāng)前界上的數(shù)據(jù),保存到本地緩存,可作測試?yán)齾?shù)使,需使正則表達(dá)式9.實(shí)現(xiàn)了常APIPOSTGET)等,可直接在測試腳本中調(diào),只需傳遞對應(yīng)參數(shù)即可,滿多種測試需求10.實(shí)現(xiàn)了基于TestNG成的測試報(bào)告次美化功能,界更美觀,內(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),具體安裝參考:注意事項(xiàng):程項(xiàng)編碼需要設(shè)置成UTF-8,否則會(huì)出現(xiàn)中亂碼情況、創(chuàng)建測試對象類,例如【 GiteeLogin.java】 =、創(chuàng)建測試腳本例,例如【 GiteeLogin.xml】 message= message=以上只是單個(gè)案例, XXX 賬戶和 XXX密碼請的真實(shí)數(shù)據(jù),是不是很簡單,和寫測試?yán)局拢ヾesc=expect=:三、Selenium 服務(wù)配置:=測試執(zhí)時(shí)需要在perties件中,指定瀏覽器和瀏覽器配置件,當(dāng)前為狐瀏覽器安裝路徑,和狐瀏覽器配置件路徑webdriver.firefox.bin=C:Program FilesMoz

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

18、tc host件末尾添加1 六、Jnekins 持續(xù)集成:搭建 Jenkins:配置 Jenkins動(dòng)化持續(xù)集成項(xiàng),即可實(shí)現(xiàn)遠(yuǎn)程服務(wù)器動(dòng)(構(gòu)建,編譯,打包)運(yùn)腳本,發(fā)送郵件測試報(bào)告等 = = 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標(biāo)簽List i

21、mgList = driver.findElements(By.tagName(img);System.out.println(imgList.size();try Thread.sleep(10000); catch (Exception e) e.printStackTrace();便利所有標(biāo)簽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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論