5.远程服务器操作(SSHLibrary)
一、SSHLibrary
robotframework做自動(dòng)化測(cè)試,在流程中可能需要遠(yuǎn)程連接機(jī)器做一些簡(jiǎn)單操作,比如連接linux服務(wù)器,平時(shí)測(cè)試的時(shí)候使用客戶端工具去連接就是遠(yuǎn)程連接。
遠(yuǎn)程連接有兩種:
一種是用戶名密碼登錄連接;
一種是通過(guò)密鑰連接:比如工具輸入用戶名、密碼去連接服務(wù)器,再比如連接git很多都是用密鑰。
在robotframework中要遠(yuǎn)程連接可以使用SSHLibrary庫(kù)來(lái)做操作。
1、安裝并引入庫(kù)
pip install robotframework-SSHLibrary
2、關(guān)鍵字介紹
Open Connection
用法: [ host | alias=None | port=22 | timeout=None | newline=None | prompt=None | term_type=None | width=None | height=None | path_separator=None | encoding=None ]
默認(rèn)設(shè)置:timeout=3 seconds,newline=LF,prompt=None,loglevel=INFO,term_type=vt100,width=80,height=24,path_separator=/,encoding=UTF-8.其中,newline=LF/CRLF(
,
)
Get Connection
用法:[ index_or_alias=None | index=False | host=False | alias=False | port=False | timeout=False | newline=False | prompt=False | term_type=False | width=False | height=False | encoding=False ]
1.獲取connection的信息,如果調(diào)用時(shí)沒(méi)有加index_or_alias,返回當(dāng)前的conection信息。
2.獲取connection的特定屬性信息,后邊加屬性名=非false/False字符串。
Get Connections
用法:沒(méi)有輸入值,獲取所有打開(kāi)的connection的信息
SwitchConnection
用法:[ index_or_alias ],跳轉(zhuǎn)到另一個(gè)active的connection。
Close Connection
用法:沒(méi)有輸入值,關(guān)閉當(dāng)前的connection
Close All Connections
用法:沒(méi)有輸入值,關(guān)閉所有打開(kāi)的connection
Login
用法:[ username | password | delay=0.5 seconds ]
Login With Public Key
用法:[ username | keyfile | password= | delay=0.5 seconds ]
Set Client Configuration
用法:[ timeout=None | newline=None | prompt=None | term_type=None | width=None | height=None | path_separator=None | encoding=None ],設(shè)置當(dāng)前connection的配置
Set DefaultConfiguration
用法:[ timeout=None | newline=None | prompt=None | term_type=None | width=None | height=None | path_separator=None | encoding=None ],設(shè)置默認(rèn)的配置,但不影響已經(jīng)open的connection。
Enable Ssh Logging
用法:[ logfile ],將SSH協(xié)議的日志輸出到本地給定的“日志文件”中。Enables logging of SSH protocol output to given `logfile`.
note:
1.文件存在時(shí),文件內(nèi)容被重寫。
2.沒(méi)有指定路徑時(shí),該文件在RF文件夾中。
與文件/目錄相關(guān)的
File Should Exist ,
File Should Not Exist,
Directory Should Exist ,
Directory Should Not Exist
用法:[ path ] ,無(wú)返回值
List Directory,
List Files In Directory ,
List Directories In Directory
用法: [ path | pattern=None | absolute=False ],返回值為list。其中absolute=true ,返回絕對(duì)路徑。
PutFile
用法:[ source | destination=. | mode=0744 | newline= ],無(wú)返回值,將文件從本地上傳到遠(yuǎn)程機(jī)器上。
`newline` can be used to force the line break characters that are written to the remote files. Valid values are `LF` and `CRLF`.
PutDirectory
用法:[ source | destination=. | mode=0744 | newline= | recursive=False ],將目錄由本地上傳到遠(yuǎn)程機(jī)器上。如果recursive=True,將子目錄中文件也上傳至遠(yuǎn)程機(jī)器上。
Get File
用法:[ source | destination=. ],從遠(yuǎn)程機(jī)器中下載文件
Get Directory
用法:[ source | destination=. | recursive=False ],從遠(yuǎn)程機(jī)器中下載目錄。如果recursive=True,將子目錄中文件也下載至本地上。
與讀寫執(zhí)行相關(guān)的
Write
用法:[ text | loglevel=None ],將text寫入到遠(yuǎn)端機(jī)器上并回車執(zhí)行,返回值為text+換行符
loglevel:TRACE,DEBUG,INFOandWARN
WriteBare
用法:[ text ],將text寫入到遠(yuǎn)端機(jī)器上,沒(méi)有執(zhí)行沒(méi)有返回值。
Write Until Expected Output
用法:[ text | expected | timeout | retry_interval | loglevel=None ],沒(méi)有返回值,輸入的text 在設(shè)定的timeout內(nèi)每隔retry_interval重復(fù)執(zhí)行,直到終端輸出的結(jié)果中包含期望的輸出expected。
關(guān)鍵字write 有返回值,執(zhí)行命令后,用read讀取終端輸出時(shí)不會(huì)讀取到輸入的text; 關(guān)鍵字write bare沒(méi)有返回值,執(zhí)行命令后,用read讀取終端輸出時(shí)會(huì)讀取到輸入的text;
Read
用法: [ loglevel=None | delay=None ] ,讀取終端輸出
Read Until
用法:[ expected | loglevel=None ]
Read Until Prompt
用法:[ loglevel=None ]
Read Until Regexp
用法:[ regexp | loglevel=None ]
Execute Command
用法:[ command | return_stdout=True | return_stderr=False | return_rc=False ]
在遠(yuǎn)端機(jī)器上執(zhí)行命令,并返回執(zhí)行結(jié)果,需要等待command執(zhí)行完才返回結(jié)果。
Start Command
用法:[command]
沒(méi)有返回值,不等待command執(zhí)行完成就返回。
Read Command Output
用法:[ return_stdout=True | return_stderr=False | return_rc=False ]
與Start Command配合使用,執(zhí)行Read Command Output前至少要先執(zhí)行一次Start Command關(guān)鍵字,返回最近一次start command的返回值。
SSHLibrary 官方文檔:
http://robotframework.org/SSHLibrary/SSHLibrary.html#Importing
總結(jié)
以上是生活随笔為你收集整理的5.远程服务器操作(SSHLibrary)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 惠普服务器查询ilo信息,Hp服务器iL
- 下一篇: querySelectorAll选择器的