Robot Framework常用库和常用关键字

Robot Framework常用关键字 --- BuiltIn库(内置)

转换数字/字符串

Convert to String 、Convert to Number

验证点

Should Be Empty、Should Be Equal、Should Be True、Should Contain、Should Not Be Empty、Should Not Be Equal、Should Not Be True、Should Not Contain

循环执行

Continue For Loop、Continue For Loop If 、Exit For Loop、Exit For Loop If

运行关键字

Run Keyword、Run Keyword And Continue On Failure、Run Keyword If、Run Keywords

导入资源文件

Import Library、Import Resource、Import Variables

其它

Log、Log To Console、Sleep、Wait Until Keyword Succeeds、Get Length、Get Time、Set Variables、Get Variables


Robot Framework常用关键字 --- Selenium2库

浏览器操作

Open Browser、Switch Browser、Close Browser、Close All Browsers、Maximize Brower Window、Close Window、Get Window Titles、Select Window

点击操作

Click Button、Click Element、Click Image、Click Link

输入文本操作

Input Text、Input Password

选择/取消选择

Select Checkbox、Select Frame、Unselect Checkbox、Unselect Frame

检查点

Page Should Contain、Page Should Contain Button、Page Should Contain Image、Page Should Contain Link、Page Should Contain Textfield、Page Should Not Contain

其它

Capture Page Screenshot、Choose File、Get Location、Go Back、Go To、Reload Page


Robot Framework常用关键字 --- SSHLibrary库

Close All Connections 关闭所有打开的连接,“打开连接”返回的连接索引被重置并从“1”开始

Close Connection 关闭当前连接

Directory Should Exist 如果给定的路径不指向现有目录,则会失败。

Directory Should Not Exist 如果给定的路径指向现有目录,则会失败。

Enable Ssh Logging 使SSH协议输出日志给`logfile`,`logfile`是一个文件,是由当前的本地用户可写的路径。如果文件已经存在,它将被覆盖。注:此关键字只能在Python中,即在执行测试` PyBot `。

Execute Command 在远程计算机上执行“命令”并返回其输出,此关键字执行“命令”并在执行完成后返回。如果命令在后台启动,请使用“开始命令”。

File Should Exist 如果给定的路径不指向现有文件,则失败。

File Should Not Exist 如果给定的路径指向现有文件,则失败。

Get Connection 返回连接的信息。

此关键字不会改变连接,使用`Switch Connection`开关连接,来更改活动连接。

Get Connections 返回所有打开连接的信息。

此关键字返回与`Get Connection`获取连接,返回的对象相同的对象列表。

Get Directory 从远程计算机下载一个目录,包括它的内容到本地机器。

Get File 将文件从远程机器下载到本地机器。

List Directories In Directory 只返回目录的`List Directory`的包装器。

List Directory 返回和记录远程`path`路径,中的项,可选地用`pattern`模式,过滤。

List Files In Directory 只返回文件的`List Directory`的包装器。

Login 用给定的 `username`用户名,和 `password`口令,登录ssh服务器。

在使用此关键字之前必须打开连接。

此关键字在登录后读取、返回和记录服务器输出。如果设置了提示,则所有内容直到提示符被读取为止。否则,输出将使用“读”关键字与给定的“延迟”读取。输出使用

Login With Public Key 使用基于密钥的身份验证登录到ssh服务器。

在使用此关键字之前必须打开连接。

Open Connection 打开一个新的ssh连接到给定的 `host`主机,和 `port`端口。

新连接处于活动状态。可能存在的连接在后台打开。

注意在Jython这个关键词实际上打开一个连接,将不能立即无法访问的主机。在python上,实际的连接尝试将在调用“登录”之前完成。

Put Directory 将一个目录,包括它的内容,从本地机器上传到远程机器。

Put File 将文件从本地机器上传到远程机器。

Read 消耗并返回服务器输出上可用的所有内容。

如果给出“延迟”,该关键字将等待大量时间并再次读取输出。只要进一步读取返回更多输出或超时过期,则重复等待读循环重复。`延迟`必须在机器人框架的时间格式(例如` 5 `,` 4.5s `,` 3分钟`,` 2分钟3秒`)是在用户指南中详细解释。

这个关键字对于从服务器输出读取所有内容非常有用,从而清除它。

读取输出记录。` LogLevel `可以重写默认的日志级别。

Read Command Output 返回最近启动的命令的输出。

在使用此关键字之前,至少必须使用“开始命令”命令启动至少一个命令。

默认情况下,只返回启动命令的标准输出

Read Until 消耗并返回服务器输出,直到遇到 `expected`预期。

文本直到并包括 `expected` 预期,将被返回。

如果超时在找到匹配之前过期,则此关键字失败。

Read Until Prompt 消耗并返回服务器输出,直到找到提示。

文本向上,直到提示符返回。在使用此关键字之前必须设置提示符。

如果超时在找到匹配之前过期,则此关键字失败。

当读取先前命令的输出时,该关键字对读取单个命令的输出非常有用,该命令在其输出中不生成即时字符。

Read Until Regexp 消耗和返回服务器输出直到` regexp `发现。` regexp `可以图案或编译正则表达式对象。

文本直到并包括` regexp `将返回。

Set Client Configuration 更新当前连接的`configuration` 配置。

只有值为 `None` 否,的参数才被更新。

Set Default Configuration 更新默认的“配置”。

请注意,使用此关键字不会影响已经打开的连接。

Start Command 开始在远程计算机上执行`command`命令,并立即返回。

此关键字不返回任何内容,不等待命令执行完成。如果需要输出,则使用`Execute Command` 执行命令,代替。

此关键字不返回由`command`开始,命令生成的任何输出。

Switch Connection 通过索引或别名切换活动连接。

` index_or_alias `是连接指数(整数)或别名(一个字符串)。索引作为“打开连接”的返回值获得。或者,两个索引和别名都可以查询为“获取连接”返回的对象的属性。

此关键字返回以前活动连接的索引,可用于稍后切换回该连接。

Write 将给定的文本` `在远程机器上,添加一个换行符。

添加换行符可以配置。

Write Bare 写了`远程机器上的文本`不带换行符。

不同于`Write`写,这个关键字返回并且不消耗任何东西。

Write Until Expected Output 反复写入给定的“文本”,直到`expected` 期望,出现在服务器输出中。

此关键字不返回任何内容。


Robot Framework常用关键字 --- DatabaseLibrary库

Call Stored Procedure 采用` spname `和spparams来调用存储过程的输入。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。

spname应该存储过程名称本身spparams [可选]是个列表被发送的参数。列表可以是一个或多个项目。

这个关键字的返回将始终是一个列表。

Check If Exists In Database 检查是否有排将由给定的输入` selectstatement `返回。如果没有结果,那么这将抛出一个断言错误。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。

Check If Not Exists In Database 这是否定` check_if_exists_in_database `。

检查如果没有行可以通过给定的输入` selectstatement `返回。如果有任何的结果,那么这将抛出一个断言错误。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。

Connect To Database 连接数据库,变量分开写

Connect To Database Using Custom Params 连接数据库,变量写一起

Delete All Rows From Table 删除给定表中的所有行。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。

Description 使用输入` selectstatement `在数据库将被用来确定描述表的查询。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。

Disconnect From Database 断开与数据库的连接。

Execute Sql Script

Execute Sql String 执行SQL命令sqlstring。有用传递参数到您的SQL。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。

SQL命令预期由分号(“;”)分隔。

Query 使用输入` selectstatement `查询的值将作为一个元组返回列表。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。

提示:除非你想记录的指定行的所有列的值,请指定的列名在你的SELECT语句尽可能防止任何不必要的惊喜与图式变化,很容易看到你的[ ]索引试图检索(即不是`“选择*从my_table”`,尝试`“选择ID,col_1,col_2从my_table”`)。

Row Count 使用输入`selectstatement `来查询数据库并返回查询的行数。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。

Row Count Is O 检查是否有任何行返回从提交` selectstatement `。如果有,那么这将抛出一个断言错误。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。

Row Count Is Equal To X 检查从` selectstatement `等于提交的值返回的行数。如果不是,那么这将抛出一个断言错误。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。

Row Count Is Greater Than X 检查从` selectstatement `大于提交的值返回的行数。如果不是,那么这将抛出一个断言错误。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。

Row Count Is Less Than X 检查从` selectstatement `小于值提交返回的行数。如果不是,那么这将抛出一个断言错误。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。

Table Must Exist 检查数据库中给定的表是否存在。设置可选输入` sanstran `真正运行命令没有显式事务提交或回滚。


Robot Framework常用关键字 --- AppiumLibrary 库

一、实用函数

关键字    含义    实例    备注

Click Button    点击按钮    Click Button 注销    这里“注销”的class属性,必须是Button

Click Element    点击元素    Click Element [locator]Locator    可以是resource-id,也可以是xpath;但必须是当前页面唯一存在的;一般用该关键字可以完成所有元素点击

Click Text    点击文字    Click Text 我的    “我的”需要是当前页面唯一存在的

Input Text    在指定元素中输入文本    InputText [locator] 111111    Locator可以是resource-id,也可以是xpath

Swipe    滑动屏幕    Swipe 1000 1800 100 1800

Get Text    获取某标签内容    ${account}   Get Text  [locator]      获取内容后存储到指定变量中,从而在后续脚本中调用该内容

二、校验函数

Element Name Should Be检查元素的name属性

Element Name Should Be  [locator]  登录locator可以是resource-id,也可以是xpath

Element Should Be Enabled检查元素是否可用/可见Element Should Be Enabled  [locator] 

Page Should Contain Element检查界面包含某些元素Page Should Contain Element   [locator] 

Page Should Contain Text检查界面包含某些文字信息Page Should Contain Text  预约挂号 

Page Should Not Contain Element检查界面不包含某些元素Page Should Not Contain Element  [locator] 

Page Should Not Contain Text检查界面不包含某些文字信息Page Should Not Contain Text  预约挂号 

三、等待函数

Wait Until Page Contains等待直到界面中包含某些文字,才进行下一步Wait Until Page Contains  预约挂号默认等待时间为5s

Wait Until Page Contains Element等待直到界面中包含某些元素,才进行下一步Wait Until Page Contains Element   [locator]locator可以是resource-id,也可以是xpath

Wait Until Page Does Not Contain等待直到界面中不包含某些文字,才进行下一步Wait Until Page Does Not Contain  预约挂号 

Wait Until Page Does Not Contain Element    等待直到界面中不包含某些元素,才进行下一步    Wait Until Page Does Not Contain Element  [locator]


扩展库 

Robot Framework需要下载安装后才能使用的库,包括:

Android library:所有android自动化需要的测试库,内部使用的是Calabash Android

iOS library:所有iOS自动化需要的测试库,内部使用Calabash iOS服务

AppiumLibrary:Android和iOS测试库,内部使用的是appium

HTTP library (livetest):内部使用LiveTest工具的HTTP测试的库。

HTTP library (Requests):内部使用request工具的HTTP测试的库。

MongoDB library:使用pymongo和MongoDB交互的库。(MongoDB是一个基于分布式文件存储的数据库)

Database Library (Java):基于Java的数据库测试库。也可使用Jython和Maven central.

Database Library (Python):基于Python数据库测试库。支持任何Python解释器,包括Jython。

watir-robot:使用Watir的工具的Web测试库。

seleniumlibrary:Web测试库,内部使用比较流行的selenium工具。利用早期的selenium1.0和本身已经过时。

selenium2library:使用selenium2的Web测试库。替换了大部分老的seleniumlibrary。

selenium2library java:selenium2library的java接口

Django Library:为Django的库,一个Python Web框架。

sudslibrary:一种基于泡沫基于SOAP的Web服务的功能测试库,动态的SOAP 1.1的客户端。

Archive library:处理.zip和.tar压缩包的库。

Diff Library:比较两个文件的库。

FTP library:Robot Framework上测试和使用FTP服务的库。

SSHLibrary:通过SSH连接的在远程机器上执行命令。还支持使用SFTP进行文件传输

rammbock:通用的网络协议测试库;提供简单的方法来指定网络数据包,并检查发送和接收数据包的结果。

imagehorizonlibrary:跨平台、基于图像识别的GUI自动化纯Python库。

autoitlibrary:Windows的GUI测试库,使用AutoIt的免费工具作为驱动。

Eclipse Library:使用SWT窗口小部件测试Eclipse RCP应用程序的库。

robotframework-faker:一个服务faker的库,faker的测试数据生成器。

swinglibrary:用Swing GUI测试java应用程序库

remoteswinglibrary:使用swinglibrary库测试和连接一个java进程,尤其是java web 

start的应用。(Java Web Start 是基于 Java 技术的应用程序的一种部署解决方案,它是连接计算机和 Internet 

的便捷通道,允许用户在完全脱离 Web 的情况下运行和管理应用程序)

MQTT library:测试MQTT brokers和应用的库。



推荐阅读更多精彩内容