欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

rf使用python函數(shù)的簡(jiǎn)單介紹

RF自定義庫(kù)

1、自定義的庫(kù)

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站制作、成都做網(wǎng)站與策劃設(shè)計(jì),福鼎網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:福鼎等地區(qū)。福鼎做網(wǎng)站價(jià)格咨詢:18982081108

2、使用自定義庫(kù)

類或者模塊的形式。

模塊名稱 = 庫(kù)名。

模塊名稱和類名保持一致 = 庫(kù)名

如果是類:ROBOT_LIBRARY_SCOPE = "GLOBAL"

使用:

Library 庫(kù)名-相對(duì)路徑

按照其他庫(kù)的關(guān)鍵字調(diào)用方式一樣。

創(chuàng)建測(cè)試庫(kù)類/模塊

靜態(tài)(Static)API

最簡(jiǎn)單的辦法是實(shí)現(xiàn)一個(gè)模塊(用Python),或者類(用Python或Java),其中的方法(methods)直接映射為關(guān)鍵字名稱。關(guān)鍵字接受和方法相同的參數(shù)。

創(chuàng)建測(cè)試庫(kù)類或模塊

測(cè)試庫(kù)的實(shí)現(xiàn)可以是Python模塊,也可以是Python或Java類。

如果是Python模塊,使用 all? =['函數(shù)名稱']來(lái)指定哪些函數(shù)是你想要被RF識(shí)別為關(guān)鍵字的。

參看RF自帶庫(kù)DateTime

python類的可參看String庫(kù)、seleniumLibrary庫(kù)等。

通過(guò)屬性ROBOT_LIBRARY_SCOPE來(lái)控制

這個(gè)屬性是一個(gè)字符串,可以有以下三種取值:

TEST CASE

為每個(gè)測(cè)試用例創(chuàng)建新的實(shí)例。如果有suite setup和suite teardown的話,同樣也會(huì)新建。這是默認(rèn)行

TEST SUITE

為每個(gè)測(cè)試集創(chuàng)建新的實(shí)例,最底層的測(cè)試集,也就是有測(cè)試用例文件組成的測(cè)試集,擁有屬于自己的測(cè)試庫(kù)實(shí)例,高層的測(cè)試集,都有屬于自己的測(cè)試庫(kù)實(shí)例。

GLOBAL(最常用)

整個(gè)測(cè)試執(zhí)行過(guò)程中只有一個(gè)實(shí)例被創(chuàng)建。所有的測(cè)試集合測(cè)試用例共享這個(gè)實(shí)例。通過(guò)模塊創(chuàng)建的測(cè)試庫(kù)都是全局的。

注解

如果一個(gè)測(cè)試庫(kù)被導(dǎo)入多次,每次使用不同的參數(shù),則不管有沒(méi)有定義作用域,每次都會(huì)新建一個(gè)實(shí)例。

寫(xiě)了一段python的測(cè)試腳本,想導(dǎo)入到RF里面運(yùn)行,請(qǐng)問(wèn)怎么操作

如果是命令行的,一般是捕獲ctrl-c事件吧。importsignalimportsysdefsignal_handler(signal,frame):print('YoupressedCtrl+C!')sys.exit(0)signal.signal(signal.SIGINT,signal_handler)print('PressCtrl+C')signal.pause()

RF變量的共享使用、python測(cè)試庫(kù)

Variable表中聲明變量

資源文件里面創(chuàng)建變量

和套件文件中的用戶關(guān)鍵字一樣,套件文件中的變量表里面的變量,其作用范圍只是該套件文件。我們可以定義在資源文件中。資源文件變量的定義,和上述測(cè)試套件文件中幾乎一樣,我們只需拷貝Variables表到資源文件中即可,注意資源文件中不可存在*** Test Cases ***測(cè)試用例。

rc.robot 資源文件

test.robot 測(cè)試套件

變量文件

也可以使用python模塊文件提供公共變量給RF使用。只需要直接定義變量就可以了

語(yǔ)法完全就是python 例如:

變量文件聲明的時(shí)候,可以使用絕對(duì)路徑,也可以使用相對(duì)路徑。使用相對(duì)路徑的時(shí)候,RF搜索變量文件規(guī)則和搜索資源文件搜索規(guī)則一樣:

首先在當(dāng)前文件的目錄匹配收縮,如果找不到,就在Python的模塊搜索路徑中搜索

上面的*** Settings ***變量文件路徑是這樣寫(xiě)的 Variables ./rf/rc.py

是因?yàn)閞c.py所處的路徑是這樣的,如下圖

但是這樣不好的地方是:

每個(gè)RF文件的路徑不一樣,導(dǎo)致每個(gè)RF文件導(dǎo)入變量文件的寫(xiě)法都不同,而且一旦移動(dòng)了目錄,就要修改里面的寫(xiě)法,比如

Variables ./rf/rf/rc.py

一種推薦的做法就是統(tǒng)一相對(duì)于項(xiàng)目根目錄,假設(shè)項(xiàng)目根目錄是rf,就需要像下面這樣

也可以在命令行參數(shù)中直接指定變量文件,就可以不用在RF中聲明了

擴(kuò)展關(guān)鍵字

使用python測(cè)試庫(kù),模塊文件名就是測(cè)試庫(kù)的名字

定義在python模塊中的函數(shù),名稱前有_前綴的不會(huì)作為關(guān)鍵字。

Python模塊定義好以后,RF就可以使用它了,我們可以這樣使用上面定義的測(cè)試庫(kù),要注意的是,要保證其在Python模塊的搜索路徑中,這樣RF才能找到它

RF在使用關(guān)鍵字的時(shí)候,中間可以加上任意的空格,并且大小寫(xiě)也可以任意

自己定義關(guān)鍵字名字 _hehe不會(huì)作為關(guān)鍵字被rf使用

python類作為測(cè)試庫(kù)

tlib2.py

庫(kù)的搜索規(guī)則

RF搜索庫(kù)完全是按照python的模塊的搜索規(guī)則來(lái)的

如果python庫(kù)是在一個(gè)包中,比如

pylib/login/rightpass.py

聲明的時(shí)候,可以在RF文件像python導(dǎo)入包里面的模塊那樣的語(yǔ)法,如下

*** Settings ***

Library pylib/login/rightpasswd.py

如果導(dǎo)入的庫(kù)中存在模塊的引入,引入的模塊要以加入pythonpath的路徑來(lái)寫(xiě)否則會(huì)報(bào)錯(cuò)

如果存在繼承的情況,只要導(dǎo)入子類就可使用父類的方法,要注意模塊導(dǎo)入時(shí)的路徑。

父類

子類

robot用例

總結(jié)如下:

1.在settings中聲明資源文件和變量文件:

路徑,目錄之間的分隔符用斜杠 / 而不是點(diǎn) .

2.在settings中聲明測(cè)試庫(kù):

路徑,目錄之間的分隔符,可以用點(diǎn) . 也可以用斜杠 /

路徑,目錄之間的分隔符用點(diǎn)后面不加py,用斜杠后面加.py

RF 關(guān)鍵字、變量與循環(huán)

關(guān)鍵字的使用

RF的能力是由關(guān)鍵字提供的,所以我們必須對(duì)RF的常用關(guān)鍵字有個(gè)了解,這樣才能把RF用好

常用的RF關(guān)鍵字就在RF的標(biāo)準(zhǔn)庫(kù)中

關(guān)鍵字參數(shù)

第一列是關(guān)鍵字的名稱

第2列是關(guān)鍵字的參數(shù)

常用關(guān)鍵字

set variable 只支持賦值一個(gè)字符串給變量,如果我們想賦值一個(gè)整數(shù),或者浮點(diǎn)數(shù),需要用Convert To integer Convert To Number

如果我們想把一個(gè)數(shù)字作為關(guān)鍵字的參數(shù),可以使用數(shù)字變量

Should be true 與python兩個(gè)區(qū)別:

1.變量前面加個(gè)$符號(hào)

2.不能中間有多于兩個(gè)空格

認(rèn)識(shí)測(cè)試庫(kù)

通常,關(guān)鍵字是由測(cè)試哭提供的。其實(shí)測(cè)試庫(kù)就是python模塊文件。

關(guān)鍵字就是python庫(kù)里面的函數(shù)和類的方法。

RF本事就是python程序,所以它的尋找?guī)煳募脑砗蚿ython是一樣的。最終是通過(guò)sys.path

我們?cè)谀膫€(gè)目錄下面運(yùn)行robot,哪個(gè)目錄就是當(dāng)前工作目錄當(dāng)前工作目錄就是在sys.path里面的。所以我們房子啊當(dāng)前目錄下面的python模塊文件,直接就能被找到

RF腳本使用函數(shù)名、方法名、大小寫(xiě)不敏感

庫(kù)的導(dǎo)入

要使用測(cè)試哭提供的關(guān)鍵字,我們必須要聲明導(dǎo)入庫(kù)當(dāng)然一個(gè)特例:除了RF的builtin庫(kù)的關(guān)鍵字,不需要聲明。

庫(kù)的名稱在RF里面是大小寫(xiě)敏感的。

有的庫(kù),在導(dǎo)入的時(shí)候,可以提供參數(shù),比如SeleniumLIbrary

importing 鏈接,點(diǎn)開(kāi),有參數(shù)就是導(dǎo)入可以設(shè)置的參數(shù)

timeout=5.0

run_on_faullure=Capture Page Screenshot

screenshot_root_directory=None

其實(shí)這些導(dǎo)入時(shí)帶參數(shù)的庫(kù),對(duì)應(yīng)的測(cè)試庫(kù)都是用類實(shí)現(xiàn)的

這些參數(shù)就是類的初始化方法init里面的參數(shù)

變量的用法

RF中的變量,實(shí)質(zhì)上就是一個(gè)python變量,他只想一個(gè)python對(duì)象。

所以RF的變量對(duì)應(yīng)的是什么Python對(duì)象,他就是什么類型的對(duì)象

循環(huán)

RF用:FOR來(lái)實(shí)現(xiàn)循環(huán),沒(méi)有while循環(huán)

對(duì)應(yīng)的文檔解釋在這里

:FOR \ 為舊語(yǔ)法 、

FOR END為新語(yǔ)法

range用法

python中,我們常常用到range方法,RF也有類似的支持

網(wǎng)站題目:rf使用python函數(shù)的簡(jiǎn)單介紹
當(dāng)前網(wǎng)址:http://chinadenli.net/article20/hgdhco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站建站公司、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、微信公眾號(hào)企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)