日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Selenium實(shí)戰(zhàn):.Net下的自動(dòng)化測(cè)試搭建

這篇文章,其實(shí)我醞釀了好一陣子。作為一個(gè)開(kāi)發(fā)人員,搞這個(gè)事情總歸有點(diǎn)狗拿耗子的感覺(jué)。各位看官手下留情,西紅柿和雞蛋留著回去炒個(gè)菜別朝我來(lái)。博客我不常寫(xiě),至于文筆……大家忍忍就過(guò)去了。

話說(shuō)Selenium這東西出來(lái)很長(zhǎng)時(shí)間了,我開(kāi)始接觸的時(shí)候已經(jīng)是2.0發(fā)布以后的事情了??v觀國(guó)內(nèi),Selenium及其相關(guān)資料大多在Java領(lǐng)域有所耳聞,至于.Net的資料,國(guó)內(nèi)大體是很少的。作為堅(jiān)定的.Net陣營(yíng)程序員,我覺(jué)得這是無(wú)法忍受的。

一切的一切之前,先看看Selenium的體系結(jié)構(gòu):

  • Selenium IDE ——錄制腳本神器,雖然有時(shí)候會(huì)有點(diǎn)犯二,但是對(duì)于初學(xué)者用來(lái)快速上手不失為快捷簡(jiǎn)便的方法。
  • WebDriver ——腳本解析執(zhí)行者,無(wú)論錄制還是自己編寫(xiě)測(cè)試腳本,你都離不開(kāi)它來(lái)執(zhí)行。
  • Grid ——神級(jí)工具(對(duì)于高級(jí)應(yīng)用來(lái)說(shuō)它和宅男的快播一樣重要[[66712]],我這種小純潔是不可能用過(guò)快播的各位你們要相信我),主要是分布式執(zhí)行腳本,當(dāng)然,還可以借助它發(fā)揮其他作用,今后的文章肯定會(huì)提及它。

那么,了解完這就正式開(kāi)始了,這里我先給大家講講 .Net平臺(tái)下Selenium 環(huán)境的搭建。

首先,你要有一個(gè)內(nèi)褲(呃……),如圖所示,最簡(jiǎn)單的類(lèi)庫(kù)。其下的3rdParty是所有需要的第三方組件

接下來(lái),我們用Selenium IDE錄制一個(gè)百度搜索的腳本(敢問(wèn)度娘除了測(cè)試網(wǎng)速還有什么用?)

錄制過(guò)程我就不贅述了,網(wǎng)上一搜一大把。但是***需要注意的是我們要將輸出格式調(diào)整為C#

錄制的操作步驟為:

1、打開(kāi)百度

2、在關(guān)鍵字欄目輸入“暴走漫畫(huà)”

自動(dòng)得到以下代碼(僅貼出關(guān)鍵的,保護(hù)滾輪人人有責(zé))

這里和大家一起分析一下代碼的功能

SetUp特性是NUnit中提供的,表示這一部分是初始化工作

  1. 初始化了一個(gè)WebDriver提供的火狐驅(qū)動(dòng)器(FirefoxDriver),執(zhí)行腳本全靠它了。當(dāng)然這里可以有更多的選擇,例如IE、谷歌瀏覽器,甚至安卓等瀏覽器。不過(guò)根據(jù)經(jīng)驗(yàn),火狐17的ESR版本更加穩(wěn)定。
  2. 將根URL設(shè)置為度娘
  3. 將一個(gè)用于錯(cuò)誤記錄的S—B(你敢說(shuō)你沒(méi)用這個(gè)名字命名過(guò)這種變量?)

Test特性表示這一部分是測(cè)試代碼主體,可以看到都是基于驅(qū)動(dòng)器的實(shí)例在操作瀏覽器進(jìn)行點(diǎn)擊和輸入

  1. 導(dǎo)航到百度
  2. 找到id為kw的元素,并且清空它
  3. 找到id為kw的元素,并且鍵入“暴走漫畫(huà)”
  4. 找到id為su的元素,并且點(diǎn)擊它

這和我們錄制的操作基本一致

TearDown,眼淚落下,你說(shuō)測(cè)試結(jié)束的時(shí)候有特么這么煽情么?

  1. 試圖關(guān)閉瀏覽器,如果出錯(cuò)也不屌它,這里至今我也沒(méi)搞清楚為什么不做處理,希望神人解答。
  2. 然后看看上面創(chuàng)建的記錄錯(cuò)誤的S—B有沒(méi)有內(nèi)容,如果有內(nèi)容則測(cè)試失敗。

運(yùn)行我們可以發(fā)現(xiàn)回放正常,重復(fù)執(zhí)行了我們所錄制的操作。至此,最基本的測(cè)試框架就搭建完成。

其實(shí)一路下來(lái)我們發(fā)現(xiàn)其實(shí)很簡(jiǎn)單的,博主的智商也不過(guò)如此,這還需要寫(xiě)個(gè)什么鳥(niǎo)博客來(lái)JJYY一大串?

這個(gè)工程還只能供剛剛?cè)腴T(mén)的測(cè)試人員參考,在這個(gè)工程中,我們其實(shí)從表面上就可以發(fā)現(xiàn)很多的問(wèn)題:

  1. 代碼過(guò)于專(zhuān)業(yè)化,不自然,可讀性不高
  2. 錄制的腳本太過(guò)于機(jī)械化,例如Test中的第二句,其實(shí)在我們這次情況下是可有可無(wú)的。
  3. 重復(fù)代碼過(guò)多,不光是找元素的代碼driver.FindElement(By.Id("XX")),還有一些我沒(méi)有列出來(lái)的自動(dòng)生成的IsElementPresent、CloseAlertAndGetItsText,不得不說(shuō)這些方法是很有用的,但是如果你再錄制一個(gè)自動(dòng)生成的腳本,這些方法又會(huì)出現(xiàn),并且完全相同。在程序設(shè)計(jì)中,這些方法在維護(hù)的時(shí)候會(huì)非常令人頭疼,尤其是多起來(lái)了以后。

上面這些都是需要解決的問(wèn)題,真正的項(xiàng)目中的代碼如果寫(xiě)成這樣會(huì)被接你的班的程序員噴死的。那么,在下一次博客中,我們?cè)賮?lái)一起探討相關(guān)問(wèn)題,接下來(lái)是觀眾提問(wèn)時(shí)間謝謝~


新聞標(biāo)題:Selenium實(shí)戰(zhàn):.Net下的自動(dòng)化測(cè)試搭建
瀏覽路徑:http://www.dlmjj.cn/article/djspiic.html