Hello小伙伴們杈抢,愉快的周末結束了数尿,別忘了學習,今天回顧第五課內容。主要分三部分
下面開始我的表演了:
一.定位元素的By.js方法
它這是幾個意思呢?它的意思是在js方法里傳一段javascript代碼來找到元素進行定位收壕,又懵了吧,咱們有話進百度說
前期準備做好何陆,打開瀏覽器,定位方法By.js窥岩,要傳javascript代碼甲献,那后面跟個function方法宰缤,沒毛病
接下來颂翼,坐穩(wěn)了,要放大招了
咦慨灭?在哪里朦乏,在哪里見過你,這段代碼如此熟悉氧骤,別一時想不起呻疹。
沒錯你們見過,不是在夢里筹陵,在上節(jié)課的筆記里刽锤,定位元素后面舉過一個動態(tài)定位的栗子,道理一樣的朦佩,只不過這里把這個值return回來并思,這一段在console里面的代碼就是一段Javascript代碼,多做練習多比較你就明白了语稠,我先幫你到這噢
后面當然是被我們玩爛了的sendKeys啦宋彼,記得把K大寫,這里初學者很容易出問題仙畦。
二.在時間控件上輸入日期
如果在這種情況下输涕,想訂張五一的票出去浪,那得點擊后面的小箭頭吧慨畸,定位元素去吧莱坎,去點個編輯器的功夫,日期頁面就不見了寸士,跟上次那個動態(tài)的定位有一拼檐什,怎么玩瞳收,前面說了這么多鋪墊,你心里肯定能有點數(shù)了
找到日期框對應的元素
這一段不啰嗦了厢汹,javascript代碼
既然javascript代碼可以直接將時間定位到我們想要的日期螟深,那怎么把它寫到Node.js的自動化代碼里面去呢?那必須調方法啊烫葬,這次調這個executeScript
不用findElement了界弧,直接調用直接輸入,開心吧
三.cucumber的“背景”功能用法
這里我們結合Cnode社區(qū)的發(fā)帖功能來說
創(chuàng)建一個新的劇本搭综,兩個場景垢箕,發(fā)帖和改貼,有沒有發(fā)現(xiàn)兩個場景下面有一個相同的功能點是登陸兑巾,同樣条获,如果新加一個刪除帖子的場景,第一步要做的還是登陸操作蒋歌,既然這是一個公共的操作帅掘,可以把它單獨提取出來嗎,答案是:當然可以堂油!這就是我們要說的“背景”
下面修档,我們在最開始的地方新建一個場景,就是我們之前做過的登陸場景府框,還是這個地方吱窝,把類型改成背景
之后你就會發(fā)現(xiàn),下面每一個場景操作之前都會先走背景這個步驟
之前登陸步驟寫過辣么多迫靖,現(xiàn)在再逐條的寫院峡,想不想哭,別哭系宜,有辦法照激,看到這里的搜索按鈕了嗎,哎蜈首,點一下
左邊這些熟悉嗎实抡,當然啊,化成灰都認識欢策,之前寫過的登陸步驟嘛吆寨,點住了往右拖就行了,不用重新寫
接下來是按套路出牌踩寇,補充發(fā)帖場景啄清,發(fā)送文字的場景憑大家的聰明才智都是小case,下面我們舉一個特殊一點的例子,帖子里發(fā)送圖片的場景
首先點擊“發(fā)布話題”按鈕進入發(fā)布話題頁面
這個框里面的代碼是干什么用的呢辣卒,就是我們點擊了“發(fā)布話題”按鈕它應該跳轉發(fā)布話題頁面吧掷贾,那是不是真的進入了這個頁面呢,我們需要做一個斷言荣茫,這一段就是斷言想帅,斷言的依據(jù)是頁面的url地址,先去頁面里拿到頁面的真實url地址啡莉,賦值給變量url港准,然后用getCurrentUrl的方法讀取點擊按鈕后跳轉的地址鏈接,assert斷言如果兩個地址一致咧欣,說明跳轉的頁面是正確的浅缸。
接下來進行上傳圖片
那么問題來了,開發(fā)者工具無法獲取到我們要上傳的圖片的路徑
點擊上傳圖片魄咕,找到input,type是file的控件衩椒,可以看到后面它接收的是image,那就沒錯了哮兰,接下來就調用sendKeys發(fā)送圖片路徑就OK了
這里windows的路徑一定要注意一下,要用雙斜杠“\\”,不然找不到圖片還報錯喲
上面有兩段sleep奠蹬,這里是對兩個步驟之間加了個等待操作朝聋,為什么這樣做呢?不知道大家有沒有過這樣的經(jīng)歷囤躁,那就是一個網(wǎng)頁打開的速度沒有趕上定位元素的速度,例如上面這個操作里荔睹,點擊了圖片跳轉到上傳圖片這個過程需要3秒鐘狸演,但是,下一步的查找元素操作主要1.5秒僻他,那就意味著宵距,當要查找的元素還沒出現(xiàn)時,定位元素已經(jīng)開動了吨拗,所以你的操作結果里一定會有一個報錯叫做元素找不到满哪,你的第一反應肯定是定位方法出了問題,于是把所有方法都換了一邊發(fā)現(xiàn)還是不對劝篷,其實問題的根本在于需要一個給頁面緩沖的時間哨鸭。
注意:sleep后面的數(shù)字,它的單位是毫秒娇妓,所以3000意味著3秒像鸡,可不是3000秒啊
到這里,本節(jié)課要介紹的內容基本結束了哈恰,手癢的小伙伴趕緊打開工具開玩吧
更多精彩盡在騰訊課堂
https://ke.qq.com/course/281565#tuin=173f40be只估,周一至周五晚上8:00
測試工具CukeTest下載地址http://www.cuketest.com/