Robot Framework 1

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, 看到的如下:

所以你一定问, 这种浅蓝色的 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来的。

时间: 2024-10-12 12:37:38

Robot Framework 1的相关文章

Robot Framework自动化测试(五)--- 开发系统关键字

最近一直在用robot framework 做自动化测试项目,老实说对于习惯直接使用python的情况下,被框在这个工具里各种不爽,当然,使用工具的好处也很多,降低了使用成本与难度:当然,在享受工具带来便利的同时也会受制于工具.对于特定的需求,工具没提供相关的Library和关键字的时候,就只能放弃了. 还好robot framework提供了 Evaluate 关键字,对于Evaluate 关键字的使用等有时间再讲.当robot framework 不能解决需求,我是直接写个.py 程序,通过

Robot Framework + Selenium2环境安装

操作系统环境:Windows XP 安装包: 1. 安装Python Python是一切的基础 版本:python-2.7.6.msi 下载地址:https://www.python.org/downloads/ 2. 安装wxPython wxPython是Python语言的一套GUI图形库:ride需要wxPython的支持 版本:wxPython2.8-win32-unicode-2.8.12.1-py27.exe 下载地址:http://sourceforge.net/projects/

Robot Framework常用关键字介绍

下面关键字全部由 Builtin 库提供,Builtin 为 Robot Framework 标准类库.Builtin库提供常用的关键字 1.log log 关键字就是编程语言里的"print"一样,可以打印任何你想打印的内容. 2.定义变量 通过"Set variable"关键字来定义变量 3.连接对象 "Catenate"关键字可以连接多个信息 加上"SEPARATOR="可以对多个连接的信息进行分割. 4.定义列表 通过

在linux下搭建Robot Framework

在linux下搭建自动化测试框架Robot Framework,可以实现多用户同时登录并进行自动化脚本编写,相互之间没有影响. linux系统:fedora 21 步奏 描述 动作 note 1 Install Python yum install python yum list python  /* can view which python version will be installed */ 2 Install easy_install sudo yum install python-

Robot Framework自动化测试 ---文档分享

当我第一次使用Robot Framework时,我是拒绝的.我跟老大说,我拒绝其实对于习惯了代码的自由,所以讨厌这种“填表格”式的脚本.老大说,Robot Framework使用简单,类库丰富,还可以自由开发系统关键字.那我说,你不能让我用我就用,我要先用用看.自从我用了半年多以来,duang~! 真的挺好用的.duang~! ,我相信我用完是这个样子,你们用完也是这个样子.duang~! duang~! ----今年流行“duang”,我也来一段.哈哈~! Robot Framework特点:

Robot Framework环境搭建

1.Robot Framework是一款用python语言编写的自动化测试框架,因此需要先安装python环境,本机已装,跳过这一步,python使用版本是:2.7.13 2.安装Robot Framework:可使用"pip install robotframework"在线安装,本次安装版本是:robotframework-3.0.2 3.安装RIDE,RIDE是一款专门用来编辑Robot Framework用例的软件,也是用python语言编写的,可使用"pip ins

Robot Framework + Selenium library + IEDriver环境搭建

目录: 1 Robot框架结构2 环境搭建  2.1 安装Python  2.2 安装Robot Framework  2.3 安装wxPython  2.4 安装RIDE  2.5 安装Selenium2Library  2.6 安装IEDriverServer 1 Robot框架结构 为了更好的了解环境安装,我们先看下框架结构: 图1 Robot Framework Architecture Robot Framework 通过导入不同的库,就可以使用库中所提供的关键字,从而时行相关的测试.

python+robot framework接口自动化测试

python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的封装实现一定意义上的脚本与用例的脱离! robot framework 的安装不过多说明,网上资料比较太多~ 实例:!!!!! 步骤一:新建项目 测试项目可以目录或文件存储,格式可以用TXT,TSV或HTML格式, 建议项目选择目录和TXT,这样便于管理 步骤二:新建测试套 测试套与测试项目一样,也

Robot Framework获取输入后的文本/内容来进行使用的方法

如何在Robot Framework获取刚刚在输入框输入的文本或内容呢?其它很简单,但容易误导人. 比如:<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">,这是百度搜索输入框的代码.按正常来说,如果想在输入框"input text"内容后,

Robot Framework自动化测试环境部署

文档版本:v1.0 作者:令狐冲 如有问题请发邮件到:[email protected] 使用Robot Framework框架(以下简称RF)来做自动化测试. 模块化设计 1.所需环境一览表 软件 版本 发布日期 用途 官方网站 ActivePython 2.7 很早以前 RF是基于Python语言的,ActivePython其实就是在Python官方安装包上加了一些有用的组件,如pip http://www.activestate.com/activepython Robot Framewo