内置库(标准库) 直接绑定在Robot Framework内,在\Lib\site-packages\robot\liraries 扩展库 需要根据个人的需求进行下载 标准库 无需下载,直接导入即可使用...,Process,DateTime Dialogs:暂停测试执行,接收从用户输入 Collections:处理列表和自动 OperatingSystem:处理操作系统相关 Remote:远程库接口的一部分...,自己没啥关键字 Screenshot:捕获和存储桌面的截图 String:处理字符串 Telnet:连接Telnet服务器 XML:操作XML Process:系统中运行过程的库 DateTime:日期和时间转换的库...扩展库 常用的一些扩展库: HTTP协议的库 Robot Framework-Requests HTTP Library Web UI测试的库 Selenium2Lirary Robot Framework-Selenium2Screenshots...FTP操作的库 FTP Library SSH操作的库 SSHlibrary JSON操作的库 Robot Framework-JsonLibrary Evaluate 万能关键字 可以直接运行python
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...进入test目录下,运行以下命令 robot -P . test.robot 执行结果 ?...知识点 在类里面, 前缀的方法不会当做关键字 _ 同样,类中声明的方法当做关键字的话,大小写不敏感 栗子二:类初始化需要传参 python 代码 from robot.api import logger...知识点 如果类的 __init__ 初始化方法需要传参,则在导入库后面跟对应的参数列表 拓展 Python 知识点:先有类对象,还是先执行类初始化方法?...Python 库中的 class 存在继承 背景 当 robot 文件导入 Python 测试库的类继承了另一个类,应该怎么写导入路径?
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...表放的就是用户关键字 *** Keywords *** 定义用户关键字的简单栗子 ?...def add(a, b): return a + b if __name__ == '__main__': print(add(1, 1)) *** Keywords *** 表中的设置项...用户关键字的参数详解 参数通过 设置, 参数名称的语法格式和 变量 一样, 如 ${arg} [Arguments] 其实用户关键字的参数列表就等同于 Python 函数的参数列表,只是写法变了而已...用 &{args} 声明参数时,就是代表关键字参数,可以接受不定数量的关键字参数,跟 Python 的关键字参数一个意思 ?
如果你还想从头学起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 前言 所有关键字的栗子,在后面会进行补充哦,现在先了解它的作用是啥 关键字列表 关键字 参数 作用...Current Date 返回本地时间或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.run的run_cli(mytests.robot) 这里就先看第51行的run_cli方法 ,方法很简单,只是调用了RobotFramework类中的execute_cli方法。...行的方法调用),具体的任务如何执行交给了本实例的main方法(第50行)。...通过第5,8,18行可以看到测试的执行过程首先是通过TestSuiteBuilder构建了一个suite,然后执行该suite的run方法。...我们通过TestSuite类run方法中的from .runner import Runner可以知道 这个runner参数是: src/robot/running/runner.py 1 class...Default implementation does nothing.""" 30 pass 在visit_suite方法中,开始了测试的执行,start_suite,end_suite
如果你还想从头学起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 开头的常用关键字列表 ?
Robot Framework中对出错用例处理的策略 出错后退出 在默认情况下,当一个测试用例中的某个关键字返回错误时,这个测试用例就停止执行剩余的关键字。RF会继续执行下一个用例。...出错后继续执行 但是,有时候,我们却需要执行用例中的所有关键字,例如:要获取更多的出错信息、更改某些全局相关的变量、做teardown或者rollback操作等。...这时候,我们就可以使用BuiltIn库中的关键字来让特定关键字出错后RF仍然执行用例中剩余关键字。...另外要说的是,这些关键字只能被用到Suit Teardown部分(一般会写到一个用户自定义关键字中,被Suit Teardown调用)。...这样利用上述错误处理机制就基本能满足你的要求了。 其实我想找一个关键字:在用例中任意位置,不管上面关键字执行情况如何都会执行,这样更方便,可惜没有,只能规避。
目录结构如下:这里我们将上一篇中说到的关键字加进来 ? BlogSeleniumLibrary....,如下: 注意在RF中python 包名和类名一样的的话,导入库的时候就只需要填包名就行了,RF可以直接识别到。...可以看到这里新加了一个关键字 当然,既然用了selenium grid,肯定会考虑并发执行用例,以及合并测试报告的问题,这里暂不考虑这个。...(三)自定义和浏览器无关的关键字(例如:和数据库相关的关键字) 如果有一些关键字用不到selenium 的webdriver,可以考虑独立出来。...例如数据库相关的关键字,实现方式以及在RF中的导入方式,可以参考上一篇的mykeyword 关键字的写法。
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...,建议写 FOR :FOR FOR 的栗子 忽略爆红,因为新的 FOR 关键字,插件还不能识别 ?...: 可以小写,但是 IN 不可以(官网说 IN 也可以小写,但是试了一遍不可以哦) :FOR range 的用法 在Python 中,我们有常用的 range() 方法,RF 也有类似的用法 ?...enumerate 的用法 在 Python 中,有 enumerate() 函数,遍历列表时可以追踪每个元素的索引位置;在 RF 中通过 IN ENUMERATE 关键字来实现类似的效果 ?...相当于 Python 里面的 break ;退出循环有两个关键字 exit for loop:强制退出循环 exit for loop if:有条件的退出循环 ?
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...设置用例执行的超时时间 代码栗子 ?...RF 执行命令 都在cmd中执行哦 语法格式 robot --options datasource datasource:可以是文件也可以是文件夹,都代表用例集所在的数据源 文件:rf 用例所在的测试套件文件...文件夹:文件夹里面所有包含 rf 用例的文件【包含所有子目录】 小栗子 robot test.robot robot testcase 运行结果 会在执行命令的当前目录下生成三个文件,主要是查看日志和结果...RF 执行用例的内部流程 RF 读取测试套件文件( 文件),检查格式 .robot RF 先解析测试用例中的关键字 RF 然后调用测试库对应的关键字 关键字(即代码)完成具体工作 真正和被测系统交互的就是测试库中的关键字集
做自动化测试,离不开自动化测试框架(Framework)。框架约定了自动化测试用例的编写规则,并提供用例解析、用例执行、测试报告生成等基础功能。...在这期间,我既使用Robot Framework开发了多种不同测试场景中的自动化测试用例,也基于Robot Framework开发了若干第三方测试库。...例如,在接口测试,UI测试,端到端测试中,Robot Framework都是适用的。 自动化测试框架通常分为线性框架,数据驱动框架和关键词驱动框架三大类型。...Robot Framework属于关键词驱动型: 测试数据和测试脚本分离,并且测试脚本中的通用功能被剥离形成关键词。测试用例本质上是对一系列通用或自定义的关键词的调用。...因此,在传统测试团队向自动化转型的过程中,Robot Framework是很适用的。 然而,"凡事皆有两面性",Robot Framework既有优势,也有局限。
如果用户想在测试用例中实现比较复杂的逻辑,那就需要对BuiltIn中的重要关键字有一些了解。...另外,BuiltIn库中还封装了很多常见方法和能够控制RF运行状态的关键字,如果想用好RF,一定要对BuiltIn库中的函数有一个比较全面的理解。...,每个用例都会用到,比如我们的执行结果得到了一个字符串,我们要判断这个字符串要与一个预期字符串相等,否则用例就无法通过,这时候,肯定会用上 Should Be Equal As String...关键字,其它关键字我们通过关键字的名字就能顾名思义,知道它的作用。...Run Keyword If Test Failed · Run Keyword If Test Passed · Run Keyword If Timeout Occurred · 这些关键字能根据一个判断条件的真假来看是否执行关键字
找到robot feature,新增*.robot和*.txt的文件类型 ? 5、配置完成后,就可以直接在pycharm中编写脚本并运行了 ?...1、创建一个*.robot的文件,python3中,官方的建议是使用*.robot的文件格式。前面的配置没错的话,应该可以看到下面这种图标。 ?...,创建自己的关键字 *** Keywords *** Open Brower To Home Page OPEN BROWSER ${login_url} Chrome MAXIMIZE...4、另外说明下,robot常用的关键字主要在下面2个模块中定义,其中BuiltIn是框架内置的,不需要导入,会自动生效。...要使用SeleniumLibrary库的关键字的话,需要在setting部分先导入SeleniumLibrary库。 ? BuiltIn ? SeleniumLibrary.keyword ?
▊ Robot Framework被误会多年的秘密 今天我们主要聊一聊,Robot Framework被误会多年的秘密。...回归到今天的主题,大部分人在一开始用Robot Framework都存在一个误解,认为Robot Framework只支持Python 2,其实这是对Robot Framework兼容性存在的一个较大误区...之所以市面上一直有这样的误区,是因为Robot Framework对应的官方编辑器RIDE由于一些历史原因,只支持到了Python 2.7,那么也就导致如果你在使用Robot Framework时,如果是用...▊ 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实现了测试环境的准备与清理。...用于整个测试套件的初始化清理。 在测试项目或者测试套件的Settings中配置。 仅在开始和结束的时候执行一次。...在测试项目或者测试套件的Setting中配置。 当测试用例不包含初始化清理语句时,会执行。 当测试用例包含初始化清理语句时,不会执行!
今天我们主要聊一聊,Robot Framework被误会多年的秘密。...回归到今天的主题,大部分人在一开始用Robot Framework都存在一个误解,认为Robot Framework只支持Python 2,其实这是对Robot Framework兼容性存在的一个较大误区...之所以市面上一直有这样的误区,是因为Robot Framework对应的官方编辑器RIDE由于一些历史原因,只支持到了Python 2.7,那么也就导致如果你在使用Robot Framework时,如果是用...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...Scalar 变量 特点 当传递 Scalar 变量给关键字作为参数的时候, 就是直接把它所对应的 Python 对象类型传递给关键字对应的函数 每个 List 变量和 Dict 变量,也是 Scalar...variable 或 set variable if 关键字,然后再接需要设置的值 Test Cases 变量间,可以互相赋值 List 变量 List 变量的介绍 如果一个标量的值是一个列表,或者类似列表的其它序列...} 在 Python 里面就是一个 dict ,然后&{dict} 就是展开其 dict 中的每个键值对,作为多个参数传入,和 **kwargs 一样效果,在Python 里叫关键字参数【可看这篇博文
(一)在RF中自定义chrome启动参数 这里主要是实现下面2个功能 1、禁用chrome正受自动测试软件控制的提示 2、设置默认的下载路径(一些导出、下载类的功能,将文件下载到指定路径下) 自定义一个关键字...chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"]) return chrome_options 在RF的登录中引用这个自定义的关键字...,执行的时候如果提示找不到关键字GET CHROME OPTIONS,加一个环境变量PYTHONPATH, value就是python project的路径。...(三)python 的pythonpath 最后简单说明下,python有个搜索路径的概念,如果提示no keyword,而你又确实写了这个关键字,那么可能是库不在python的搜索路径里面。...通过 import sys sys,path 可以看到自己的搜索路径有哪些。 没有的话就新建一个环境变量,名称:PYTHONPATH 值:工程的路径。 环境变量加好后,重启下IDE就行了。
概述 在上文中,我们基于Robot Framework的public API实现了一个基本的自动化测试实例。...下面我们对上文的代码进行进一步封装,对该测试代码实现利用Robot Framework强大的变量能力,来实现参数化封装。...Framework基本执行过程演示代码-高级版") suite = BaiduSearchTest("百度搜索测试套件") suite.run() 将上述代码保存至search_baidu_adv_demo.py...中,执行下属命令运行: python search_baidu_adv_demo.py ?...总结 本文实例代码只是简单的进行封装,大家可以根据需要进一步结合PO模型进行封装,形成更为可用的组织方式。
领取专属 10元无门槛券
手把手带您无忧上云