Node.js結(jié)合selenium做web自動化測試第三課

又過了一天,又見面了删掀,今天Node.js結(jié)合selenium做web自動化測試的第三課,我們來嘗試從0創(chuàng)建一個自動化腳本导街,怎么樣披泪,有沒有很期待

這里呢,首先我們要感謝我們的大神趙老師搬瑰,出資購買了一臺云服務(wù)器款票,為大家搭建了一個真實的在線項目供大家練手,這就是后面我們使用率會高達百分之好幾百的Cnode社區(qū)?http://118.31.19.120:3000/泽论,希望大家玩的開心艾少,玩的盡興,你一定會愛上這里

那下面廢話不多說翼悴,擼起袖子咱們開始干吧

第1步缚够,我們打開命令行,cd Desktop進入桌面(進別的路徑也可以噢抄瓦,這里為了方便給大家展示所以在桌面上)

2.?mkdir 20180315 ??在桌面上創(chuàng)建一個名叫20180315的文件夾

這個時候去桌面上看潮瓶,一定會多一個這樣的文件夾,ok钙姊,接著往下走

3.?cd 20180315 ? cd命令就是打開這個文件夾的意思毯辅,聰明如你,一定不需要多解釋的

4. npm init ? 這個操作煞额,就是初始化項目了思恐,當你看到我下面標紅框的這段的時候沾谜,后面它是不會自己往下走的,怎么辦呢胀莹,動動你勤勞的小手基跑,按一下Enter鍵,但是不只按一下哦描焰,記得它蹦出來一行你就按一下媳否,直到它問你“Is this OK?”這里點最后一下Enter鍵荆秦,項目的初始化就完成了

完成后篱竭,我們?nèi)プ烂嫔洗蜷_20180315這個文件夾,你會發(fā)現(xiàn)步绸,這里多了一個package.json文件掺逼,恭喜你,這一步成功

到這里瓤介,我們想一下吕喘,從課程開始,我們的標題一直都是結(jié)合selenium做web自動化測試刑桑,大家一定會問氯质,selenium到底是什么啊祠斧?這個問題問的好病梢,多了好多細節(jié)在里面,這么抽象的概念梁肿,我肯定不敢亂解釋啊蜓陌,那我們看看官網(wǎng)怎么說的吧?https://seleniumhq.github.io/selenium/docs/api/javascript/index.html

網(wǎng)站大家自行點開啊,概念我就不復(fù)述了吩蔑,小伙伴們英文一定都比我好钮热,看到Installation這里,有沒有覺得很眼熟烛芬?沒錯隧期,第一課中就介紹的,安裝selenium-webdriver啦赘娄,小case仆潮,所以我們的下一步

5. 命令行安裝selenium-webdriver 和 chromedriver

?npm install selenium-webdriver --save

?cnpm install chromedriver--save

安裝好了再看文件夾,是不是又多了兩個文件遣臼,多了就對了

node_modules里面是我們這個項目里所需要的依賴包性置,供你盡情玩耍的后盾

package-lock.json又是啥?它啊揍堰,因為各個包會更新?lián)Q代吧鹏浅,今天1.1嗅义,說不定明天就2.0了,這個lock.json就是記錄我們在安裝這些依賴包的時候隐砸,當時各個包的版本的

準備活動到這里做完了之碗,接下來當然就是建立腳本了,新建一個.js文件季希,代碼開動了褪那,便于操作,還是找我們的CukeTest

6. 打開我們的項目

新建一個.js文件式塌,取名test.js

下面就是大家期待的寫腳本了武通,還記得上面的官網(wǎng)嗎,先別關(guān)啊珊搀,我們?nèi)タ匆谎踫elenium腳本的套路,啊不尾菇,大致框架是怎樣的境析,就是這一段

懵圈嗎?不明覺厲嗎派诬?沒關(guān)系劳淆,我一步一步告訴你這一大段是怎么來的

首先,我們要引入selenium-webdriver里的方法默赂,那么接下來要使用的常量一定要定義了(定義常量變量上一節(jié)課內(nèi)容沛鸵,沒看過的回去找一找哈)

然后呢,瀏覽器里的一系列操作一定要寫進一個方法啊缆八,那就再定義一個方法

這里呢曲掰,在方法前面加了一個async,第一節(jié)曾經(jīng)說過奈辰,這是為了解決異步問題加的栏妖,后面會有一節(jié)課來詳細講這個語法,大家不明白這里也沒關(guān)系奖恰,只要記住一點吊趾,async和await是Node.js里的一對CP,所以下面的代碼里面會出現(xiàn)await,看到await不要奇怪瑟啃,它不是偷渡來的黑戶论泛,只是async帶過來的

好,下面開始填充function

既然我們的項目是打開Cnode社區(qū)的網(wǎng)址蛹屿,那么第一步肯定要打開瀏覽器了

new Builder()就是新建瀏覽器屁奏,forBrowser('chrome')意思是傳入chorme瀏覽器,官網(wǎng)里面?zhèn)鞯氖莊irefox道理是一樣的错负,后面的build()是調(diào)用打開瀏覽器的方法

打開瀏覽器的操作這么長了袁,我們用一個變量來存儲它吧朗恳,上節(jié)課說到的let可以出場了

這里大家可以運行一下,可以打開chrome瀏覽器

然后就是打開網(wǎng)址了载绿,用趙老師搭建的環(huán)境

這里運行粥诫,可以打開Cnode社區(qū)網(wǎng)址

下面我們做一個登陸操作,這里要用到一個元素定位崭庸,元素定位的幾種方法會在下一堂課重點講解怀浆,這里先給大家推薦準確度較高的xpath定位

我們在界面上右鍵-檢查元素

點擊選擇器按鈕,變藍色表示激活

將鼠標移動到右上角“登錄”按鈕上怕享,檢查元素頁面會定位到元素位置(紅框部分)

在此處右鍵->copy->Copy Xpath,這個空白處粘貼一下执赡,你就可以看到這個它的內(nèi)容了,記著別刪啊函筋,下一條就用到了

找到了登錄按鈕沙合,我們該點擊了是吧

findElement就是查找元素,里面的xpath是定位元素用的方法跌帐,引號里的內(nèi)容熟悉嗎首懈,剛剛copy下來的嘛,后面的click是調(diào)用的點擊操作

現(xiàn)在程序肯定可以跑到這個界面了吧

接下來就填寫用戶名和密碼谨敛,再點一次登錄按鈕吧究履,方法,跟上面的一樣脸狸,xpath定位最仑,不重復(fù)寫了,怕你們嫌我啰嗦炊甲,提供兩個已經(jīng)注冊好的用戶名密碼testuser01/123456泥彤、testuser02/123456 拿去浪吧,不用謝

sendkeys就是往輸入框里傳輸字段卿啡,因為輸入的內(nèi)容是字符串全景,記得加引號哦

這段代碼你再跑一下試試,一定可以登錄成功牵囤,登錄不上你打我

你想問官網(wǎng)上這個怎么不一樣是嗎爸黄,我們不一樣,不一樣揭鳞。炕贵。。

就知道你要這么問野崇,這個Key呢称开,意思是直接點擊鍵盤上的某一按鍵,就比如我們輸入完密碼之后懶得用鼠標點一下登錄按鈕了,怎么辦鳖轰,直接回車唄清酥,代碼改成下面這樣,結(jié)果一樣的蕴侣,有啥不一樣

到這里結(jié)束了嗎焰轻?再優(yōu)化一下吧,剛剛寫一行操作一下昆雀,是不是跟我一樣辱志,打開了好幾個瀏覽器了,都在任務(wù)欄上面掛著呢

排排坐狞膘,沒果果

這么多揩懒,當心CPU拿小拳拳捶你胸口,問我怎么辦挽封,好說已球,執(zhí)行完了加個關(guān)閉瀏覽器唄

好了,拿走吧

什么辅愿?你說代碼跑偏了不好看啊智亮,哦對對對,代碼不要面子扒啤?我的鍋褒繁,作為一個負責的測試亦鳞,我們要寫高顏值的代碼,我們CukeTest懂的棒坏,右鍵一下燕差,看到格式化文件了嗎,對坝冕,點一下

高顏值代碼

到這里徒探,我們就是從0開始創(chuàng)建了一個自動化腳本,看看自己的代碼喂窟,寶寶們還滿意嗎测暗。

多個場景的測試情況,參考第二節(jié)課新建項目更改場景大綱的方法磨澡,沒看過的小盆友自己蹲墻角補課

Node.js結(jié)合Selenium做web自動化測試https://ke.qq.com/course/281565#tuin=173f40be

風里雨里碗啄,每天晚上8:00,準時等你

測試工具CukeTest下載地址http://www.cuketest.com/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末稳摄,一起剝皮案震驚了整個濱河市稚字,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖胆描,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘫想,死亡現(xiàn)場離奇詭異,居然都是意外死亡昌讲,警方通過查閱死者的電腦和手機国夜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剧蚣,“玉大人支竹,你說我怎么就攤上這事○矗” “怎么了礼搁?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長目尖。 經(jīng)常有香客問我馒吴,道長,這世上最難降的妖魔是什么瑟曲? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任饮戳,我火速辦了婚禮,結(jié)果婚禮上洞拨,老公的妹妹穿的比我還像新娘扯罐。我一直安慰自己,他們只是感情好烦衣,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布歹河。 她就那樣靜靜地躺著,像睡著了一般花吟。 火紅的嫁衣襯著肌膚如雪秸歧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天衅澈,我揣著相機與錄音键菱,去河邊找鬼。 笑死今布,一個胖子當著我的面吹牛经备,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播部默,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼弄喘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了甩牺?” 一聲冷哼從身側(cè)響起蘑志,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后急但,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澎媒,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年波桩,在試婚紗的時候發(fā)現(xiàn)自己被綠了戒努。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡镐躲,死狀恐怖储玫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情萤皂,我是刑警寧澤撒穷,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站裆熙,受9級特大地震影響端礼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜入录,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一蛤奥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧僚稿,春花似錦凡桥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至唤崭,卻和暖如春拷恨,著一層夾襖步出監(jiān)牢的瞬間脖律,已是汗流浹背谢肾。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留小泉,地道東北人芦疏。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像微姊,于是被迫代替她去往敵國和親酸茴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

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