一、edit标签使用

1、导入库

点击 Edit 标签页右侧的“Library”按钮,来添加库。在添加库之前,首先库已经在 Python 下进行了安装。如,添加“Selenium2Library”库

如果添加的库不存在或库名错误,将会显示为红色,很色表示正常;

如果你是在“测试套件”中添加的库,那么这个库中所提供的关键字可以被当前测试套件下的用例使用;

如果你是在“测试项目”中添加的库,当前项目下的测试用例不能使用库中的关键字,需要在用例相应的“测试套件”中再次添加库。

按 F5 就可以查看库中所提供的关键字:

2、导入资源

点击 Edit 标签页右侧的“Resource”按钮来添加资源。这个资源一般为项目相关的文件。比如,项目
的自定义关键字文件。

(1)创建Resource

(2)定义和使用关键字

(3)导入ReSource

关于添加资源的作用域与库一样。我这里是添加到的测试套件中,那么它的作用域就是当前测试套件下的所有用例。

(4)使用关键字

3、定义变量

点击 Edit 标签页右侧的“Add Scalar”按钮来创建变量。这里创建的变量可以被整个测试套件中的用例所使用。也可以认为是一个“公共变量”。

(1)创建一个变量

Name 用于定义变量名:${hi},Value 用于给变量赋值。

(2)使用变量

4、定义列表变量

列表变量可以用来定义一维或二维数组。下面我们就来创建一个列表变量。点击 Edit 标签页右侧的“Add List”按钮来创建变量

(1)定义列表变量

Name 定义变量名为:${student},Value 填写列表变量的值

(2)使用列表变量

二、Text Edit 标签

text edit中显示的是测试套件的txt,也就是所有的测试用例,切换到E:\robot\测试项目\测试套件.txt也能看到这个文件。平时可以直接切换到text edit编写测试用例

 三、run标签

(1)运行与停止

在 Run 标签页提供了运行与停止的按钮,使用很简单。可是你知道到点击“运行”按钮的时候,RobotFramework 是怎么执行“测试套件.txt”文件的么?点击“停止”按钮的时候,Robot Framework 又做了什么操作来终止用例的执行的?

首先打开 C:\Python27\Lib\site-packages\robotide\run 目录下的 process.py 文件。

import os
import time
import tempfile
import subprocess class Process(object): def __init__(self, command):
self._command = self._parse_command(command)
self._process = None
self._error = None
self._out_file = None
self._out_path = None
self._out_fd = None def _parse_command(self, command):
if isinstance(command, basestring):
return [val.replace('<SPACE>', ' ') for val in command.split()]
return command def start(self):
self._out_fd, self._out_path = \
tempfile.mkstemp(prefix='rfproc_', suffix='.txt',
text=True)
self._out_file = open(self._out_path)

if not self._command:
self._error = 'The command is missing from this run configuration.'
return
try:
self._process = subprocess.Popen(self._command, stdout=self._out_fd,
stderr=subprocess.STDOUT)
except OSError, err:
self._error = str(err) def is_finished(self):
return self._error is not None or self._process.poll() is not None def stop(self):
self._process.kill()
def wait(self):
if self._process is not None:
self._process.wait() def get_output(self, wait_until_finished=False):
"""Returns the output produced by the process. If ``wait_until_finished`` is True, blocks until the process is
finished and returns all output. Otherwise the currently available
output is returned immediately. Currently available output depends on buffering and might not include
everything that has been written by the process.
"""
if self._error:
self._close_outputs()
return self._error
if wait_until_finished:
self._process.wait()
output = self._out_file.read()
if self.is_finished():
self._close_outputs()
return output def _close_outputs(self):
self._out_file.close()
os.close(self._out_fd)
self._remove_tempfile()

查看标红的部分即可:

首先看 start()方法,通过 tempfile 模块的 mkstemp()方法找到“txt”文件,也就是“测试套件.txt”文这类件。接着通过 open()方法打开。

在 get_output()方法中通过 read()方法来读取“txt”文件。最后把读取的文件的赋值给变量 output 并返回。

在_close_outputs()方法中通过 close()关闭打开的“txt”文件。

停止测试用例的执行非常单间,由 stop()方法实现,通过调用 kill()将用例的执行进程杀死。

 (2)报告与日志

当用例运行结束,Robot Framework 生成三个文件:output.xml、log.html 和 report.html。output.xml 记录的测试结果是 xml 文件,这个文件不够直观。相比较而言 log.html 和report.html 报告要直观得多,因为是 html 格式的嘛。

查看 log.html 文件,点击 Run 标签而上的“Log”按钮,通过默认浏览器打开。在 log.html 文件中可以查看用例执行的每一步,适合跟踪定义问题。

Robot Framework学习笔记(八)------ride标签使用的更多相关文章

  1. Robot Framework学习笔记(六)------RIDE界面说明

    RIDE是一款专门用来编辑Robot Framework用例的软件,用Python编写并且开源. 1.测试项目.测试套件Edit 标签 测试项目和测试套件所提供的 Edit 标签的功能是一样的. 在 ...

  2. robot framework学习笔记2

    声明:本笔记都只是自己根据大牛虫师的robot系列文档学习记录的,学习的话还请移步虫师博客:https://www.cnblogs.com/fnng/ 非常感谢大牛的分享,带小白一步一步入门   F5 ...

  3. Robot Framework 学习笔记(二)-------第一个脚本

    robot Framework环境搭建好之后先来一个简单的脚本跑一下 一.新建项目 二.新建测试套件  三.创建测试用例 四.导入Selenium2Library库 因为RF框架编写基于web 的测试 ...

  4. Robot Framework学习笔记(一)------环境搭建

    Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行. 所需环境 一.安装pyth ...

  5. robot framework学习笔记之二———变量

    Robot Framework的变量分为标量, 列表和字典, 分别使用语法格式 ${SCALAR}, @{LIST} 和 &{DICT} 来定义. 此外, 环境变量可以直接使用语法 %{ENV ...

  6. Robot Framework学习笔记(十一)------ 分层设计

    以百度搜索为例,如果我们需要写5个不同关键字搜索的用例.如果没有分层的思想,那么我们需要写5个用例,并且每个用例都需要重复写打开浏览器.输入关键字.点击按钮.关闭浏览器的步骤.如果使用Robot Fr ...

  7. Robot Framework学习笔记(十)------Selenium2Library库

    一.安装selenium2library库 如果已经安装了pip,则使用管理员模式打开windows命令行,输入pip install robotframework-selenium2library, ...

  8. Robot Framework学习笔记(五)------Collections 库

    Collections 库同样为 Robot Framework 标准类库,它所提供的关键字主要用于列表.索引.字典的处理. 1.添加类 在使用之前需要在测试套件(项目)中添加 2.创建字典 字典也是 ...

  9. Robot Framework学习笔记(四)------Screenshot 库屏幕截图

    Scrennshot 同样为 Robot Framework 标准类库,我们只将它提供的其它中一个关键字"TakeScreenshot",它用于截取到当前窗口. 1.导入Scren ...

随机推荐

  1. mybatis实现延迟加载多对一

    1.数据库表 CREATE TABLE `country` ( `cid` ) NOT NULL AUTO_INCREMENT COMMENT '国家id', `cname` ) COLLATE ut ...

  2. Java 面试宝典

    1. 类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,他们的执行顺序 答:先静态.先父后子. 先静态:父静态 > 子静态 优先级:父类 > 子类 静态代码块 ...

  3. laravel 对查询结果的二次筛选

    假设有表Scores 里面有 id,math,english等字段,现在要求按总分(数据库没有这个字段)来排序或者筛选,用having()方法就可以很方便解决这个问题. $scores = Score ...

  4. gRPC异步处理应答

    gRPC异步处理应答 (金庆的专栏) gRPC的演示样例 greeter_async_client.cc 不算是异步客户端,它使用了异步请求.可是堵塞式等待应答,结果成为一个同步调用. std::st ...

  5. MySQL数据库使某个不是主键的字段唯一

    在使用MySQL数据的过程中有时候我们须要某个不是主键的字段不反复.这个时候就要用到SQL的UNIQUE约束了. 以下摘抄自w3school里的一段介绍: UNIQUE 约束唯一标识数据库表中的每条记 ...

  6. SAP ABAP编程 Table Control动态隐藏列

    在SAP DIALOG设计中,有时候须要动态的隐藏某些列,以下是方法. ***数据定义 CONTROLS: table_control TYPE TABLEVIEW USING SCREEN 0100 ...

  7. freemarker将文件读写到HTML中

    freemarker将文件读写到HTML中 1.设计思路 (1)写freemarker模板方法 (2)写測试文件方法 (3)新建ftl文件 (4)在指定的路径下.新建目录 2.写freemarker模 ...

  8. 彻底弄懂 JavaScript 执行机制

    本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我. 不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定 ...

  9. 二.java下使用RabbitMQ实现hello world

    上一篇文章介绍了windows环境下的安装和配置rabbitMQ,具体戳这边,一.windows环境下rabbit的的安装和配置. 现在我们可以着手编写hello world程序了,一窥RabbitM ...

  10. JavaScript导航树

    JS导航树 整理之前的小代码片段,放到博客,便于以后完善查看: 该JS导航树实际效果,[GSP+社区网站专题课程页面导航树]地址:http://gsp.inspur.com/knowledge/zhu ...