Robot Framework 1

时间:2022-09-17 12:34:15

about Robot, learnt from the following document, perfect document !!!!

http://www.virtuousprogrammer.com/?s=robot

 
Test Automation with Robot Framework
 
Here's the content of the "SimpleTest.txt"
*** 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, 看到的如下:

Robot Framework 1

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

比如 Start Selenium Server:

Robot Framework 1

其实来源于:

*** Settings ***
Library Selenium Library

RIDE UI 上是:

Robot Framework 1

可只是一句 "Library Selenium Library" 就可以了么?到底 Selenium Library 在哪里?

很简单: C:\Python27\Lib\site-packages

Robot Framework 1

Robot Framework 1

打开 __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了。

Robot Framework 1

看,上面就是 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的更多相关文章

  1. Robot Framework用户手册 &lpar;版本:3&period;0)

    版权信息:诺基亚网络和解决中心 本翻译尊重原协议,仅用于个人学习使用 1.开始: 1.1 介绍: Robot Framework是一个基于Python的,为终端测试和验收驱动开发(ATDD)的可扩展的 ...

  2. RIDE -- Robot Framework setup

    RobotFramework 是一款基于python 的可以实现关键字驱动和数据驱动并能够生成比较漂亮的测试报告的一款测试框架 这里使用的环境是 python-2.7.10.amd64.msi RID ...

  3. Robot Framework自动化测试 ---视频与教程免费分享

    当我第一次使用Robot Framework时,我是拒绝的.我跟老大说,我拒绝其实对于习惯了代码的*,所以讨厌这种“填表格”式的脚本.老大说,Robot Framework使用简单,类库丰富,还可以 ...

  4. Robot Framework 的安装和配置(转载)

    Robot Framework 的安装和配置 在使用 RF(Rebot framework)的时候需要 Python 或 Jython 环境,具体可根据自己的需求来确定.本文以在有 Python 的环 ...

  5. 解决从jenkins打开robot framework报告会提示&OpenCurlyQuote;Opening Robot Framework log failed ’的问题

    最新的jenkins打开jenkins robot framework报告会提示如下 Verify that you have JavaScript enabled in your browser.  ...

  6. 在centos7中安装Robot Framework

    安装前景介绍: 最初,我们是在Windows环境下搭建Robot Framework来对我们的服务进行接口测试的(想知道如何在Windows下安装Robot Framework,可以参考我同事的博客h ...

  7. 移动端自动化环境搭建-Robot Framework的安装

    A.安装依赖 RF框架,robotframework本身. B.安装过程 可以通过下载 exe 程序进行安装,Robot Framework 分别提供了,win-amd64.exe 和 win32.e ...

  8. robot framework 安装配置

    robot framework 是一款专门用作自动化测试的框架,提供了丰富的内置库,与第三方库,也支持用户自己编写的库,robot framework +library 可以 用来做ui的自动化测试, ...

  9. Robot Framework入门学习1 安装部署详解

    安装注意: 目前Robot framework-ride不支持python3,安装时请下载python2.7版本. Robot Framework安装时出现了一点小问题,网上没有找到直接的介绍,现将安 ...

  10. Robot Framework自动化测试(七)--- jybot模式

    虽然,很久不用关于Robot Framework框架了,但我这里应该是除了@齐涛-道长之外分享Robot Framework 相关资料比较多的地方了.所以,常常被问到一些关于该框架的问题. 虽然,我一 ...

随机推荐

  1. 解析大型&period;NET ERP系统架构设计 Framework&plus; Application 设计模式

    我对大型系统的理解,从数量上面来讲,源代码超过百万行以上,系统有超过300个以上的功能,从质量上来讲系统应该具备良好的可扩展性和可维护性,系统中的功能紧密关联.除去业务上的复杂性,如何设计这样的一个协 ...

  2. AloneJs&period;msgbox&lpar;&rpar; —— 弹出消息框

    一.引用 <link href="https://cdn.suziyun.com/alonejs.min.css" rel="stylesheet" /& ...

  3. Why we need model on Django &quest;

    step01: create a database name as (django_db) on mysql ... step02: configure your django to use the ...

  4. 将树莓派变成一个web服务器&lpar;2&rpar;:Nginx&plus;Flask&plus;uWSGI部署全过程

    1)安装Flask,uwsgi,nginx sudo apt-get update sudo apt-get install python-flask #Flask sudo apt-get inst ...

  5. Spark技术内幕:Shuffle Pluggable框架详解,你怎么开发自己的Shuffle Service?

    首先介绍一下需要实现的接口.框架的类图如图所示(今天CSDN抽风,竟然上传不了图片.如果需要实现新的Shuffle机制,那么需要实现这些接口. 1.1.1  org.apache.spark.shuf ...

  6. WinServerDFS

    DFS提供共享路径统一命名,且文件相互备份,具有高可用性. 1.在相应的服务器上安装服务. --命名空间,复制以及管理控制台的安装 install-windowsfeature fs-dfs-name ...

  7. Scrapy框架基本使用

    pycharm+Scrapy 距离上次使用Scrapy已经是大半年前的事情了,赶紧把西瓜皮捡回来.. 简单粗暴上爬取目标: 初始URL:http://quotes.toscrape.com/ 目标:将 ...

  8. MySQL Dual-Master 双向同步

    本文介绍的Mysql Dual-Master 复制实施方法可能不是最完美.最强大的.但是在我的应用环境下能很好的满足各项需求. 本文基于我们仅仅使用两台MySQL服务器的情况下,但是你会发现文章中介绍 ...

  9. SSH框架中配置log4j的方法

    SSH框架中使用log4j的方便之处 1. 动态的改变记录级别和策略,即修改log4j.properties,不需要重启Web应用,这需要在web.xml中设置一下.2. 把log文件定在 /WEB- ...

  10. &lbrack;转&rsqb;ASP&period;NET Core 十种方式扩展你的 Views

    http://www.cnblogs.com/savorboard/p/aspnetcore-views.html