介紹與安裝
SeleniumIDE是一個(gè)網(wǎng)頁(yè)自動(dòng)化工具徽惋,它可以自動(dòng)記錄你在瀏覽器內(nèi)的一切操作,一步步都錄制下來(lái),并且可以自動(dòng)重新播放芜果,可以說(shuō)就是我們?yōu)g覽網(wǎng)站所有動(dòng)作的錄像機(jī)∪谑Γ——這就實(shí)現(xiàn)了頁(yè)面的自動(dòng)化右钾,主要用來(lái)web開(kāi)發(fā)測(cè)試。
Selenium官方網(wǎng)站,Selenium包含兩個(gè)工具旱爆,一個(gè)是今天我們要介紹的IDE舀射,另外一個(gè)是Webdriver稍后我們介紹。
SeleniumIDE其實(shí)是一個(gè)瀏覽器插件怀伦,你可以直接在谷歌Chrome瀏覽器應(yīng)用商店安裝脆烟,電腦上點(diǎn)這個(gè)鏈接。
安裝成功之后瀏覽器右上角會(huì)出現(xiàn)一個(gè)新的圖標(biāo)房待。
簡(jiǎn)單使用
點(diǎn)擊圖標(biāo)打開(kāi)IDE窗口邢羔,第一次啟動(dòng)你需要?jiǎng)?chuàng)建一個(gè)新項(xiàng)目create new project驼抹,輸入任意一個(gè)名稱PROJECT NAME比如 mytest
,然后輸入任意一個(gè)地址BASE URL比如https://www.baidu.com
拜鹤,然后Start Recording就會(huì)彈出一個(gè)瀏覽器窗口框冀,IDE也會(huì)變?yōu)檫@樣。
默認(rèn)這時(shí)已經(jīng)開(kāi)始記錄了明也,在IDE右上角錄像按鈕已經(jīng)激活。
這樣你就可以在右側(cè)瀏覽器窗口執(zhí)行動(dòng)作了惯裕,比如在輸入框輸入一些文字進(jìn)行温数,然后點(diǎn)擊搜索按鈕,跳轉(zhuǎn)到新的頁(yè)面蜻势,這些動(dòng)作都會(huì)被自動(dòng)記錄到IDE的動(dòng)作列表里面去帆吻。
例如圖中紅色框出的一行就是一個(gè)動(dòng)作,其中:
- Command命令type表示這是打字動(dòng)作
- Target目標(biāo)id=kw表示頁(yè)面上那個(gè)百度輸入框
- Value值是“人工智能通識(shí)”表示我剛才打字的內(nèi)容咙边,就是搜索內(nèi)容
下面一行send keys表示下一動(dòng)作猜煮,就是我點(diǎn)擊了百度搜索按鈕。
我們點(diǎn)擊一行動(dòng)作败许,下面就會(huì)顯示這些詳情王带,并且提供了很方便修改的按鈕,比如點(diǎn)擊下圖紅框按鈕就可以直接到右側(cè)瀏覽器窗口中點(diǎn)另外的鏈接或者按鈕市殷,自動(dòng)會(huì)改變Target愕撰,同樣也可以在這里修改Value改變搜索內(nèi)容。
注意Target這個(gè)下拉菜單醋寝,Target就是我們?cè)跒g覽器中點(diǎn)擊的元素搞挣,但是IDE是怎么找到這個(gè)元素的呢?可以有很多種方法音羞,比如在頁(yè)面上自動(dòng)搜索你點(diǎn)擊的文字囱桨,或者搜索這個(gè)元素的html標(biāo)記名或者css樣式或者id屬性什么的,你可以在這個(gè)下拉菜單改變搜索方法嗅绰。
每條動(dòng)作右側(cè)都有一個(gè)三點(diǎn)按鈕舍肠,點(diǎn)擊可以執(zhí)行刪除動(dòng)作delete、增加動(dòng)作insert等操作窘面。
好了翠语,如果你覺(jué)得可以了,那就點(diǎn)擊右上角紅色閃爍按鈕暫停錄像财边,再保存一下吧~ 然后點(diǎn)擊播放按鈕開(kāi)始自動(dòng)重現(xiàn)你剛才的瀏覽器動(dòng)作~
你將會(huì)看到右側(cè)瀏覽器自動(dòng)打開(kāi)百度肌括,自動(dòng)輸入“人工智能通識(shí)”,并進(jìn)行搜索酣难,就像有人操作一樣谍夭。
循環(huán)執(zhí)行
每次播放都只是運(yùn)行一次黑滴,有沒(méi)有辦法運(yùn)行多次呢?
先了解一下幾個(gè)特殊動(dòng)作:
execute script
表示運(yùn)行一個(gè)代碼慧库,Target就是要被運(yùn)行的代碼跷跪,return是輸出結(jié)果,Value是表示運(yùn)行結(jié)果的變量齐板。上面圖上這一條看上去挺復(fù)雜的動(dòng)作其實(shí)就是var counter=1
do
命令其實(shí)沒(méi)啥意思吵瞻,但會(huì)把下面的命令都往右推一下,表示下面這些命令都要被它執(zhí)行甘磨。
又是execute script
橡羞,這次相當(dāng)于counter=counter+1
,這里要用${}
把我們之前設(shè)定的變量括起來(lái)济舆。
最后我們需要給do
動(dòng)作一個(gè)結(jié)尾卿泽,repeat if
方法就是判斷是否重復(fù)上面這些do
動(dòng)作,如果if(counter<5)
就repeat do
滋觉。
好了签夭,有了這幾個(gè)動(dòng)作,再次點(diǎn)擊播放按鈕椎侠,就會(huì)看到動(dòng)作被重復(fù)4次第租。
從頁(yè)面中提取文字
能不能把頁(yè)面上的文字作為var變量使用呢?
看一下這個(gè)圖:
store text
就是把頁(yè)面上某個(gè)元素的文字保存為變量我纪,在這里insert插入了一個(gè)store text
命令慎宾,目標(biāo)Target使用按鈕直接從瀏覽器左上角點(diǎn)換膚
鏈接文字,Value設(shè)置為mytext
浅悉,這就相當(dāng)于var mytext=從瀏覽器中搜索css=.s-skin > .title這個(gè)元素得到的文字
趟据。有了mytext
我們就能在下面type打字動(dòng)作中使用${mytext}
了。
運(yùn)行一下术健,什么結(jié)果呢汹碱?每次都是百度搜索“換膚”了。
動(dòng)態(tài)變量
能不能每次搜索不一樣的單詞呢苛坚?
看一下這個(gè)圖(紅色為新增比被,藍(lán)色為修改,綠色為調(diào)整位置):
- 使用
execute script
在開(kāi)始創(chuàng)建names= ['周杰倫','趙麗穎','鹿晗','蜘蛛俠','孫悟空']
列表泼舱。 - 中間再增加
name=${names}[${counter}]
這句,因?yàn)樵赥ype打字的Value內(nèi)并不能計(jì)算方括號(hào)枷莉。 - 打字動(dòng)作的Value改為
${name}${mytext}
娇昙,注意這里不需要使用加號(hào)。
每個(gè)人的智能新時(shí)代
如果您發(fā)現(xiàn)文章錯(cuò)誤冒掌,請(qǐng)不吝留言指正噪裕;
如果您覺(jué)得有用,請(qǐng)點(diǎn)喜歡股毫;
如果您覺(jué)得很有用膳音,歡迎轉(zhuǎn)載~
END