實(shí)踐selenium自動(dòng)化時(shí)先要弄清的幾件事

最近在招聘,很多同學(xué)的簡(jiǎn)歷都有自動(dòng)化測(cè)試蝴乔,基本都有selenium记餐。但很少有人真正弄清selenium。一個(gè)是selenium的提供了很多組件薇正,讓人容易上手片酝,然后很多人就沒(méi)有然后了巩剖。二是selenium的更新伴隨著工具的合并,很多人壓根沒(méi)高清自己用的是selenium RC 還是 webdriver钠怯。根據(jù)最近面試的情況佳魔,把很多同學(xué)在實(shí)踐selenium的時(shí)候沒(méi)弄清的問(wèn)題總結(jié)了一下。詳述如下:


1 selenium 工具組件

1.1 selenium2晦炊,也稱(chēng)為selenium webdriver鞠鲜。webdriver原來(lái)是另一個(gè)自動(dòng)化測(cè)試工具,后與selenium 合并了断国。webdriver直接調(diào)用瀏覽器本身對(duì)自動(dòng)化支持的接口來(lái)驅(qū)動(dòng)瀏覽器的操作贤姆。故名思義,它將有不同的driver來(lái)驅(qū)動(dòng)不同系統(tǒng)上不同的瀏覽器稳衬。

1.2 selenium1霞捡,也稱(chēng)為seleniumRC或者Remote Control。就是selenium的原本項(xiàng)目薄疚。RC是在瀏覽器啟動(dòng)后碧信,使用js來(lái)驅(qū)動(dòng)瀏覽器的操作。為什么叫RC呢街夭?因?yàn)镽C的設(shè)計(jì)是可以支持控制遠(yuǎn)程服務(wù)器上的selenium server來(lái)操作遠(yuǎn)程端的瀏覽器砰碴。

1.3 seleniumIDE,這個(gè)是大家都明確的板丽,以插件的形式安裝在firefox呈枉,用于錄制。

1.4 selenium-grid埃碱,這個(gè)是對(duì)使用RC進(jìn)行測(cè)試時(shí)猖辫,需要執(zhí)行大量用例或分布式執(zhí)行的時(shí)候,提供的框架砚殿,就是建立多個(gè)服務(wù)器的hub與node的關(guān)系而已啃憎。

簡(jiǎn)單說(shuō),selenium項(xiàng)目原本的工具是IDE瓮具、RC荧飞、grid。而webdriver確實(shí)功能強(qiáng)大名党,“他們”討論討論叹阔,就把它被并入selenium了。


2 工具包

目前selenium的包已升級(jí)到3.x传睹,大概是16年下半年耳幢。常用的包如下:

2.1 Selenium Standalone Server 作為遠(yuǎn)程的服務(wù),運(yùn)行RC和webdriver。從3.x版本開(kāi)始睛藻,RC不能直接運(yùn)行启上,需要通過(guò)WebDriverBackedSelenium的接口。

2.2 selenium client & webdriver :編寫(xiě)RC店印、webdriver代碼需要的包冈在。主要支持:java、c#按摘、ruby包券、python、js炫贤。

2.3 google chrome driver:支持google chrome的driver溅固。有win、mac兰珍、linux版本侍郭。

2.4 htmlUnitDriver:不使用具體的瀏覽器,而是在內(nèi)存中運(yùn)行掠河。

2.5 Mozilla GeckoDriver:支持火狐瀏覽器的driver亮元。有win、mac口柳、linux版本

更多的包參考:http://www.seleniumhq.org/download/


3 選用工具

了解階段:IDE+firefox

入門(mén)階段:RC苹粟、webDriver+firefox

深入階段: webdriver+testNG+google chrome driver+一門(mén)編程語(yǔ)言

瀏覽器選用google chrome 主要是經(jīng)驗(yàn)主觀覺(jué)得selenium對(duì)firefox新版本的支持一直比較慢。而google chrome的較穩(wěn)定跃闹。


4 mac系統(tǒng)下google chrome瀏覽器的路徑配置

win系統(tǒng)的資料比較多,主要說(shuō)下mac系統(tǒng)的問(wèn)題毛好。

在創(chuàng)建driver時(shí)望艺,找不到瀏覽器路徑,通常使用設(shè)定系統(tǒng)屬性來(lái)實(shí)現(xiàn)肌访。

而在mac系統(tǒng)下找默,使用google chrome瀏覽器或firefox時(shí),先下載對(duì)應(yīng)的 driver吼驶。在代碼中配置driver的地址惩激,再創(chuàng)建driver,例如 :

System.setProperty("webdriver.chrome.driver","/Users/yp-tc-m-2933/Desktop/selejar/chromedriver");

WebDriverdriver=newChromeDriver();

親測(cè):firefox 51.0.1 (64 位)蟹演,mac 10.10.5风钻。創(chuàng)建firefox driver后直接崩潰。


5 元素定位與可測(cè)性

selenium提供了很豐富的元素定位工具酒请。但總是會(huì)有找不到或者變更頻繁的骡技,導(dǎo)致元素定位失敗。實(shí)際上,作為測(cè)試方布朦,在系統(tǒng)設(shè)計(jì)時(shí)囤萤,就應(yīng)該提出對(duì)頁(yè)面測(cè)試的需求,在頁(yè)面設(shè)計(jì)時(shí)是趴,在頁(yè)面元素中埋入測(cè)試屬性值涛舍。這就降低了頁(yè)面自動(dòng)化的難度,不用把時(shí)間花在復(fù)雜的定位元素的過(guò)程中唆途,并且最重要的是避免一旦頁(yè)面修改做盅,帶來(lái)的腳本維護(hù)工作。這就提高了系統(tǒng)可測(cè)性窘哈。


6 后續(xù)

隨著對(duì)測(cè)試開(kāi)發(fā)的逐漸流行吹榴,測(cè)試人員的代碼能力也在提升。在selenium的學(xué)習(xí)中滚婉,更需要掌握webdriver的api图筹,探索selenium的更多特性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末让腹,一起剝皮案震驚了整個(gè)濱河市远剩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌骇窍,老刑警劉巖瓜晤,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異腹纳,居然都是意外死亡痢掠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén)嘲恍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)足画,“玉大人,你說(shuō)我怎么就攤上這事佃牛⊙痛牵” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵俘侠,是天一觀的道長(zhǎng)象缀。 經(jīng)常有香客問(wèn)我,道長(zhǎng)爷速,這世上最難降的妖魔是什么央星? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮遍希,結(jié)果婚禮上等曼,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好禁谦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布胁黑。 她就那樣靜靜地躺著,像睡著了一般州泊。 火紅的嫁衣襯著肌膚如雪丧蘸。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天遥皂,我揣著相機(jī)與錄音力喷,去河邊找鬼。 笑死演训,一個(gè)胖子當(dāng)著我的面吹牛弟孟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播样悟,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼拂募,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了窟她?” 一聲冷哼從身側(cè)響起陈症,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎震糖,沒(méi)想到半個(gè)月后录肯,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吊说,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年论咏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疏叨。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡潘靖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蚤蔓,到底是詐尸還是另有隱情,我是刑警寧澤糊余,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布秀又,位于F島的核電站,受9級(jí)特大地震影響贬芥,放射性物質(zhì)發(fā)生泄漏吐辙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一蘸劈、第九天 我趴在偏房一處隱蔽的房頂上張望昏苏。 院中可真熱鬧,春花似錦、人聲如沸贤惯。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)孵构。三九已至屁商,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間颈墅,已是汗流浹背蜡镶。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留恤筛,地道東北人官还。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像毒坛,于是被迫代替她去往敵國(guó)和親望伦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容