Robot Framework之創(chuàng)建變量和執(zhí)行用例

一欠啤、變量的使用

種子變量

變量可以在命令行中設(shè)置熄阻,個別變量設(shè)置使用--variable (-v)選項膘掰,變量文件的選擇使用--variablefile (-V)選項跪另。通過命令行設(shè)置的變量是全局變量拧抖,對其所有執(zhí)行的用例都有效。它們將覆蓋變量表格中的同名變量或是通過變量文件引入到測試數(shù)據(jù)中的同名變量免绿。設(shè)置單個變量的語法是--variable name:value唧席, “name”是不使用${}的變量名稱, “value”則是其賦予的值嘲驾√视矗可以多次使用該選項設(shè)置多個變量。僅有標(biāo)量變量可以使用該語法且只能賦值字符串辽故。許多特殊字符在命令行中很難表示徒仓,但可以使用轉(zhuǎn)義字符轉(zhuǎn)義它們,使用—escape 選項誊垢。

在命令行中使用變量文件的基本語法是--variablefile path/to/variables.py使用 Set Test Variable 創(chuàng)建的變量掉弛,可以在該測試用例范圍內(nèi)的任何位置有效症见。例如,你在一個用戶關(guān)鍵字中創(chuàng)建了變量殃饿,它將在測試用例級別有效及當(dāng)前測試中的所有其他用戶自定義關(guān)鍵字中有效谋作。其他測試用例將看不到該變量。使用 Set Suite Variable 創(chuàng)建的變量乎芳,可以在當(dāng)前測試集范圍內(nèi)的任何位置有效遵蚜。使用該關(guān)鍵字創(chuàng)建變量同使用測試數(shù)據(jù)文件的設(shè)置表格設(shè)置變量和引入變量文件相同。其他的關(guān)鍵字奈惑,包括可能的子測試集吭净,都將不能看到該關(guān)鍵字創(chuàng)建的變量。使用 Set Global Variable keyword 創(chuàng)建的變量携取, 在所有測試用例和測試集中有效攒钳。 通過該關(guān)鍵字創(chuàng)建的變量同使用命令行選項-variable 或—variablefile 創(chuàng)建的變量相同。因?yàn)樵撽P(guān)鍵字可以在任何地方改變變量值雷滋,所有需要小心使用有效的操作系統(tǒng)內(nèi)建變量Variable Explanation${CURDIR} 提供當(dāng)前測試文件存放的絕對路徑不撑。該變量是大小寫敏感的。${TEMPDIR} 獲取操作系統(tǒng)臨時文件夾的絕對路徑晤斩。 在UNIX系統(tǒng)是在/tmp焕檬, 在windows系統(tǒng)是在c:\Documents and Settings\\Local Settings\Temp。${EXECDIR} 獲取測試執(zhí)行開始目錄的絕對路徑澳泵∈涤蓿空格和空變量可以使用${SPACE}和${EMPTY}創(chuàng)建空格和空變量。這些變量非常有用兔辅,否則需要使用反斜杠用于轉(zhuǎn)義空格或空單元格腊敲。當(dāng)需要使用多個空格時,可以使用該語法${SPACE*5}维苔。如下面的例子碰辅,should be equal 使用了同樣的參數(shù),但使用該語法比使用反斜杠更簡單清晰介时。一些自動變量可以在測試用例中使用没宾。這些變量在執(zhí)行時會有不同的值,并且他們不是在任何時候都是有效的沸柔。

Variable Explanation Available

${TEST NAME}? 獲取當(dāng)前測試用例名稱 Test case

@{TEST TAGS}? 包含當(dāng)前測試集中的 tag循衰,按字母排序 Test case

${TEST STATUS} 獲取當(dāng)前測試用例的狀態(tài),PASS 或 FAIL 中的一種褐澎。只能在測試用例的 teardown? 中使用

${TEST MESSAGE} 當(dāng)前測試用例可能的錯誤信息会钝。只能在測試用例的 teardown? 中使用

${PREV TEST NAME} 前一個測試用例的名稱,或者為空字符串【當(dāng)沒有任何測試用例執(zhí)行過】 工三⊥缢兀可以在任何地方使用

${PREV TEST STATUS} 前一個測試用例的狀態(tài)咽弦,PASS,F(xiàn)AIL 或者未空字符串胁出, 【當(dāng)沒有任何用例執(zhí)行過】 《紊螅可以在任何地方使用

${PREV TEST MESSAGE} 前一個測試用例可能的錯誤信息全蝶。可以在任何地方使用

${SUITE NAME} 當(dāng)前測試集的全名稱寺枉∫忠可以在任何地方使用。

${SUITE SOURCE} 測試集文件或目錄的絕對路徑姥闪,可以在任何地方使用始苇。

${SUITE STATUS} 當(dāng)前測試集的狀態(tài), PASS 或 FAIL筐喳。只能在測試集的 teardown 中使用催式。Suite teardown

${SUITE MESSAGE} 測試集的所有消息,包括統(tǒng)計避归。只能在測試集的 teardown 中使用荣月。Suite teardown

${OUTPUT FILE} 當(dāng)前輸出文件的絕對路徑。當(dāng)輸出文件被分割會有不同的值梳毙〔刚可以在任何地方使用。

${LOG FILE} 當(dāng)前日志文件的絕對路徑或字符串 None【當(dāng)沒有日志文件時】 账锹。當(dāng)輸 出被分割時萌业,將可能有不同的值。

${REPORT FILE} 當(dāng)前報告文件的絕對路徑或字符串 NONE【當(dāng)沒有報告文件生成時】 奸柬。

${SUMMARY FILE} 摘要文件的絕對路徑或字符串 NONE【當(dāng)沒有摘要文件時】 生年。

${DEBUG FILE} 調(diào)試文件的絕對路徑或字符串 NONE【當(dāng)沒有調(diào)試文件時】 。

${OUTPUT DIR} 輸出目錄的絕對路徑 Everywhere

變量文件創(chuàng)建變量時鸟缕,創(chuàng)建列表變量晶框,變量名稱必須使用前綴LIST__(注意是兩個下劃線)。LIST__STRINGS = ["list", "of", "strings"]

TestCase Go

二懂从、連接對象

Catenate關(guān)鍵字可以連接多個對象

Catenate關(guān)鍵字

執(zhí)行結(jié)果:

Starting test: Test.Testsuit.test

20171213 08:57:43.133 :? INFO : ${hi} = hello woeld!

20171213 08:57:43.133 :? INFO : hello woeld!

Ending test:? Test.Testsuit.test

加上“SEPARATOR=”可對多個連接的信息進(jìn)行分割:

SEPARATOR分割

執(zhí)行結(jié)果:


三授段、用例執(zhí)行

RF 的測試用例可以創(chuàng)建在文件或目錄中,在運(yùn)行腳本后接需要執(zhí)行用例的名文件名或路徑名番甩。路徑可以是絕對路徑侵贵,更普遍的是相對路徑。文件或目錄構(gòu)成頂級測試集缘薛,該測試集如果沒有被--name option 所覆蓋窍育,它將使用文件或目錄名作為自己的名字

RF 可以自動的產(chǎn)生頂級的測試集卡睦, 具體的文件或目錄將變成它的子測試集。 產(chǎn)生的測試集的名稱將由子測試集的名字和 “&”組成

使用參數(shù):當(dāng)使用參數(shù)時漱抓,參數(shù)必須位于運(yùn)行腳本和源數(shù)據(jù)中間

設(shè)置參數(shù)值:大部分參數(shù)需要一個參數(shù)值表锻, 位于參數(shù)名后面。 長參數(shù)和短參數(shù)都接受由空格分開的參數(shù)值乞娄, 例如: “--include tag”或“-i tag” 瞬逊。使用長參數(shù)時,可以將等號“=”作為分隔符仪或,例如“--include=tag” 确镊,使用短參數(shù)時,分隔符可以省略范删,例如“-itag” 蕾域。某些參數(shù)可以被具體賦值多次。例如到旦, “--variable VAR1:value --variable VAR2:another”設(shè)置了兩個變量旨巷。如果某個只有一個值的參數(shù)被賦值多次,則最后一次生效.

簡單正則表達(dá)式:很多參數(shù)后可接正則表達(dá)式的參數(shù)值厢绝。 “*”和“契沫?”可替代具體的字符, “*”可匹配任何包括空值在內(nèi)的字符串昔汉, “懈万?” 可以匹配任何單個字符。 例如: “--include prefix-*” 匹配所有以 “prefix-” 開頭的 tag靶病, “--include a???” 匹配所有以“a”開頭 4 個字符的 tag

返回碼:運(yùn)行腳本通過返回碼使所有測試用例的狀態(tài)和系統(tǒng)交互会通。如果所有的用例執(zhí)行啟動成功而且沒有嚴(yán)重的失敗,返回碼將是 0娄周,所有可能的返回碼都列在下表中涕侈。返回碼用例執(zhí)行完之后,很容易通過返回碼來確定所有用例執(zhí)行的狀態(tài)煤辨。例如裳涛,在 bash shell 中,返回碼保存在具體的變量“ $?”中众辨,在 Windows 系統(tǒng)中端三,返回碼保存在變量% ERRORLEVEL %中。如果您使用外部的工具來運(yùn)行用例鹃彻,請查詢相關(guān)的文檔來了解如何獲得返回值

執(zhí)行測試集和測試用例:測試用例總是在某個測試集中執(zhí)行郊闯。由目錄產(chǎn)生的測試集包含由測試用例文件或目錄組成的子測試集,由測試用例文件組成的測試集直接包含測試用例。默認(rèn)情況下团赁,所有的測試用例都會執(zhí)行育拨,可以通過參數(shù)“--test” 、 “--suite欢摄、 “--include”和“--exclude”來選擇用例執(zhí)行熬丧。測試集中如果沒有用例,將不會執(zhí)行剧浸。RF 從頂級的測試集開始執(zhí)行锹引。如果測試集中包含用例,則順序執(zhí)行唆香。如果測試集中再包含測試集,則按照深度優(yōu)先的順序依次執(zhí)行吨艇。當(dāng)執(zhí)行單個用例時躬它,關(guān)鍵字按順序執(zhí)行。通常用例中的任何一個關(guān)鍵字失敗了东涡,用例將停止執(zhí)行冯吓,但是,我們可以做到讓失敗后繼續(xù)執(zhí)行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末疮跑,一起剝皮案震驚了整個濱河市组贺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌祖娘,老刑警劉巖失尖,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渐苏,居然都是意外死亡掀潮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門琼富,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仪吧,“玉大人,你說我怎么就攤上這事鞠眉∈硎螅” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵械蹋,是天一觀的道長出皇。 經(jīng)常有香客問我,道長朝蜘,這世上最難降的妖魔是什么恶迈? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上暇仲,老公的妹妹穿的比我還像新娘步做。我一直安慰自己,他們只是感情好奈附,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布全度。 她就那樣靜靜地躺著,像睡著了一般斥滤。 火紅的嫁衣襯著肌膚如雪将鸵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天佑颇,我揣著相機(jī)與錄音顶掉,去河邊找鬼。 笑死挑胸,一個胖子當(dāng)著我的面吹牛痒筒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播茬贵,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼簿透,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了解藻?” 一聲冷哼從身側(cè)響起老充,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎螟左,沒想到半個月后啡浊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡路狮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年虫啥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奄妨。...
    茶點(diǎn)故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡涂籽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出砸抛,到底是詐尸還是另有隱情评雌,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布直焙,位于F島的核電站景东,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏奔誓。R本人自食惡果不足惜斤吐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一搔涝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧和措,春花似錦庄呈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贫母,卻和暖如春文兑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腺劣。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工绿贞, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人橘原。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓樟蠕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親靠柑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評論 2 350

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理吓懈,服務(wù)發(fā)現(xiàn)歼冰,斷路器,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,149評論 2 34
  • 《裕語言》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 26,303評論 5 19
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,778評論 6 342
  • 我所有的笑話都講完了 如今我兩眼空空耻警,口干舌燥 可笑地囁嚅著乏味的字眼 用沒有意義的故事隔嫡,掩蓋住 那個可怕的事實(shí) ...
    郭綠獅閱讀 376評論 0 1