文章分类 - RobotFramework
摘要:前言 本着最新的3.0.4框架功能最全,更稳定,效率更高的想法,安装了python3.6.5+Robot Framework 3.0.3。pip list查看安装的版本(哈哈,看了下不是最新的,但也算是比较新的了。) 安装完之后,发现没有界面ride.py一时之间不知道如何下手写脚本,所以出现这篇文
阅读全文
摘要:有时候需要使用robot处理浏览器前进、后退等功能时,发现selnium2Library库缺少关键字,只有浏览器后退关键字Go Backe,前进关键字没有,其实在selnium中有这个关键字,只是没有开放出来,如图 由上面可以分析得出,此关键字只是没有添加到selnium2library库中,其实已
阅读全文
摘要:自动化分为坐标识别、图像识别、对象识别。 一、坐标识别的典型代表工具【按键精灵】 按键精灵:官网下载地址 按键精灵教程:官方教程 二、图像识别代表工具-图形脚本语言【sikuli】 已经更新了1.1.2版,最低Java8。我下载的是1.1.4 1)sikuli简介及使用方法 sikuli官网:官网下
阅读全文
摘要:先来个例子,见上: chromedriver官方下载地址:http://chromedriver.storage.googleapis.com/index.html 上面是直接使用,如果你觉得在测试框架中这么用不方便动态使用的话,可以做一层封装,步骤见下: 1、C:\Python27\Lib\sit
阅读全文
摘要:RobotFramework 报告汉化可以更方便非自动化人员查看测试报告,汉化后的报告如下。 自动化测试报告汉化方法: 这两个文件是输出报告时使用的模版,它们分别是report.html和view.js,在目录”Python home”\Lib\site-packages\robot\htmldat
阅读全文
摘要:1.背景 当自动化用例累积的越来越多,回归自动化用例的时间越来越长。 我们往往会选择使用多线程的方式来跑用例集,但是用例数量达到一定数量级(千级以上)后,在单台机器上使用多线程(千级以上)直接影响到机器性能,能不能组成并行加并发的模式跑用例,自动将用例集拆分成更细粒度的子集,将子集在单独的容器内(容
阅读全文
摘要:CSS 可以比较灵活选择控件的任意属性,一般情况下定位速度要比 XPath 快,但对于初学者来说比较难以学习使用,下面我们就详细的介绍 CSS的语法与使用。 定位实例: css中的结构性定位 结构性定位就是根据元素的父子、同级中位置来定位,css3标准中有定义一些结构性定位伪类如nth-of-typ
阅读全文
摘要:由于某些项目需要第三方插件,导致非标准IE控件而Selenium2library无法进行操作,解决思路一种是通过键盘操作、鼠标操作和借用第三方库进行操作。 方法一、使用TAB键进行移动光标定位到输入区域,进入内容输入。 方法二、使用os库进行操作。 a)因为此系统仅支持IE内核,所以下载了搜狗浏览器
阅读全文
摘要:有关循环的关键字 在一系列元素中循环 根据数字的范围来循环 重复执行某一个关键字多次 最后一个和真正的循环是有差别的,意味着你得将所有操作封装到一个关键字中。并且,在执行结束之前无法退出循环。 语法非常直接,不需要过多解释。唯一需要注意的是,循环体内的关键字必须用 ‘\’ 来进行转义。 测试: 输出
阅读全文
摘要:5.1 语句简介 robotframework中的if语句是使用关键字Run Keyword If来代替的 Run Keyword If 函数释义:如果给出的判断条件满足,就执行给出的关键字。 函数结构范例: Run Keyword If 判断条件 其他关键字 ... ELSE IF 判断条件 其他
阅读全文
摘要:一、安装MySQL库 方法1、 DatabaseLibrary(python) 库包下载地址: http://franz-see.github.io/Robotframework-Database-Library/ 方法2:免下载直接安装使用命令 二、安装pymysql tips:pymysql是一
阅读全文
摘要:参数解析分析 在分析配置的RobotSettings之前,需要获得配置的参数,而这些参数是要通过解析获取的,先来看下参数分析的过程,参数分析主要集中在4个类当中: 实际解析过程是在Application中进行的,最后解析完结果传给RobotFramework的main方法,看下面的顺序图: Appl
阅读全文
摘要:设置的时候,如果参数里面包含有–rerunfailed选项,那么就会去收集失败的用例,并放到case执行的列表当中的, 那么具体收集过程是怎么样子的了,大体过程如下: 首先, 要达到的目标是, ExecutionResult 会依赖于 ExecutionResultBuilder 并通过它的buil
阅读全文
摘要:具体流程 1.在Ride加载控制执行的插件的时候,会开启一个守护线程,这个线程开启了一个监听器服务,这个监听器后期会用来获得robotframework发送过来的结果 2.在Ride点击run的时候,做了下面几件事: 生成robotframework要执行的脚本命令,在这个命令中附加了一个监听器,监
阅读全文
摘要:有时候需要在setup和teardowm中执行多个关键字,一般的做法就是重新封装一个keyword,然后调用。其实还有另外一个方法,使用Run Keywords来实现如下图关键字可以传参数,想执行2个以上的关键字时,中间使用 AND 隔开(大写) 如 run keywords | 关闭IE | 关闭
阅读全文
摘要:出错后退出 在默认情况下,当一个测试用例中的某个关键字返回错误时,这个测试用例就停止执行剩余的关键字。RF会继续执行下一个用例。这么做的好处是节省时间--反正这里出问题要返回来看了,再继续执行剩下的关键字也没有用了。 出错后继续执行 但是,有时候,我们却需要执行用例中的所有关键字,例如:要获取更多的
阅读全文
摘要:这一讲我们重点来介绍一下一个常用的关键字evaluate。 我觉得这个关键字在RF里几乎是无所不能,只要你略懂Python语法,evaluate能让你直接运行python脚本。这样可以在Library没有给你提供你想要的方法时,直接用python脚本来实现你想要的方法。 下面我们列举一些常用的用法,
阅读全文
摘要:一、分支 在Robotframework2.7.4之前的版本,我们要想写IF比较容易,可以直接使用Run keyword if 就行了,但是如果想写ELSE IF和ELSE,就不是那么方便了,以前的版本想写判断分支就必须要再写一个Run keyword if ,然后写不同的条件。 好在2.7.4的版
阅读全文
摘要:一、基础 RobotFramework带有丰富的系统关键,使用时无需导入,直接使用,为写自动化用例带来了极大的方便;不能停留在知道或者是会得程度,只有熟练使用各关键字,才能提升自动化用例的写作效率。下面将逐个举例介绍RobotFramework提供的断言关键字。 二、实例 为方便讲解,首先创建三个l
阅读全文