一衡奥、selenium工具介紹
1涂籽、定義:瀏覽器自動(dòng)化測(cè)試框架么抗,主要用于web應(yīng)用程序的自動(dòng)化測(cè)試毅否,同時(shí)支持所有基于web的任務(wù)管理自動(dòng)化
2、特點(diǎn):1)開(kāi)源蝇刀、免費(fèi)
? ? ? ? ? ? ? ? ? ?2)多瀏覽器支持:Chrome螟加、Firefox、IE吞琐、Opera
? ? ? ? ? ? ? ? ? ?3)多平臺(tái)支持:Windows捆探、Linux、Mac
? ? ? ? ? ? ? ? ? ?4)多語(yǔ)言支持:Java站粟、Python黍图、ruby、PHP奴烙、JavaScript
? ? ? ? ? ? ? ? ? ?5)對(duì)web頁(yè)面有良好的支持
? ? ? ? ? ? ? ? ? ?6)簡(jiǎn)單(API簡(jiǎn)單)助被、靈活(開(kāi)發(fā)語(yǔ)言驅(qū)動(dòng))
? ? ? ? ? ? ? ? ? ?7)支持分布式測(cè)試用例
3剖张、selenium經(jīng)歷了兩個(gè)版本selenium 1.0和selenium 2.0,由幾個(gè)工具組成揩环,每個(gè)工具都有其特點(diǎn)和應(yīng)用場(chǎng)景
1)selenium 1.0 分為3個(gè)工具
selenium IDE
selenium Grid
selenium RC-----client
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?server----launcher
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? http proxy
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? core
selenium IDE
是嵌入到Firefox瀏覽器中的一個(gè)插件修械,實(shí)現(xiàn)瀏覽器操作的簡(jiǎn)單的錄制和回放
應(yīng)用場(chǎng)景:快速的創(chuàng)建bug重現(xiàn)腳本,測(cè)試過(guò)程中检盼,發(fā)現(xiàn)了bug肯污,可以通過(guò)IDE將重現(xiàn)的bug錄制下來(lái),以幫助開(kāi)發(fā)人員更容易的重現(xiàn)bug
IDE錄制的腳本可以轉(zhuǎn)換成多種語(yǔ)言吨枉,從而幫助我們更快速的開(kāi)發(fā)腳本
selenium Grid
是一種自動(dòng)化的輔助測(cè)試工具蹦渣,Grid通過(guò)現(xiàn)有的計(jì)算機(jī)基礎(chǔ)設(shè)施能加快web-app的功能測(cè)試。
利用Grid貌亭,可以很方便的同時(shí)在多臺(tái)機(jī)器和異構(gòu)環(huán)境中并行運(yùn)行多個(gè)測(cè)試案例
特點(diǎn):1)并行執(zhí)行
? ? ? ? ? ? 2)通過(guò)一個(gè)主機(jī)控制用例在不同環(huán)境柬唯、不同瀏覽器下運(yùn)行
? ? ? ? ? ? 3)靈活添加變動(dòng)測(cè)試機(jī)
selenium RC(remote control)是selenium家族的核心工具,selenium RC支持多種不同編程語(yǔ)言編寫(xiě)自動(dòng)化腳本圃庭,通過(guò)selenium的服務(wù)器作為代理服務(wù)器去訪(fǎng)問(wèn)應(yīng)用從而實(shí)現(xiàn)測(cè)試的目的
組成:分為client libraries和selenium server
? ? ? ? ? ? client libraries庫(kù)主要用來(lái)編寫(xiě)測(cè)試腳本锄奢,用來(lái)控制selenium server的庫(kù)
? ? ? ? ? ? selenium server負(fù)責(zé)控制瀏覽器行為
? ? ? ? ? ? selenium server組成:分為3個(gè)部分launcher、http proxy剧腻、core
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?selenium core是被selenium server嵌入到瀏覽器頁(yè)面的拘央。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?seleniumcore其實(shí)就是一堆js函數(shù)的集合
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?通過(guò)這些js函數(shù),我們才能實(shí)現(xiàn)用程序?qū)g覽器進(jìn)行操作
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?launcher用于啟動(dòng)瀏覽器书在,把selenium core加載到瀏覽器頁(yè)面上灰伟,并把瀏覽器的代理服務(wù)器設(shè)置為selenium server的http proxy
2)selenium 2.0
在selenium 1.0的基礎(chǔ)上加上webdriver,就是selenium 2.0
webdriver是selenium RC的替代品儒旬,為了向下兼容性栏账,RC還可以使用
兩者區(qū)別:selenium RC在瀏覽器中運(yùn)行JavaScript應(yīng)用,使用瀏覽器內(nèi)置的JavaScript翻譯器來(lái)翻譯和執(zhí)行selenese命令(selenese是selenium 命令集合)
webdriver通過(guò)原生瀏覽器支持或?yàn)g覽器擴(kuò)展直接控制瀏覽器栈源,webdriver針對(duì)各瀏覽器開(kāi)發(fā)挡爵,取代了嵌入到各瀏覽器中的JavaScript。與瀏覽器的緊密結(jié)合甚垦,避免了JavaScript安全模型導(dǎo)致的限制
二茶鹃、前端技術(shù)介紹
1.HTML簡(jiǎn)介
HTML(hyper text markup language)超文本標(biāo)記語(yǔ)言,HTML是網(wǎng)頁(yè)的基礎(chǔ)制轰,并不是一種編程語(yǔ)言前计,而是一種標(biāo)記語(yǔ)言(一套標(biāo)記標(biāo)簽),可以在HTML中嵌入各種前端腳本語(yǔ)言垃杖,如VBscript男杈、JavaScript等。
簡(jiǎn)單的HTML頁(yè)面:
<html>
? ? ? ? ? <title>標(biāo)題</title>
? ? ? ? ?<body>
? ? ? ? ? ? ? ? ?<h1>正文</h1>
? ? ? ? ?</body>
</html>
<html></html>之間的文本用于描述網(wǎng)頁(yè)
<title></title>之間的內(nèi)容顯示在瀏覽器標(biāo)題欄调俘,收藏時(shí)看到的標(biāo)題
<body></body>之間的內(nèi)容是可見(jiàn)的文本內(nèi)容
<h1></h1>之間的文本被顯示為正文伶棒,h1表示為頁(yè)面的一號(hào)字體
2.JavaScript簡(jiǎn)介??
1)是一種前端腳本語(yǔ)言??
2)是一種解釋性語(yǔ)言(不需要預(yù)編譯)?
3)被設(shè)計(jì)用來(lái)向HTML頁(yè)面添加交互行為旺垒,通常被直接嵌入到HTML頁(yè)面中??
4)如果要在HTML頁(yè)面中使用JavaScript,需要添加標(biāo)簽肤无,同時(shí)使用type屬性來(lái)定義腳本語(yǔ)言
5)簡(jiǎn)單的js
<html>
? ? ? <body>
? ? ? ? ? ?<scirpt ?type ="txt/script">
? ? ? ? ? ? ? ? document.write("hello world")
? ? ? ? ? ? </script>
? ?</body>
</html>
通過(guò)<script type="hello world">和</script>就可以告訴瀏覽器JavaScript 腳本從何處開(kāi)始先蒋,到何處結(jié)束。使用document.write() 可以向文檔輸出寫(xiě)內(nèi)容宛渐。
3.xml簡(jiǎn)介??
1)XML和HTML區(qū)別? ??
?XML 是指擴(kuò)展標(biāo)記語(yǔ)言竞漾,是標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的一個(gè)子集;? ??
?與HTML 類(lèi)似窥翩,但它并非HTML 的替代品业岁,它們?yōu)椴煌哪康亩O(shè)計(jì);? ? ? ? ??
HTML被設(shè)計(jì)用來(lái)顯示數(shù)據(jù)寇蚊,其焦點(diǎn)是數(shù)據(jù)的外觀(guān)笔时。? ? ? ? ??
XML 被設(shè)計(jì)為傳輸和存儲(chǔ)數(shù)據(jù),其焦點(diǎn)是數(shù)據(jù)的內(nèi)容仗岸。??
2)簡(jiǎn)單的XML:
?<?xml version="1.0"?>一個(gè)應(yīng)該包含XML 的聲明允耿,它定義了XML 文檔的版本號(hào)。
<note></note>定義了文檔里的第一個(gè)元素扒怖,也叫根元素较锡。?
XML 允許自定義標(biāo)簽
前端學(xué)習(xí)網(wǎng)站:w3c、菜鳥(niǎo)教程等等
三姚垃、前端工具介紹
1.FireBug
FireBug 是FireFox 瀏覽器下的一套開(kāi)發(fā)類(lèi)插件念链。
它集HTML查看和編輯、Javascript 控制臺(tái)积糯、網(wǎng)絡(luò)狀況監(jiān)視器、cookie 查看于一體谦纱,是開(kāi)發(fā)JavaScript看成、CSS、HTML和Ajax 的得力助手跨嘉。
我們可以通過(guò)他方便的查看頁(yè)面上的元素川慌,從而根據(jù)其屬性進(jìn)行定位
安裝方式:firefox 瀏覽器的菜單欄中選擇tools(工具)
? ? ? ? ? ? ? ? ? ? --->add-ons Manage(r 添加組件),搜索 FireBug 祠乃;對(duì)有對(duì)搜索到的插件點(diǎn)擊安裝梦重,再次重啟瀏覽器即可使用。
2.FirePath
FirePath 是FireBug 插件擴(kuò)展的一個(gè)開(kāi)發(fā)工具亮瓷,用來(lái)編輯琴拧、檢查和生成的XPath 1.0 表達(dá)式、CSS 3選擇器以及jQuery 選擇器嘱支◎拘兀可以快速度的幫助我們通過(guò)xPath 和CSS 來(lái)定位頁(yè)面上的元素挣饥。
3.chrome 和IE 的開(kāi)發(fā)人員工具
1)chrome 和IE 瀏覽器同樣也提供了類(lèi)似FireBug 的開(kāi)發(fā)人員工具,可以幫助我們定位頁(yè)面元素沛膳。
2)chrome 瀏覽器默認(rèn)自帶chrome 開(kāi)發(fā)者工具扔枫,瀏覽器右上角的小扳手,在下拉菜單中選擇“工具”--“開(kāi)發(fā)者工具”即可打開(kāi)锹安,更為快捷的是通過(guò)Ctrl+Shift+I 或F12 打開(kāi)短荐。
3)IE 瀏覽器從IE8 版本開(kāi)始,加入了開(kāi)發(fā)人員工具叹哭,使用它也非常方便搓侄,通過(guò)菜單欄“工具”---“開(kāi)發(fā)人員工具”或者通過(guò)快捷鍵F12 即可打開(kāi)。
它提提供了瀏覽器的兼容模式话速,我們可以選擇瀏覽器模式切換到IE7 模式讶踪,IE 9/10 同樣提供向下兼容模式到IE7 ,有助于測(cè)試IE 瀏覽器的兼容性泊交。
以上總結(jié)來(lái)源于《selenium2自動(dòng)化實(shí)戰(zhàn)》