内置库(标准库) 直接绑定在Robot Framework内,在\Lib\site-packages\robot\liraries 扩展库 需要根据个人的需求进行下载 标准库 无需下载,直接导入即可使用...扩展库 常用的一些扩展库: HTTP协议的库 Robot Framework-Requests HTTP Library Web UI测试的库 Selenium2Lirary Robot Framework-Selenium2Screenshots...FTP操作的库 FTP Library SSH操作的库 SSHlibrary JSON操作的库 Robot Framework-JsonLibrary Evaluate 万能关键字 可以直接运行python...类型转换 ? 常见的转换: Convert To String 字符串 Integer符点数 Boolean布尔值 变量操作 ?...当条件满足时运行Run Keyword If 当条件不满足时运行Run Keyword Unless 运行多个关键字Run Keywords 运行关键字并返回结果Run Keyword And Return
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...https://www.cnblogs.com/poloyy/category/1770899.html 什么是用户关键字 类似 Python 里面的函数,我们自定义函数,等于我们自定义关键字,也称为用户关键字...表放的就是用户关键字 *** Keywords *** 定义用户关键字的简单栗子 ?...用户关键字的参数详解 参数通过 设置, 参数名称的语法格式和 变量 一样, 如 ${arg} [Arguments] 其实用户关键字的参数列表就等同于 Python 函数的参数列表,只是写法变了而已...用 &{args} 声明参数时,就是代表关键字参数,可以接受不定数量的关键字参数,跟 Python 的关键字参数一个意思 ?
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...: "hahhahahaahah"} # 以下划线开头的函数不能作为RF关键字 def _returnlist2(): return [1, 2] robot 代码 ?...知识点 前缀的方法不会作为关键字,在Python里面, _ 开头的方法是私有方法,RF 不会识别到它 _ Python 方法作为关键字也是大小写不敏感的 RF 中会把关键字的 和单个空格忽略掉,所以...所有 Python 测试代码都在 tlib2.py 里面哦 最终运行是在【15_扩展关键字】目录下运行的,命令如下 robot -P . testrf 栗子一:类初始化不需要传参 python 代码 class...知识点 在类里面, 前缀的方法不会当做关键字 _ 同样,类中声明的方法当做关键字的话,大小写不敏感 栗子二:类初始化需要传参 python 代码 from robot.api import logger
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...https://www.cnblogs.com/poloyy/category/1770899.html 前言 所有关键字的栗子,在后面会进行补充哦,现在先了解它的作用是啥 C 开头常用关键字列表 ?...E 开头常用关键字列表 ? G 开头常用关键字列表 ? import 家族常用关键字列表 ? L、P 开头常用关键字列表 ? 自定义关键字Keyword 常用关键字列表 ?...teardown 作用域的常用关键字列表 注意:仅能在Suite Teardown 或 Test Teardown 设置后面用,否则会报错 ? Set 开头常用关键字列表 ?...Should 开头常用关键字列表 重点:有 should be 就有 should not be ? 其他关键字列表 ?
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...https://www.cnblogs.com/poloyy/category/1770899.html 前言 所有关键字的栗子,在后面会进行补充哦,现在先了解它的作用是啥 关键字列表 关键字 参数 作用...Add Time To Date date, time 添加time到date并返回结果日期 Add Time To Time time1, time2 添加time1到time2,并返回结果时间 Convert...UTC时间(2014-06-12 20:00:58.946) Subtract Date From Date date1, date2 返回date1减去date2的时间 Subtract Time From...Date date, time 从date中减去time,并返回结果日期 Subtract Time From Time time1, time2 从time1中减去time2,并返回结果时间 关键字列表图片
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...https://www.cnblogs.com/poloyy/category/1770899.html 前言 所有关键字的栗子,在后面会进行补充哦,现在先了解它的作用是啥 BuiltIn 库中的以下关键字也可以与列表和词典一起使用...Not Contain both Should Contain X Times lists Should Not Contain X Times lists Get Count lists A、C 开头的常用关键字列表...Dict 开头的常用关键字列表 主要针对 Dict 变量的操作 ? Get 开头的常用关键字列表 ? I、L 开头的常用关键字列表 主要针对 List 变量的操作 ? R 开头的常用关键字列表 ?...S 开头的常用关键字列表 ?
(一)自定义和浏览器相关的关键字 以下代码GitHub 版本库地址: https://github.com/blairwind/blog_rf SeleniumLibrary的扩展文档中提供了...目录结构如下:这里我们将上一篇中说到的关键字加进来 ? BlogSeleniumLibrary....__init__.py 的代码 # #-*-coding:utf-8-*- # from robot.libraries import BuiltIn from SeleniumLibrary.base...(三)自定义和浏览器无关的关键字(例如:和数据库相关的关键字) 如果有一些关键字用不到selenium 的webdriver,可以考虑独立出来。...例如数据库相关的关键字,实现方式以及在RF中的导入方式,可以参考上一篇的mykeyword 关键字的写法。
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...我们在Pycharm 通过创建 或者 .txt 文件去写 RF,一个 .robot 文件等于一个测试套件 .robot 注意事项 .robot 和 .txt 文件的编码格式必须是 utf8,以确保能够正确的解析...【 log("打印日志") 】 log 注意:关键字大小写不敏感, 、 LOG 效果一样 log 对于关键字:是调用的作用 对于变量:是赋值 或 调用的作用 关键字的来源 测试库 资源文件 用例所在文件的用户关键字表...文件夹:文件夹里面所有包含 rf 用例的文件【包含所有子目录】 小栗子 robot test.robot robot testcase 运行结果 会在执行命令的当前目录下生成三个文件,主要是查看日志和结果...RF 执行用例的内部流程 RF 读取测试套件文件( 文件),检查格式 .robot RF 先解析测试用例中的关键字 RF 然后调用测试库对应的关键字 关键字(即代码)完成具体工作 真正和被测系统交互的就是测试库中的关键字集
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...,建议写 FOR :FOR FOR 的栗子 忽略爆红,因为新的 FOR 关键字,插件还不能识别 ?...enumerate 的用法 在 Python 中,有 enumerate() 函数,遍历列表时可以追踪每个元素的索引位置;在 RF 中通过 IN ENUMERATE 关键字来实现类似的效果 ?...IN ENUMERATE 使用 ,需要用单独的一个变量去接住索引值,如 ${index} IN ENUMERATE 如果只用一个变量的话(如第三个栗子),那么每次循环返回的就是一个列表,第一个元素就是索引值...相当于 Python 里面的 break ;退出循环有两个关键字 exit for loop:强制退出循环 exit for loop if:有条件的退出循环 ?
可以说,对于Robot Framework,我是蛮喜欢的,对它的理解也越来越深入。 今天,我就来总结一下自己对Robot Framework的认识和体会。这部分内容是整体和宏观的。...Robot Framework并不是为某一行业或某一类型的软件测试所设计的。相反,它的技术框架是通用的,适用于各种各样的自动化测试场景。...例如,在接口测试,UI测试,端到端测试中,Robot Framework都是适用的。 自动化测试框架通常分为线性框架,数据驱动框架和关键词驱动框架三大类型。...除此之外,Robot Framework还有一个显著优势,那就是开发自动化用例的门槛低。这是因为,Robot Framework提供了独特的Robot语法。...在一年一度的Robot Framework大会(RoboCon)上,各种围绕Robot Framework的优秀测试工具,测试库和应用案例层出不穷。
近来经常有童鞋问我一些RF的基本问题,如:如何实现循环?如何退出循环?如何实现判断?如何做类型转换?...Evaluate会把你想要计算的表达式直接传递给Python,并把Python的计算结果返回给你。这是最经常要用到的。...关键字,其它关键字我们通过关键字的名字就能顾名思义,知道它的作用。...To Number · Convert To Octal · Convert To String 做类型转换比不可少。...Wait Until Keyword Succeeds 这是一个将异步调用变为同步调用的关键字。举一个例子:如果call某个WebService,并且需要得到返回结果才能做下一部操作。
Robot Framework中对出错用例处理的策略 出错后退出 在默认情况下,当一个测试用例中的某个关键字返回错误时,这个测试用例就停止执行剩余的关键字。RF会继续执行下一个用例。...这么做的好处是节省时间--反正这里出问题要返回来看了,再继续执行剩下的关键字也没有用了。...如果Mykeyword有返回值,我们可以这么使用: ${str} Run Keyword And Continue On Failure Mykeyword Log ${str} 获取关键字执行结果后继续执行...假设我们要执行一个关键字Mykeyword,关键字有一个返回值。...${result}获取执行结果,值为PASS或者FAIL;${returnvalue}获取Mykeyword的返回值。
▊ Robot Framework被误会多年的秘密 今天我们主要聊一聊,Robot Framework被误会多年的秘密。...回归到今天的主题,大部分人在一开始用Robot Framework都存在一个误解,认为Robot Framework只支持Python 2,其实这是对Robot Framework兼容性存在的一个较大误区...之所以市面上一直有这样的误区,是因为Robot Framework对应的官方编辑器RIDE由于一些历史原因,只支持到了Python 2.7,那么也就导致如果你在使用Robot Framework时,如果是用...值得庆幸的是,在2019年1月20号,Robot Framework RIDE发布了1.7.3版本解决了此前RIDE一直无法兼容Python 3的问题。...▊ Robot Framework RIDE 1.7.3+ 新特性 在Robot Framework IDE 1.7.3+版本中,显著增强的功能有: 兼容Python 2.7 and >=3.6。
关键字可以理解为类函数的机制 系统关键字 用户关键字 新建关键字 下面在内部测试资源中创建一个关键字 ? ? 这个关键字中就打印了一句话 ? import关键字 ? 执行关键字 ?...新建带参数关键字 ? 执行带参数的关键字 ? 带默认值的关键字 带默认值的Arguments:${name}='默认值' 关键字的Settings ?...,测试套件,测试用例都有各自的Setting,基本上见名知意 和其他的单元测试测试套一样,Robot Framework通过Setting中的Setup和Teardown实现了测试环境的准备与清理。...*** Setting *** Suite Setup 关键字 Suite Teardown 关键字 Test Case 用例级别 用于测试项目或测试套件下所属测试用例的初始化清理。...*** Setting *** test case01 [Setup] 关键字 [Teardown] 关键字 使用到多个初始化或者清理的关键字的时候使用大写的AND来进行拼接
今天我们主要聊一聊,Robot Framework被误会多年的秘密。...回归到今天的主题,大部分人在一开始用Robot Framework都存在一个误解,认为Robot Framework只支持Python 2,其实这是对Robot Framework兼容性存在的一个较大误区...之所以市面上一直有这样的误区,是因为Robot Framework对应的官方编辑器RIDE由于一些历史原因,只支持到了Python 2.7,那么也就导致如果你在使用Robot Framework时,如果是用...值得庆幸的是,在2019年1月20号,Robot Framework RIDE发布了1.7.3版本解决了此前RIDE一直无法兼容Python 3的问题。...Robot Framework RIDE 1.7.3+ 新特性 在Robot Framework IDE 1.7.3+版本中,显著增强的功能有: 兼容Python 2.7 and >=3.6。
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...上面 log 关键字后面跟的参数都是常量,且类型均是字符串【RF 里面,常量默认是字符串类型,如果需要整形、浮点数、列表,需要调用关键字来转换 or 生成】 变量的介绍 RF中的变量,实质上就是一个Python...变量,它指向一个Python对象 所以RF变量对应的是什么Python对象,它就是什么类型的对象 变量标识符 {变量名} {} 就是变量标识符 RF 的变量类型 变量类型 变量中文 写法 scalar...Scalar 变量 特点 当传递 Scalar 变量给关键字作为参数的时候, 就是直接把它所对应的 Python 对象类型传递给关键字对应的函数 每个 List 变量和 Dict 变量,也是 Scalar...} 在 Python 里面就是一个 dict ,然后&{dict} 就是展开其 dict 中的每个键值对,作为多个参数传入,和 **kwargs 一样效果,在Python 里叫关键字参数【可看这篇博文
我们再来看 src/robot/run.py 的工作原理。...,例如robot.run的run_cli(mytests.robot) 这里就先看第51行的run_cli方法 ,方法很简单,只是调用了RobotFramework类中的execute_cli方法。...通过第6行的 from robot.utils import Application可查看Application是做什么的。..._report_error('Unexpected error: %s' % error, 59 details, rc=FRAMEWORK_ERROR..._parse_and_build(path)) 30 root.rpa = self.rpa 31 return root 32 ...... build方法的最后返回了一个
概述 在上文中,我们基于Robot Framework的public API实现了一个基本的自动化测试实例。...下面我们对上文的代码进行进一步封装,对该测试代码实现利用Robot Framework强大的变量能力,来实现参数化封装。...代码 #-*- coding:utf-8 -*- __author__ = "苦叶子" from robot.api import TestSuite from robot.api import ResultWriter...Framework基本执行过程演示代码-高级版") suite = BaiduSearchTest("百度搜索测试套件") suite.run() 将上述代码保存至search_baidu_adv_demo.py...总结 本文实例代码只是简单的进行封装,大家可以根据需要进一步结合PO模型进行封装,形成更为可用的组织方式。
大家好,又见面了,我是你们的朋友全栈君。 一、返回一般数据类型 比如要根据 id 属性获得数据库中的某个字段值。...List类型 有时候我们要查询的数据不止一条,比如:模糊查询,全表查询等,这时候返回的数据可能不止是一条数据,对于多数据的处理可以存放在List集合中。...select * from t_employee 四、返回Map类型 MyBatis 还支持将查询的数据封装成Map。...上面返回结果的形式都是基于查询 (select) 的,其实对于增删改的操作也可以返回一定类型的数据,比如Boolean,Integer等。 总结....这篇博文主要介绍了在开发中常用的几种数据返回值类型,希望能够为你提供帮助。
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...,都可以使用 Variables 表的变量 Variables 表中定义 Scalar 变量的栗子 ?...Variables 表中定义 List 变量的栗子 ? 测试结果 ?...知识点 只有通过 声明的变量,才是列表变量;如果用 {list} 声明,即使后面接的是列表值,也会当做一个整体(看测试结果 {lists2} ) @{list} 如果用 赋值的话,也只会被当做一个列表中的一个元素...知识点 只有通过 声明的变量,才是字典变量;如果用 {dicts} 声明,即使后面接的是字典,也会当做一个整体(看测试结果 {user} 的输出值) &{dicts} 重点:不同 之间也要空两个空格
领取专属 10元无门槛券
手把手带您无忧上云