robotframework基礎學習(8)

? 變量的使用

?

在 Edit 標簽頁中主要分:加載外部文件、定義內部變量、定義元數據等三個部分。

(1):加載外部文件Add Library:加載測試庫,主要是[PYTHON 目錄]\Lib\site-packages 里的測試庫

Add Resource:加載資源,主要是你工程相關的資源文件

Add Variables:加載變量文件。

(2):定義內部變量Add Scalar:定義變量? ? Add List:定義列表型

導入庫

?如果添加的庫不存在或庫名錯誤,將會紅色顯示,黑庫正常表示正常。

如果你是在“測試套件”中添加的庫,那么這個庫中所提供的關鍵字可以被當前測試套件下的用例使用。

如果你是在“測試項目”中添加的庫,當前項目下的測試用例不能使用庫中的關鍵字,需要在用例相應的“測試套件”中再次添加

定義公共變量
點擊 Edit 標簽頁右側的“Add Scalar”按鈕來創建變量。這里創建的變量可以被整個測試套件中的用例所使用。也可以認為是一個“公共變量‘’

? 打印字典、列表,用log時,要用$符號,不能用& @ 符號。?? 或者log many,可以直接使用& @符號。

Tags :用于給用例添加標記。在Run時決定只執行打tag的用例,或skip打tag的用例。

Setup 和 Teardown:如果你了解 unittest 單元測試框架的話,一定對這兩個單詞不陌生。

setUp 用于設置初始化工作,在每一個測試用例前先被執行tearDown 方法在每個測試方法執行后調用,這個方法用于完成測試用例執行后的清理工作,如執行“close browser”關閉瀏覽器?。

?

=======================

【轉載】https://www.cnblogs.com/pachongshangdexuebi/p/6693468.html

Builtin庫提供常用的關鍵字

1、log

log 關鍵字就是編程語言里的“print”一樣,可以打印任何你想打印的內容。

2、定義變量

通過“Set variable”關鍵字來定義變量

3、連接對象

“Catenate”關鍵字可以連接多個信息

加上“SEPARATOR=”可以對多個連接的信息進行分割。

4、定義列表

通過“Create List”關鍵字可以定義列表。每個字符串前面加 u,是為了統一編碼問題,將字符串轉為 Unicode 編碼。

如果通過“@{}”去定義列表的話,可以通過“log many”關鍵字進行打印

5、時間的操作

?Robot Framework 中提供了“get time”關鍵字用來獲取當前時間。

?

6、設置休眠時間

“sleep”關鍵字用來設置休眠一定時間,sleep 關鍵字默認以“秒”為單位。

7、if語句

通過“run keyword if”關鍵字可以編寫 if 分支語句。

首先定義一個變量 a 等于 59 。
If 判斷 a 大于等于 90 ,滿足條件 log 輸出 “優秀 ”;
不滿足上面的條件,接著 else if 判斷 a 大于等于 70 ,滿足條件 log 輸出 “良好”;
不滿足上面的條件,接著 else if 判斷 a 大于等于 60 ,滿足條件 log 輸出 “及格”;
上面的條件都不滿足,else log 輸出“不及格”。
注:注意 ELSE IF?和 ELSE?前面的三個點點點(...)。注意ELSE IF和ELSE要是大寫。

8、for 循環

在 Robot Framework 中編寫循環通過“:for”。通過“:for”定義 for 循環;in range 用于指定循環的范圍。

例子1,這個例子為執行 10 次循環

注意:in range 定義為 10,它的范圍是 0~9

例 2,遍歷列表

“create list” 關鍵字用來定義列表(a,b,c),“@{}”用來存放列表。通過過“:for”循環來來遍歷@{abc}列表中的字符。

例 3,循環中的判斷

通過“Exit For Loop If”關鍵字時行 for 循環內的判斷,當滿足 Exit For Loop If 條件后,循環結束。

從執行結果看到當循環到字符 b 時,Exit For Loop If 條件成立,結束循環;通過 log 打印當前的字符 b。

9、強大的 Evaluate

因為通過它可以使用 Python 語言中所提供的方法

例 1,生成隨即數

使用Evaluate關鍵字之后可使用Python中的類和方法

例 2,執行本地程序


通過調用 Python 所提供的 os 模塊中的 system()方法可以執行本地 Python 文件。至于在.py 文件中
Python 可以做任何想做的事。
對于 system()方法來說,它也不單單可執行 Python 文件,任何在 cmd 命令提示符下可運行文件和命
令,它都可以執行。
不過,一般情況下不建議通過 system()方法去執行外部程序。這樣做其實就脫離了 Robot Framework,
也就是說不管 Robot Framework 什么事了。我們盡量把要做的事情通過 Python 封裝成關鍵字給 Robot
Framework 使用。

?10、導入庫

(1)“Import Library”等同于 Python 語言中的 import。Robot Framework 會遍歷 Python 安裝目錄下的相關目錄查找“Selenium2Library”模塊

(2)調用 Python 文件

首先創建 test.py 文件

#coding=utf-8
def add(a,b):
? ? return a+b
if __name__ == "__main__":
? ? a = add(4,5)
? ? print a

通過“Evaluate”轉化成為 int 類型后,再調用 add 就得到了想要的結果。

11、注釋

Robot Framework 中添加注釋也非常簡單。

(1)“Comment”關鍵字用于設置腳本中的注釋。

(2)也可以像 Python 一樣使用“#”號進行注釋

?

轉載于:https://www.cnblogs.com/ww-xiaowei/p/10342041.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449993.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449993.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449993.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

版本字符串比較工具接口常用接口函數

版本升級比較常用的接口,字符串解析,不是很難,但沒必須重復造輪子,保存一份網上搜到的實現: /*** 比較版本號的大小,前者大則返回一個正數,后者大返回一個負數,相等則返回0** param version1* param version2* return…

[藍橋杯]ALGO-188.算法訓練_P0504

Anagrams指的是具有如下特性的兩個單詞:在這兩個單詞當中,每一個英文字母(不區分大小寫)所出現的次數都是相同的。例如,Unclear和Nuclear、Rimon和MinOR都是Anagrams。編寫一個程序,輸入兩個單詞&#xff0…

什么是3-2混合

正如上面所述,電影轉換成視頻時,每秒24幀必須轉成每秒60場(30幀)。實現這一點的方法是把電影的第一幀顯示3場,然后把第二幀顯示2場,再把第三幀顯示3場,以此類推。這個3-2-3-2-3-2的順序就被稱為…

shell 的here document 用法、輸入/輸出重定向

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 什么是Here Document Here Document 是在Linux Shell 中的一種特殊的重定向方式&#xff0c;它的基本的形式如下 cmd << delimiter…

beta第二天

團隊成員 鄭西坤 031602542 &#xff08;隊長&#xff09; 陳俊杰 031602504陳順興 031602505張勝男 031602540廖鈺萍 031602323雷光游 031602319吳志鴻 0316206341.昨天的困難 陳順興&#xff1a;無 廖鈺萍&#xff1a;無 吳志鴻&#xff1a;沒有 雷光游&#xff1a;無 鄭西坤…

void和void *

void f(void) { // 參數void可以省略cout << "aa"<<endl; } int t 22; int *a &t; void *p; // void *可以被賦值為其他類型 p a; cout << *(int *)p; // 使用的時候必須轉到那個類型 轉載于:https://www.cnblogs.com/pjishu/p/10343587.…

Android應用開發—Application

What is Application Application和Activity&#xff0c;Service一樣是android框架的一個系統組件&#xff0c;當android程序啟動時系統會創建一個application對象&#xff0c;用來存儲系統的一些信息。通常我們是不需要指定一個Application的&#xff0c;這時系統會自動幫我們…

C語言符號

C語言運算符的優先級 一、運算符的優先級表 C 語言的符號眾多&#xff0c;由這些符號又組合成了各種各樣的運算符。既然是運算符就一定有其特定的優先級&#xff0c;下表就是C 語言運算符的優先級表&#xff1a; 注&#xff1a;同一優先級的運算符&#xff0c;運算次序由結合…

手機按鍵中控運行思路的個人理解

目前而言基本的自己理解的中控多線程腳本無非就是兩種1.主代碼作為腳本功能的載體 另外開辟一個線程作為和中控保持聯系的部分(下面只是思路 無法直接運行)Import "zm.luae" zm.Init /* 該思路下的基本流程 從UI界面獲取到云賬號 和 本地的配置信息---->根據自己…

burp過期了,換一個

先從吾愛破解論壇下載工具&#xff1a;https://down.52pojie.cn/Tools/Network_Analyzer/Burp_Suite_Pro_v1.7.37_Loader_Keygen.zip 工具運行需要Java環境&#xff0c;請自行安裝&#xff0c;此處不贅述。解壓完后雙擊keygen 填一下License Text(隨意)&#xff0c;然后點擊Run…

加載一張圖片到ImageView到底占據多少內存

https://blog.csdn.net/BUG_delete/article/details/79557939 簡介 Android中經常要通過ImageView進行圖片資源顯示。在加載圖片時&#xff0c;首先要考慮的兩個因素就是體驗問題和性能問題。 其中&#xff0c;體驗問題是指圖片顯示的是否正確&#xff08;例如Universal-Imag…

mysql -u root -p 解釋

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 mysql -u 用戶名 -p 密碼 是連接數據庫服務器的命令。要求你輸入自己連接數據庫的用戶名和密碼。 考慮密碼如果直接明文寫在這條命令行…

hbase 概念

在hbase里面有幾個通俗的名稱會經常出現 1&#xff09;Hregion region 2&#xff09;Hregionserver regionserver 3&#xff09;Hmaster master 4&#xff09;Hmamstore memstore 5&#xff09;Hfile storeFile 1、什么是hbase&#xff1f; 1&#xff09;它是基于稀疏的、…

beta沖刺第三天

團隊成員 鄭西坤 031602542 &#xff08;隊長&#xff09; 陳俊杰 031602504陳順興 031602505張勝男 031602540廖鈺萍 031602323雷光游 031602319吳志鴻 0316206341.昨天的困難 陳順興&#xff1a;理解別人的代碼 廖鈺萍&#xff1a; 吳志鴻&#xff1a;無 雷光游&#xff1a; …

多線程詳解

1. 進程與線程有那些區別和聯系&#xff1f;   每個進程至少需要一個線程。 進程由兩部分構成&#xff1a;進程內核對象&#xff0c;地址空間。線程也由兩部分組成&#xff1a;線程內核對象&#xff0c;操作系統用它來對線程實施管理。線程堆棧&#xff0c;用于維…

AirPods的自動連接配對原理

首次連接 打開裝有 AirPods 的充電盒&#xff0c;并將它放在 iPhone 旁邊。此時你的 iPhone 上將出現設置動畫。輕點「連接」&#xff0c;然后輕點「完成」。 就這么簡單&#xff0c;而且會自動設置&#xff0c;實現與已使用同一 Apple ID 登錄 iCloud 的任一支持設備搭配使用…

Linux chmod命令

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Linux/Unix 的文件調用權限分為三級 : 文件擁有者、群組、其他。利用 chmod 可以藉以控制文件如何被他人所調用。 使用權限 : 所有使用…

模塊化

我那進了"模塊化研究"小組.所以嘞.研究模塊化以及如何讓項目的模塊化更加合理和高效是我們小組的主要目的.首先&#xff0c;在實行模塊化之前,得先鞏固模塊化開發的理論基礎,因為理論是實踐的基礎。只有這樣&#xff0c;在過程中理論與實踐相結合,才有可能達到最滿意…

1566:基礎練習 十六進制轉八進制

題目地址&#xff1a;https://acmore.cc/problem/LOCAL/1566 1 #include <iostream>2 #include <string>3 4 using namespace std;5 6 string HexToBin(string s) //16進制轉2進制7 {8 string str "";9 for (int i 0; i < s.size(); i) 10…

利用fastjson對json轉map的操作

String str "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}"; //第一種方式 Map maps (Map)JSON.parse(str); System.out.println("這個是用J…