Robot Framework + Selenium2Library自動(dòng)化測(cè)試系列(9) - 注釋:工時(shí)表查詢1

每個(gè)test case寫(xiě)完后,我們都可以寫(xiě)個(gè)日志或是注釋來(lái)提示輸出結(jié)果,檢查測(cè)試狀態(tài)海铆,和查看錯(cuò)誤信息窗声。就像直接寫(xiě)程序的原理一樣叁鉴。有幾種方法可供選擇:你既可以用Log關(guān)鍵字,也可以用Comment關(guān)鍵字,也可以直接寫(xiě)“#”。

Log就是日志的意思艰猬,屬于Robot Framework的內(nèi)嵌關(guān)鍵字,在官方API文檔上有這么幾種使用方法:

比如埋市,如果不加任何參數(shù)冠桃,那輸出結(jié)果就是一條簡(jiǎn)單的信息;如果后面加個(gè)“WARN”道宅,那輸出結(jié)果就是一條警告類型的信息∈程現(xiàn)在做實(shí)驗(yàn),打開(kāi)Tests -> Login –> TCLOG-1污茵,在第4行和第5行輸入以下命令:

執(zhí)行test case樱报,會(huì)得到如下的提示:

我們會(huì)注意到,系統(tǒng)輸出兩條關(guān)于用戶成功登錄的日志泞当,第一條的頭部顯示INFO肃弟,第二條的頭部顯示W(wǎng)ARN,這兩個(gè)關(guān)鍵字在Robot Framework里是“Level”的意思零蓉,也就是類型或是等級(jí)。默認(rèn)就是INFO穷缤,代表最基本類型的信息敌蜂,在咱們的test case里所有的運(yùn)行步驟都是基本信息。WARN指的是警告類型的信息津肛,警告信息也會(huì)在報(bào)告里單獨(dú)顯示章喉。

由于API文檔里的內(nèi)容很多,出于篇幅不可能把所有的關(guān)鍵字全部進(jìn)行講解和實(shí)驗(yàn)身坐,有很多我也不確定用法和結(jié)果秸脱,也是一直在學(xué)習(xí)。這里再次建議大家養(yǎng)成看文檔上網(wǎng)查詢的好習(xí)慣部蛇。

Comment是顯示在報(bào)告里的一條注釋信息摊唇,比Log要簡(jiǎn)單,具體用法如下圖涯鲁,在第6行和第7行分別寫(xiě)下:

注意巷查,這兩種方法都是寫(xiě)注釋的有序,不過(guò)目的不相同。第6行目的是檢查輸出了什么岛请,所以信息會(huì)顯示在test case運(yùn)行完的日志里旭寿;而第7行只是在信息前加了個(gè)井號(hào),它的目的只是在程序中告知測(cè)試員某段代碼的功能是什么崇败,用于在編程中使用盅称,所以不會(huì)輸出。它更像是程序員們編程時(shí)加注釋的方法后室。馬上我們開(kāi)始的第3個(gè)測(cè)試用例中我們就會(huì)用到這種Comment缩膝。

第3個(gè)test case是實(shí)現(xiàn)一個(gè)員工工時(shí)表查詢的功能。先來(lái)看看這個(gè)工時(shí)表咧擂,在導(dǎo)航欄上點(diǎn)擊“Timesheet”逞盆,我在上面創(chuàng)建了4條虛擬員工的工作記錄,包括什么時(shí)候開(kāi)始上下班松申,工作了多長(zhǎng)時(shí)間云芦,還有一些備注。在查詢文本框中輸入“Test One”顯示1號(hào)員工的工時(shí)單贸桶;輸入“Test Two”顯示2號(hào)員工的工時(shí)單舅逸,以此類推。

我們?cè)O(shè)計(jì)的test case步驟如下:

1. 登錄皇筛;

2. 導(dǎo)航到Timesheet下琉历;

3. 輸入員工姓名,查看返回結(jié)果是否正確:

1) 輸入”Test One”水醋,返回2條記錄旗笔,且均包含”Test One”

2) 輸入”Test Two”,返回1條記錄拄踪,且包含”Test Two”

3) 輸入”Test Three”蝇恶,返回1條記錄,且包含”Test Three”

4) 輸入”Test Four”惶桐,無(wú)返回記錄撮弧。

第1步登錄不說(shuō)了,直接調(diào)用以前寫(xiě)的方法就行姚糊。第2步導(dǎo)航到Timesheet下贿衍,就是簡(jiǎn)單點(diǎn)擊按鈕,也沒(méi)什么可說(shuō)的救恨。第3步是我們的測(cè)試點(diǎn)贸辈,需要輸入員工姓名。和登錄一樣肠槽,員工姓名也是從測(cè)試數(shù)據(jù)集里來(lái)的裙椭,我們首先準(zhǔn)備測(cè)試數(shù)據(jù)躏哩。在Test_Data文件夾下創(chuàng)建一個(gè)叫Timesheet的子文件夾,然后創(chuàng)建一個(gè)叫TCTIMES-1.xls的文件:

我創(chuàng)建了兩個(gè)sheet揉燃,一個(gè)在第1步登錄使用扫尺,一個(gè)在第3步輸入員工姓名時(shí)使用,簡(jiǎn)單明了炊汤。當(dāng)然正驻,有些人都寫(xiě)在一個(gè)sheet里也沒(méi)關(guān)系,只要?jiǎng)e把數(shù)據(jù)搞亂就好抢腐。在“employee”sheet中姑曙,姓名被分成姓和名兩列,有人說(shuō)你分來(lái)寫(xiě)累不累迈倍?確實(shí)累伤靠,但我是故意這么寫(xiě)的,想多告訴大家一些關(guān)于Robot Framework里字符串的使用方法啼染。還有一列是期望的工時(shí)記錄數(shù)目宴合,雖然是一些數(shù),但Excel這里也用字符串表示迹鹅,到時(shí)候講為什么卦洽。

現(xiàn)在我們就要正式開(kāi)始寫(xiě)test case了。右擊Tests -> New Suite創(chuàng)建模塊斜棚,起名為T(mén)imesheet》У伲現(xiàn)在我們可以再把ApplicationSpecific.html里引入的類庫(kù)和資源文件做一些調(diào)整 - 引用Selenium2Library,OperatingSystem和DataDriven.py:

同時(shí)刪除Tests -> Login模塊里的Selenium2Library弟蚀,OperatingSystem和DataDriven.py文件蚤霞,因?yàn)槟惚旧硪肓薃pplicationSpecific.html,就不用再重復(fù)引了义钉。都沒(méi)問(wèn)題后創(chuàng)建該模塊下第一個(gè)test case – TCTIMES-1昧绣,加入ApplicationSpecific.html和Pages里的Login.html資源文件:

接著在TCTIMES-1中寫(xiě)進(jìn)Setup和Teardown,并且在前4行把登錄部分的代碼按下圖寫(xiě)好:

第一步就是之前提到的comment的一種寫(xiě)法断医,它并不輸出,在代碼量特別大時(shí)我們可以用它提示當(dāng)前的代碼是干什么的奏纪;第2步到第4步其實(shí)就是Tests –> Login -> TCLOG-1的內(nèi)容鉴嗤,以后只要有登陸步驟我們就寫(xiě)這幾行就行,因?yàn)樗袃?nèi)容都已經(jīng)包含在Valid login to xiaocesuo函數(shù)里序调,直接調(diào)用即可醉锅。

登錄完成之后就是從菜單進(jìn)入到Timesheet界面的步驟,很簡(jiǎn)單发绢。右鍵Pages -> New Resource–> 創(chuàng)建資源文件Timesheet.html用來(lái)寫(xiě)Timesheet模塊中需要的函數(shù)硬耍。這里還是相同的問(wèn)題垄琐,你可以把導(dǎo)航到Timesheet這步直接寫(xiě)到測(cè)試用例TCTIMES-1里,也可以寫(xiě)成函數(shù)经柴。我還是傾向于寫(xiě)成函數(shù)狸窘,因?yàn)橐院笾灰小斑M(jìn)入Timesheet界面”的測(cè)試步驟我就可以直接調(diào)用就好了。右鍵Timesheet.html -> New Keyword -> 創(chuàng)建函數(shù)Navigate to Timesheet Screen坯认,不需要任何參數(shù)和返回值翻擒。:

按部就班,下面是寫(xiě)變量牛哺。之前有關(guān)登錄的變量我們都放到了ObjRepository -> Login.html下陋气,現(xiàn)在關(guān)于工時(shí)表的變量也不例外。右擊ObjRepository -> New Resource -> 創(chuàng)建Timesheet.html引润,然后先按圖依次創(chuàng)建${locMenu_Timesheet}巩趁,${locTSTable_SearchBox}和${locTSTable_SearchBtn}三個(gè)變量。這三個(gè)變量分別代表導(dǎo)航到timesheet的導(dǎo)航按鈕淳附,搜索工時(shí)表框以及查詢按鈕

回到Pages -> Timesheet.html把變量以及環(huán)境相關(guān)的資源文件都添加進(jìn)來(lái):

回到Natigate To Timesheet Screen繼續(xù)按下圖完成該Keyword:

這一下一目了然议慰,聲明出來(lái)的變量是用于函數(shù)步驟中的。點(diǎn)擊導(dǎo)航欄上Timesheet的xpath燃观,然后等待網(wǎng)頁(yè)跳轉(zhuǎn)褒脯。我的習(xí)慣是每次點(diǎn)擊過(guò)后都等待個(gè)幾秒鐘,有時(shí)網(wǎng)頁(yè)加載龜速缆毁,最好等一等番川。

回到TCTIMES-1,把函數(shù)Navigate to Timesheet Screen寫(xiě)到test case中脊框,注意引Pages -> Timesheet.html中的資源文件颁督。前兩步登錄和導(dǎo)航到Timesheet頁(yè)面就做完了:

這篇文章的源代碼在[Test8](https://github.com/cslm/cslm.robotframework/tree/master/Test8)中。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末浇雹,一起剝皮案震驚了整個(gè)濱河市沉御,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌昭灵,老刑警劉巖吠裆,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異烂完,居然都是意外死亡试疙,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)抠蚣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)祝旷,“玉大人,你說(shuō)我怎么就攤上這事』初耍” “怎么了距贷?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)吻谋。 經(jīng)常有香客問(wèn)我忠蝗,道長(zhǎng),這世上最難降的妖魔是什么滨溉? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任什湘,我火速辦了婚禮,結(jié)果婚禮上晦攒,老公的妹妹穿的比我還像新娘闽撤。我一直安慰自己,他們只是感情好脯颜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布哟旗。 她就那樣靜靜地躺著,像睡著了一般栋操。 火紅的嫁衣襯著肌膚如雪闸餐。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天矾芙,我揣著相機(jī)與錄音舍沙,去河邊找鬼。 笑死剔宪,一個(gè)胖子當(dāng)著我的面吹牛拂铡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播葱绒,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼感帅,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了地淀?” 一聲冷哼從身側(cè)響起失球,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎帮毁,沒(méi)想到半個(gè)月后实苞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡烈疚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年黔牵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胞得。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荧止,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出阶剑,到底是詐尸還是另有隱情跃巡,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布牧愁,位于F島的核電站素邪,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏猪半。R本人自食惡果不足惜兔朦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望磨确。 院中可真熱鬧沽甥,春花似錦、人聲如沸乏奥。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)邓了。三九已至恨诱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間骗炉,已是汗流浹背照宝。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留句葵,地道東北人厕鹃。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像笼呆,于是被迫代替她去往敵國(guó)和親熊响。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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