Robot Framework 1
about Robot, learnt from the following document, perfect document !!!!
http://www.virtuousprogrammer.com/?s=robot
*** Settings ***
Library Selenium Library *** Testcases ***
Login Should Succeed When the Correct Username and Password are Entered
Start Selenium Server
Set Selenium Timeout 10
Open Browser file:///D:/robot/Login.htm ie
Sleep 3
Input Allentext uname AUser
Input Text pwd TestPass
Click Button login
Page Should Contain AUser
Close Browser
Stop Selenium Server
打开 Ride, 看到的如下:

所以你一定问, 这种浅蓝色的 low level keyword 到底是在哪里定义的?
比如 Start Selenium Server:

其实来源于:
*** Settings ***
Library Selenium Library
RIDE UI 上是:

可只是一句 "Library Selenium Library" 就可以了么?到底 Selenium Library 在哪里?
很简单: C:\Python27\Lib\site-packages


打开 __init__.py, 能够看到如下:
def start_selenium_server(self, *params):
"""Starts the Selenium Server provided with SeleniumLibrary. `params` can contain additional command line options given to the
Selenium Server. This keyword uses some command line options
automatically: 1) The port given in `importing` is added to `params` automatically
using the `-port` option. 2) A custom Firefox profile that is included with the library
and contains automation friendly settings is enabled via the
`-firefoxProfileTemplate` option. You can override this
profile with your own custom profile by using the same argument
in `params` yourself. To use the default profile on your machine,
use this argument with `DEFAULT` value (case-sensitive). 3) Starting from SeleniumLibrary 2.6, if there is `user-extensions.js`
file in the same directory as Selenium Server jar, it is loaded using
the `-userExtensions` option. This is not done if the option is
defined in `params`. By default, such extension file providing Flex
testing support is loaded automatically. Special syntax `JVM=some jvm opts` can be used to define options to
the java command itself used to start the selenium server. This
possibility was added in SeleniumLibrary 2.9.1. Examples:
| Start Selenium Server | | | # Default settings. Uses the Firefox profile supplied with the library. |
| Start Selenium Server | -firefoxProfileTemplate | C:\\\\the\\\\path | # Uses custom Firefox profile. |
| Start Selenium Server | -firefoxProfileTemplate | DEFAULT | # Uses default Firefox profile on your machine. |
| Start Selenium Server | -avoidProxy | -ensureCleanSession | # Uses various Selenium Server settings. |
| Start Selenium Server | -JVM=-DserverName=somehost | # Define JVM options. | All Selenium Server output is written into `selenium_server_log.txt`
file in the same directory as the Robot Framework log file. If the test execution round starts and stops Selenium Server multiple
times, it is best to open the server to different port each time. *NOTE:* This keyword requires `subprocess` module which is available
on Python/Jython 2.5 or newer.
"""
params = ('-port', str(self._server_port)) + params
logpath = os.path.join(self._get_log_dir(), 'selenium_server_log.txt')
self._selenium_log = open(logpath, 'w')
start_selenium_server(self._selenium_log, self._jar_path, *params)
self._html('Selenium server log is written to <a href="file://%s">%s</a>.'
% (logpath.replace('\\', '/'), logpath))
这就是 start selenium server 的最源头。
我们也可以把整个 C:\Python27\Lib\site-packages\SeleniumLibrary 文件夹复制一份并且重命名为 "AllenLibrary", 然后打开 __init__.py, 把其中所有的 "SeleniumLibrary" 替换成 "AllenLibrary".
这时就可以直接使用 AllenLibrary了。

看,上面就是 Allen Library 的情况。
我们可以使用多个 library。
*** Settings ***
Library Selenium Library
Library Allen Library *** Test Cases ***
testcase1
AllenLibrary.Start Selenium Server
AllenLibrary.Set Selenium Timeout 10
SeleniumLibrary.Open Browser file:///D:/robot/Login.htm ie
Sleep 3
SeleniumLibrary.Input Allentext uname AUser
SeleniumLibrary.Input Text pwd TestPass
Comment AllenLibrary.Input Allen2text uname BUser
sleep 3
AllenLibrary.Click Button login
AllenLibrary.Page Should Contain AUser
AllenLibrary.Close Browser
AllenLibrary.Stop Selenium Server
只是之后使用的时候要表明清楚所用的方法是从 AllenLibrary来的,还是从 SeleniumLibrary来的。
Robot Framework 1的更多相关文章
- Robot Framework用户手册 (版本:3.0)
版权信息:诺基亚网络和解决中心 本翻译尊重原协议,仅用于个人学习使用 1.开始: 1.1 介绍: Robot Framework是一个基于Python的,为终端测试和验收驱动开发(ATDD)的可扩展的 ...
- RIDE -- Robot Framework setup
RobotFramework 是一款基于python 的可以实现关键字驱动和数据驱动并能够生成比较漂亮的测试报告的一款测试框架 这里使用的环境是 python-2.7.10.amd64.msi RID ...
- Robot Framework自动化测试 ---视频与教程免费分享
当我第一次使用Robot Framework时,我是拒绝的.我跟老大说,我拒绝其实对于习惯了代码的自由,所以讨厌这种“填表格”式的脚本.老大说,Robot Framework使用简单,类库丰富,还可以 ...
- Robot Framework 的安装和配置(转载)
Robot Framework 的安装和配置 在使用 RF(Rebot framework)的时候需要 Python 或 Jython 环境,具体可根据自己的需求来确定.本文以在有 Python 的环 ...
- 解决从jenkins打开robot framework报告会提示‘Opening Robot Framework log failed ’的问题
最新的jenkins打开jenkins robot framework报告会提示如下 Verify that you have JavaScript enabled in your browser. ...
- 在centos7中安装Robot Framework
安装前景介绍: 最初,我们是在Windows环境下搭建Robot Framework来对我们的服务进行接口测试的(想知道如何在Windows下安装Robot Framework,可以参考我同事的博客h ...
- 移动端自动化环境搭建-Robot Framework的安装
A.安装依赖 RF框架,robotframework本身. B.安装过程 可以通过下载 exe 程序进行安装,Robot Framework 分别提供了,win-amd64.exe 和 win32.e ...
- robot framework 安装配置
robot framework 是一款专门用作自动化测试的框架,提供了丰富的内置库,与第三方库,也支持用户自己编写的库,robot framework +library 可以 用来做ui的自动化测试, ...
- Robot Framework入门学习1 安装部署详解
安装注意: 目前Robot framework-ride不支持python3,安装时请下载python2.7版本. Robot Framework安装时出现了一点小问题,网上没有找到直接的介绍,现将安 ...
- Robot Framework自动化测试(七)--- jybot模式
虽然,很久不用关于Robot Framework框架了,但我这里应该是除了@齐涛-道长之外分享Robot Framework 相关资料比较多的地方了.所以,常常被问到一些关于该框架的问题. 虽然,我一 ...
随机推荐
- 在vue中引入scss
先npm安装stylus和stylus-loader (我安装后,报错提示缺少stylus,所以第一步安装stylus,如果没有提示可省略第一步) 1.到 package.json ----- de ...
- C# - 常用接口
常用接口 用于比较接口 IComparable<T> 接口内部定义了用于比较两个对象大小的CompareTo(T t)方法,>参数时返回1,=参数时返回0,<参数时返回-1.集 ...
- [Kubernetes]谈谈Kubernetes的本质
当下k8s算是比较火的一个内容,那么它到底是什么呢,它为什么会这么火呢,它解决的是什么问题呢.这篇文章就尝试着来讲讲,Kubernetes的本质. 当我们谈Kubernetes的时候,总是会想起来Do ...
- 再说C模块的编写(1)
[前言] 在<Lua“控制”C>中对Lua调用C函数做了初步的学习,而这篇才是重中之重,这篇文章会重点的总结C模块编写过程中遇到的一些问题,比如数组操作.字符串操作和C函数的状态保存等问题 ...
- Filebeat工作原理
在这篇文章中,您可以了解Filebeat的关键构建模块以及它们如何一起工作.了解这些概念将有助于您针对特定用例对Filebeat进行配置做出明智的决定.Filebeat由两个主要组件组成: prosp ...
- 51nod--1185 威佐夫游戏 V2 (博弈, 乘法模拟)
题目: 1185 威佐夫游戏 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 有2堆石子.A B两个人轮流拿,A先拿.每次可以从一堆中取任意个或从2堆中 ...
- kafka_2.11-2.1.0测试
kafka测试启动创建topic ./kafka-topics.sh --create --zookeeper dip005:2181,dip006:2181,dip007 --replication ...
- EurekaClient项目启动报错Invocation of destroy method failed on bean with name 'scopedTarget.eurekaClient': org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'e
Disconnected from the target VM, address: '127.0.0.1:51233', transport: 'socket' Eureka Client的使用 使用 ...
- 一、ESP8266入门(基于LUA开发)
序 一入坑便停不下来... 还挺有意思的哈,233,,,, 资料杂,自己一个一个去找确实浪费了不少时间,而且大多还都是英文的,需要硬着头皮看. 这次实践入门,更是对英语的重要确信无疑.Github必须 ...
- Android+openCV 动态人脸检测
动态人脸检测前提是需要打开摄像头. 网上看了很多教程,我知道的有两种方式打开摄像头: JavaCameraView mCameraView = new JavaCameraView(this, -1) ...