如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...我们在Pycharm 通过创建 或者 .txt 文件去写 RF,一个 .robot 文件等于一个测试套件 .robot 注意事项 .robot 和 .txt 文件的编码格式必须是 utf8,以确保能够正确的解析...unicode 字符 若非 utf8 可能会在运行用例的时候出现错误,如下图 ?...文件夹:文件夹里面所有包含 rf 用例的文件【包含所有子目录】 小栗子 robot test.robot robot testcase 运行结果 会在执行命令的当前目录下生成三个文件,主要是查看日志和结果...RF 执行用例的内部流程 RF 读取测试套件文件( 文件),检查格式 .robot RF 先解析测试用例中的关键字 RF 然后调用测试库对应的关键字 关键字(即代码)完成具体工作 真正和被测系统交互的就是测试库中的关键字集
可以说,对于Robot Framework,我是蛮喜欢的,对它的理解也越来越深入。 今天,我就来总结一下自己对Robot Framework的认识和体会。这部分内容是整体和宏观的。...Robot Framework并不是为某一行业或某一类型的软件测试所设计的。相反,它的技术框架是通用的,适用于各种各样的自动化测试场景。...例如,在接口测试,UI测试,端到端测试中,Robot Framework都是适用的。 自动化测试框架通常分为线性框架,数据驱动框架和关键词驱动框架三大类型。...除此之外,Robot Framework还有一个显著优势,那就是开发自动化用例的门槛低。这是因为,Robot Framework提供了独特的Robot语法。...在一年一度的Robot Framework大会(RoboCon)上,各种围绕Robot Framework的优秀测试工具,测试库和应用案例层出不穷。
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...,建议写 FOR :FOR FOR 的栗子 忽略爆红,因为新的 FOR 关键字,插件还不能识别 ?...知识点 如果 后面跟的是一个 List 变量,必须用 @{list} 的格式哦!...IN 循环体内的语句需要缩进两个空格以上 如果 IN 后面接的值太多,可以换行,需要通过 来表示接着上一行的内容 ......知识点 是连在一起用的哦,中间最多一个空格,并且是大小写敏感的,不可以写成小写!
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...*** Keywords *** 定义用户关键字的简单栗子 ?...用户关键字的参数详解 参数通过 设置, 参数名称的语法格式和 变量 一样, 如 ${arg} [Arguments] 其实用户关键字的参数列表就等同于 Python 函数的参数列表,只是写法变了而已...,等号 = 前面不允许有空格,而=后面的空格则被视作默认值的一部分 可变参数 用 @{args} 声明参数时,就是代表可变参数,可以接受不定数量的参数,跟 Python 的可变参数一个意思 ?...,跟 Python 的关键字参数一个意思 ?
ie下audio不支持一些媒体类型 , 所以需要进行兼容处理 这里可以用js进行判断 , 并加载不同的资源文件 , 这样就兼容了ie if (b.canPlayType('audio/ogg; codecs...="vorbis"')) { }else{ ie下加载不同的资源文件 } <source id="chatMessageAudioSource
近来经常有童鞋问我一些RF的基本问题,如:如何实现循环?如何退出循环?如何实现判断?如何做类型转换?...如果用户想在测试用例中实现比较复杂的逻辑,那就需要对BuiltIn中的重要关键字有一些了解。...Evaluate会把你想要计算的表达式直接传递给Python,并把Python的计算结果返回给你。这是最经常要用到的。...,其它关键字我们通过关键字的名字就能顾名思义,知道它的作用。...Convert To Hex · Convert To Integer · Convert To Number · Convert To Octal · Convert To String 做类型转换比不可少
▊ 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。
Robot Framework中对出错用例处理的策略 出错后退出 在默认情况下,当一个测试用例中的某个关键字返回错误时,这个测试用例就停止执行剩余的关键字。RF会继续执行下一个用例。...这么做的好处是节省时间--反正这里出问题要返回来看了,再继续执行剩下的关键字也没有用了。...出错后继续执行 但是,有时候,我们却需要执行用例中的所有关键字,例如:要获取更多的出错信息、更改某些全局相关的变量、做teardown或者rollback操作等。...如:输入正确用户名密码,输入 错误用户名。。。),实现层(技术关键字:如:inputtext id=uname uname 。。。)...这样利用上述错误处理机制就基本能满足你的要求了。 其实我想找一个关键字:在用例中任意位置,不管上面关键字执行情况如何都会执行,这样更方便,可惜没有,只能规避。
今天我们主要聊一聊,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...&{dict} 和 ${dict} 的区别 字典变量也是标量的一种,只是值是字典,所以可以看成字典变量 可以看成是一个完整的字典对象, &{dict} 可以看成整体拆成一个个单独的键值对 ${dict
我们再来看 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...经过JarRunner解析会最终调用robot.run的run_cli("mytests.robot")这个方法 所以这个TestSuiteBuilder的目的是通过解析datasource来构建一个TestSuite
概述 在上文中,我们基于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模型进行封装,形成更为可用的组织方式。
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!...https://www.cnblogs.com/poloyy/category/1770899.html 前言 所有关键字的栗子,在后面会进行补充哦,现在先了解它的作用是啥 C 开头常用关键字列表 ?...teardown 作用域的常用关键字列表 注意:仅能在Suite Teardown 或 Test Teardown 设置后面用,否则会报错 ? Set 开头常用关键字列表 ?
如果你还想从头学起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的时间
HTTP的媒体类型 1.MIME类型的数据格式标签(MultIpurpose Internet Mail Extension) 2.最初用于电子邮件系统之间搬移,多用途互联网邮件扩展 3.MIME类型是一种文本标记...,表示一种主要的对象类型和一种子类型,通过相应报头content-type传递 4.MIME类型举例 html格式 text/html 普通ASCII文本 text/plain.../vnd.ms-powerpoint 5.MIME的编码: MIME提供了一种可以在邮件中附加多种不同编码文件的方法,弥补了原来的信息格式的不足。...MIME定义了两种编码方法Base64与QP(Quote-Printable) 6.m3u8的文件需要加mime类型: /etc/apache2/mods-enabled/mime.conf AddType...邮件中内嵌资源的三种方式,范围由大到小层次关系,大的可以包含小的 Content-Type: multipart/mixed 如果是附件 Content-Type: multipart/related
如果你还想从头学起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,可以看看这个系列的文章哦!...,都可以使用 Variables 表的变量 Variables 表中定义 Scalar 变量的栗子 ?...Variables 表中定义 List 变量的栗子 ? 测试结果 ?...知识点 只有通过 声明的变量,才是列表变量;如果用 {list} 声明,即使后面接的是列表值,也会当做一个整体(看测试结果 {lists2} ) @{list} 如果用 赋值的话,也只会被当做一个列表中的一个元素...知识点 只有通过 声明的变量,才是字典变量;如果用 {dicts} 声明,即使后面接的是字典,也会当做一个整体(看测试结果 {user} 的输出值) &{dicts} 重点:不同 之间也要空两个空格
今天我们分享下基于非编辑器模式的RobotFramework 关键字自动化测试。...YAML语法示例 这里我默认大家对RobotFramework有一定的基础,即:对关键字有一定的了解。...Result Title Should Be 开源优测_百度搜索 Quit Search Close All Browsers 将上述内容保存至search_baidu_demo.robot...文件中,执行以下命令: pybot search_baidu_demo.robot 运行日志如下图: ?...其中: output.xml 为原始的测试结果记录 log.html 为测试过程日志 report.html 为html格式的测试报告 也截图看看报告: ?
引言: Robot Framework的四层结构已经极大的提高了它的扩展性。我们可以使用它丰富的扩展库来完成大部分测试工作。...远程库接口的原理: 为了解决上述两个难题,Robot Framework提供了远程库接口技术(remote library interface)。 什么是远程库接口技术呢?...测试库提供真正的测试功能,它被远程服务器包裹起来,通过XML-RPC协议被远程库访问(见下图)。它的实现思路说白了就是设计模式中的Proxy模式。 这样做的好处显而易见。...,所有远程库的名称都叫做Remote,不同的只是后面的ip地址和端口号,我们也可用WITH NAME 关键字给它起一个别名,这是为了解决多个远程库里有相同关键字的问题(可以使用关键字前加命名空间的方式加以区分...) 下面链接是其它高级语言实现的远程库接口的说明,由于原理相似,就不再一一说明了。
领取专属 10元无门槛券
手把手带您无忧上云