一、selenium工具介紹
1、定義:瀏覽器自動(dòng)化測(cè)試框架,主要用于web應(yīng)用程序的自動(dòng)化測(cè)試,同時(shí)支持所有基于web的任務(wù)管理自動(dòng)化
2、特點(diǎn):1)開源、免費(fèi)
? ? ? ? ? ? ? ? ? ?2)多瀏覽器支持:Chrome、Firefox、IE、Opera
? ? ? ? ? ? ? ? ? ?3)多平臺(tái)支持:Windows、Linux、Mac
? ? ? ? ? ? ? ? ? ?4)多語言支持:Java、Python、ruby、PHP、JavaScript
? ? ? ? ? ? ? ? ? ?5)對(duì)web頁面有良好的支持
? ? ? ? ? ? ? ? ? ?6)簡(jiǎn)單(API簡(jiǎn)單)、靈活(開發(fā)語言驅(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è)試過程中,發(fā)現(xiàn)了bug,可以通過IDE將重現(xiàn)的bug錄制下來,以幫助開發(fā)人員更容易的重現(xiàn)bug
IDE錄制的腳本可以轉(zhuǎn)換成多種語言,從而幫助我們更快速的開發(fā)腳本
selenium Grid
是一種自動(dòng)化的輔助測(cè)試工具,Grid通過現(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)通過一個(gè)主機(jī)控制用例在不同環(huán)境、不同瀏覽器下運(yùn)行
? ? ? ? ? ? 3)靈活添加變動(dòng)測(cè)試機(jī)
selenium RC(remote control)是selenium家族的核心工具,selenium RC支持多種不同編程語言編寫自動(dòng)化腳本,通過selenium的服務(wù)器作為代理服務(wù)器去訪問應(yīng)用從而實(shí)現(xiàn)測(cè)試的目的
組成:分為client libraries和selenium server
? ? ? ? ? ? client libraries庫主要用來編寫測(cè)試腳本,用來控制selenium server的庫
? ? ? ? ? ? selenium server負(fù)責(zé)控制瀏覽器行為
? ? ? ? ? ? selenium server組成:分為3個(gè)部分launcher、http proxy、core
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?selenium core是被selenium server嵌入到瀏覽器頁面的。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?seleniumcore其實(shí)就是一堆js函數(shù)的集合
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?通過這些js函數(shù),我們才能實(shí)現(xiàn)用程序?qū)g覽器進(jìn)行操作
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?launcher用于啟動(dòng)瀏覽器,把selenium core加載到瀏覽器頁面上,并把瀏覽器的代理服務(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翻譯器來翻譯和執(zhí)行selenese命令(selenese是selenium 命令集合)
webdriver通過原生瀏覽器支持或?yàn)g覽器擴(kuò)展直接控制瀏覽器,webdriver針對(duì)各瀏覽器開發(fā),取代了嵌入到各瀏覽器中的JavaScript。與瀏覽器的緊密結(jié)合,避免了JavaScript安全模型導(dǎo)致的限制
二、前端技術(shù)介紹
1.HTML簡(jiǎn)介
HTML(hyper text markup language)超文本標(biāo)記語言,HTML是網(wǎng)頁的基礎(chǔ),并不是一種編程語言,而是一種標(biāo)記語言(一套標(biāo)記標(biāo)簽),可以在HTML中嵌入各種前端腳本語言,如VBscript、JavaScript等。
簡(jiǎn)單的HTML頁面:
<html>
? ? ? ? ? <title>標(biāo)題</title>
? ? ? ? ?<body>
? ? ? ? ? ? ? ? ?<h1>正文</h1>
? ? ? ? ?</body>
</html>
<html></html>之間的文本用于描述網(wǎng)頁
<title></title>之間的內(nèi)容顯示在瀏覽器標(biāo)題欄,收藏時(shí)看到的標(biāo)題
<body></body>之間的內(nèi)容是可見的文本內(nèi)容
<h1></h1>之間的文本被顯示為正文,h1表示為頁面的一號(hào)字體
2.JavaScript簡(jiǎn)介??
1)是一種前端腳本語言??
2)是一種解釋性語言(不需要預(yù)編譯)?
3)被設(shè)計(jì)用來向HTML頁面添加交互行為,通常被直接嵌入到HTML頁面中??
4)如果要在HTML頁面中使用JavaScript,需要添加標(biāo)簽,同時(shí)使用type屬性來定義腳本語言
5)簡(jiǎn)單的js
<html>
? ? ? <body>
? ? ? ? ? ?<scirpt ?type ="txt/script">
? ? ? ? ? ? ? ? document.write("hello world")
? ? ? ? ? ? </script>
? ?</body>
</html>
通過<script type="hello world">和</script>就可以告訴瀏覽器JavaScript 腳本從何處開始,到何處結(jié)束。使用document.write() 可以向文檔輸出寫內(nèi)容。
3.xml簡(jiǎn)介??
1)XML和HTML區(qū)別? ??
?XML 是指擴(kuò)展標(biāo)記語言,是標(biāo)準(zhǔn)通用標(biāo)記語言的一個(gè)子集;? ??
?與HTML 類似,但它并非HTML 的替代品,它們?yōu)椴煌哪康亩O(shè)計(jì);? ? ? ? ??
HTML被設(shè)計(jì)用來顯示數(shù)據(jù),其焦點(diǎn)是數(shù)據(jù)的外觀。? ? ? ? ??
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、菜鳥教程等等
三、前端工具介紹
1.FireBug
FireBug 是FireFox 瀏覽器下的一套開發(fā)類插件。
它集HTML查看和編輯、Javascript 控制臺(tái)、網(wǎng)絡(luò)狀況監(jiān)視器、cookie 查看于一體,是開發(fā)JavaScript、CSS、HTML和Ajax 的得力助手。
我們可以通過他方便的查看頁面上的元素,從而根據(jù)其屬性進(jìn)行定位
安裝方式:firefox 瀏覽器的菜單欄中選擇tools(工具)
? ? ? ? ? ? ? ? ? ? --->add-ons Manage(r 添加組件),搜索 FireBug ;對(duì)有對(duì)搜索到的插件點(diǎn)擊安裝,再次重啟瀏覽器即可使用。
2.FirePath
FirePath 是FireBug 插件擴(kuò)展的一個(gè)開發(fā)工具,用來編輯、檢查和生成的XPath 1.0 表達(dá)式、CSS 3選擇器以及jQuery 選擇器。可以快速度的幫助我們通過xPath 和CSS 來定位頁面上的元素。
3.chrome 和IE 的開發(fā)人員工具
1)chrome 和IE 瀏覽器同樣也提供了類似FireBug 的開發(fā)人員工具,可以幫助我們定位頁面元素。
2)chrome 瀏覽器默認(rèn)自帶chrome 開發(fā)者工具,瀏覽器右上角的小扳手,在下拉菜單中選擇“工具”--“開發(fā)者工具”即可打開,更為快捷的是通過Ctrl+Shift+I 或F12 打開。
3)IE 瀏覽器從IE8 版本開始,加入了開發(fā)人員工具,使用它也非常方便,通過菜單欄“工具”---“開發(fā)人員工具”或者通過快捷鍵F12 即可打開。
它提提供了瀏覽器的兼容模式,我們可以選擇瀏覽器模式切換到IE7 模式,IE 9/10 同樣提供向下兼容模式到IE7 ,有助于測(cè)試IE 瀏覽器的兼容性。
以上總結(jié)來源于《selenium2自動(dòng)化實(shí)戰(zhàn)》