robotframework 断言关键字
https://www.cnblogs.com/xiaozhaoboke/p/11434874.html
robotframework 数据库关键字
http://www.voidcn.com/article/p-diysnbgs-kd.html
https://www.cnblogs.com/laoqing/p/8542487.html
robotframework if
https://www.cnblogs.com/kelly11/p/12696048.html
官方文档
https://robotframework.org/#examples
环境搭建
注意
1、安装 python3.7 ps:python2.7不维护了
2、安装pip3
3、工具建议用VScode ,之后安装扩展文件 汉化、python 、robotframework
安装依赖
sudo pip3 install configparser #(注意如果是python2,则大小写不同,为 ConfigParser)
sudo pip3 install robotframework
sudo pip3 install robotframework-databaselibrary
sudo pip3 install -U requests
sudo pip3 install -U robotframework-requests
sudo pip3 install -U robotframework-AppiumLibrary
sudo pip3 install robotframework-selenium2library
sudo pip3 install --upgrade robotframework-selenium2library
sudo pip3 install redis
sudo pip3 install MySQL-python
sudo pip3 install PyMySQL
sudo pip3 install JPype1 #(可选,如果需要调用java 运行库的话)
sudo pip3 install demjson
sudo pip3 install natsort
sudo pip3 install xlutils
– sudo pip3 install robotframework-ExcelLibrary #(注意,这个非必须安装,只支持pytohn2)
sudo pip3 install robotframework-excellib
sudo pip3 install wxPython
sudo pip3 install autoit
sudo pip3 install robotframework-autoitlibrary
sudo pip3 install pytesseract
sudo pip3 install pillow
pip3 install robotframework-excel
pip3 install robotframework-excellibrary-xwfintech
常用操作库
https://blog.csdn.net/lfxxandyx/article/details/60963131?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&dist_request_id=9536b14f-d944-40d0-b482-c5fb117e3e5c&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control
• Builtin:包含经常需要的关键字。自动导入无需import,因此总是可用的
• Dialogs:提供了暂停测试执行和从用户的输入方式。
• Collections:提供一组关键词处理Python列表和字典。
• OperatingSystem:允许执行各种操作系统相关的任务。允许执行各种操作系统相关的任务,使各种操作系统相关的任务在robot framework正在运行的系统中执行。
• Remote:远程库接口的一部分。没有自己的任何关键字,作为robot framework和测试库之间的代理的特殊库。实际测试库可以在不同的机器上运行,可以使用任何编程语言支持XML-RPC协议的实现。
• Screenshot:提供关键字来捕获和存储桌面的截图。
• String:用于处理字符串并验证它们的内容的库,用于生成、修改和验证字符串、
• Telnet:支持连接到Telnet服务器上打开的连接执行命令。
• XML:用于生成、修改和验证XML文件的库。
• Process:系统中运行过程的库。
• DateTime:日期和时间转换的库,支持创建和验证日期和时间值以及它们之间的计算
扩展库是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和应用的库。
Redis demo
*** Settings ***
Documentation 测试RF对redis的操作
… 注意!请先在测试环境进行验证,避免对生产环境进行修改!
… Maintainer : penn201500@gmail.com
Library RedisLibrary
*** Variables ***
${key} some_key_of_redis
${host} 192.168.1.10
${redis_port} 8888
${redis_auth} password
*** Test Cases ***
test_get_redis_value
log 获取redis的key值
${redis_conn}= Connect To Redis ${host} ${redis_port} 0 ${redis_auth}
${value}= Get From Redis ${redis_conn}
k
e
y
l
o
g
v
a
l
u
e
i
s
:
{key} log value is:
keylogvalueis:{value}
log 修改value,重新获取
Set to redis ${redis_conn} ${key} 1
${new_value}= Get From Redis ${redis_conn}
k
e
y
l
o
g
n
e
w
v
a
l
u
e
i
s
:
{key} log new value is:
keylognewvalueis:{new_value}
log 对取到的value进行判断
should be equal ${value} 10
should be equal ${new_value} 1
sleep 10s
sudo pip3 list