Robot Framework自动化测试框架(二)————待续

来源:互联网 发布:托马斯·哈里斯 知乎 编辑:程序博客网 时间:2024/06/07 03:43

RF的优点

1、【使用简单】:基于关键字驱动的测试方法基于【关键字】驱动的测试方法,拥有易于使用的【表格】测试数据语法
2、【丰富的库】:丰富的库,及可以使用Java、Python等扩展测试库
3、【关键字分层】:基于基础关键字,可以自定义更高层的自定义关键字

RF常用测试库

RF Builtin

http://robotframework.org/#libraries
http://www.cnblogs.com/loleina/p/5528287.html

Web UI测试库

watir-robot:使用Watir的工具的Web测试库。
seleniumlibrary:Web测试库,内部使用比较流行的selenium工具。利用早期的selenium1.0和本身已经过时。
selenium2library:使用selenium2的Web测试库。替换了大部分老的seleniumlibrary。
selenium2library java:selenium2library的java接口
Django Library:为Django的库,一个Python Web框架。

Win GUI测试库

autoitlibrary:Windows的GUI测试库,使用AutoIt的免费工具作为驱动。
swinglibrary:用Swing GUI测试java应用程序库
Eclipse Library:使用SWT窗口小部件测试Eclipse RCP应用程序的库。

移动端测试库

Android library:所有android自动化需要的测试库,内部使用的是Calabash Android
iOS library:所有iOS自动化需要的测试库,内部使用Calabash iOS服务
appiumlibrary:Android和iOS测试库,内部使用的是appium

数据库测试库

MongoDB library:使用pymongo和MongoDB交互的库。(MongoDB是一个基于分布式文件存储的数据库)
Database Library (Java):基于Java的数据库测试库。也可使用Jython和Maven central.
Database Library (Python):基于Python数据库测试库。支持任何Python解释器,包括Jython。

接口测试库

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

其他工具库

Archive library:处理.zip和.tar压缩包的库。
Diff Library:比较两个文件的库。
FTP library:Robot Framework上测试和使用FTP服务的库。
SSHLibrary:通过SSH连接的在远程机器上执行命令。还支持使用SFTP进行文件传输
rammbock:通用的网络协议测试库;提供简单的方法来指定网络数据包,并检查发送和接收数据包的结果。
imagehorizonlibrary:跨平台、基于图像识别的GUI自动化纯Python库。
robotframework-faker:一个服务faker的库,faker的测试数据生成器。
remoteswinglibrary:使用swinglibrary库测试和连接一个java进程,尤其是java web start的应用。
MQTT library:测试MQTT brokers和应用的库。

RF使用进阶

局部变量的定义

在《Robot Framework自动化测试框架(一)》中,简单介绍了如何在testsuite中定义一些全局变量,那如何进行定义局部变量呢?




运行结果:


局部变量的使用


    log    ${mykey}    #输出普通变量    : FOR    ${listitem}    IN    @{mylist}    #变量列表中的每一个元素    \    log    ${listitem}    #并输出    log    @{mylist}[0]    #按索引输出列表中的某个元素    log    &{mydic}[k1]    #按key输出字典中的元素

定义简单逻辑

IF

    log    ${mykey}    #输出普通变量    #条件判断1    Run Keyword If    ${mykey}>3    log    大于3    ...    ELSE    log    小于等于3    #条件判断2    Run Keyword If    ${mykey}>3    log    大于3    ...    ELSE    log    小于等于3    #条件判断3    Run Keyword If    ${mykey}<1    log    小于1    ...    ELSE IF    1<${mykey}<=3    log    大于1小于3    ...    ELSE    log    大于3    #条件判断3    #当判断条件为“false”时,后面的语句才会执行    Run Keyword Unless    ${mykey}==1    log    mykey不为1    log    ${mykey}

for


    log    ${mykey}    #输出普通变量    : FOR    ${listitem}    IN    @{mylist}    #变量列表中的每一个元素    \    log    ${listitem}    #并输出    :FOR    ${xx}    IN    1    2    \    log    ${xx}    :FOR    ${XXX}    IN RANGE    5    \    Run Keyword If    ${XXX}==3    Exit For Loop    \    log    ${XXX}

调用Python自定义库

请参考http://blog.csdn.net/justheretobe/article/details/69914163

Evaluate关键字


Screenshot库的使用



Collections库的使用


How to write good test cases using Robot Framework

https://github.com/robotframework/HowToWriteGoodTestCases/blob/master/HowToWriteGoodTestCases.rst

其他

1、tag标记
2、关键字区分大小写

参考,感谢

http://blog.csdn.net/huashao0602/article/details/53394784
http://robotframework.org/#libraries
http://www.cnblogs.com/loleina/p/5528287.html



















阅读全文
0 0
原创粉丝点击