一、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. 源码安装pipelineDB之CentOS7

    源码下载:https://github.com/pipelinedb/pipelinedb github上面README只要是针对ubunte来安装的. 在正式安装前,要先下载好依赖的包: check ...

  2. 纯css美化单选、复选框

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. java 之 迭代器模式(大话设计模式)

    众所周知,java是编程语言中的高级语言,在java的世界里,已经有前辈为我们封装好了各个很好用的框架,工具类等,今天笔者想说的迭代器模式也已经被封装过. 就是我们经常使用的for循环迭代器.或者It ...

  4. 洛谷 P3927 Factorial

    题目描述 SOL君很喜欢阶乘.而SOL菌很喜欢研究进制. 这一天,SOL君跟SOL菌炫技,随口算出了n的阶乘. SOL菌表示不服,立刻就要算这个数在k进制表示下末尾0的个数. 但是SOL菌太菜了于是请 ...

  5. ElasticSearch 学习记录之集群分片内部原理

    分片内部原理 分片是如何工作的 为什么ES搜索是近实时性的 为什么CRUD 操作也是实时性 ES 是怎么保证更新被持久化时断电也不丢失数据 为什么删除文档不会立即释放空间 refresh, flush ...

  6. 利用vmware搭建分布式集群

    背景:      我们需要至少3台服务器来实现分布式,鉴于没那么多钱买真机器,从学习和开发的角度看,只有虚拟机一条路了. 软件选择:     虚拟机使用VMware软件,因为主流而且资料比较多,学习成 ...

  7. ASP.NET Core Web API下事件驱动型架构的实现(一):一个简单的实现

    很长一段时间以来,我都在思考如何在ASP.NET Core的框架下,实现一套完整的事件驱动型架构.这个问题看上去有点大,其实主要目标是为了实现一个基于ASP.NET Core的微服务,它能够非常简单地 ...

  8. Intent启动系统组件(activity,service,BroadReceiver)-android学习之旅(四十九)

    android提供了统一的编程模型Intent来启动系统的组件,这样提供了松耦合性.是一种mvc的编程模式 $(function () { $('pre.prettyprint code').each ...

  9. 学习图像算法阶段性总结 (附一键修图Demo)

    今天特别感慨.自己从决定研究图像处理.势必要做出一键修图算法. 经历了,三个多月的书籍积累,三个多月的算法调整以及优化. 人是一种奇怪的动物.当你做不到的时候,你以为做到了.自己会感觉非常爽,非常有成 ...

  10. Office Add-in 架构和入门

    作者:陈希章 发表于2017年7月12日 前言 从2月26日开始写这个Office 365开发概览系列文章-- https://aka.ms/office365devguide,到现在已经有17篇文章 ...