`

Robot Framework 之 Remote Library vs Normal Library

阅读更多

之前在开发定制的 .Net 平台 Test Library 时,考虑过是做成 Remote Library 还是 Normal Library。

我更倾向于 Normal Library 的模式。

 

Remote Library

Remote Library 模式下,Test Library(实现具体功能的 dll 文件)host 在一个独立的进程中,也就是 Remote Server (如:NRobotRemote)。


 

优点

  • 驱动更自由。CPython、IronPython 都行,只要装了相应的 Robot Framework。

缺点

  • 对 Keyword 的调用不支持可选参数的模式,必须填写所有参数;
  • 能传给 Keyword 的参数类型也太少,经常要在 Keyword 内部 Cast 参数类型;
  • 需要额外维护 Remote Server 这个进程。

 

Normal Library

缺点

  • 要调用 .Net Test Library 必须用 IronPython 驱动测试。
  • IronPython 的 Built-In 及 第三方库 不及 CPython 丰富,很多第三方 Test Library 也不兼容。对此问题可以:

1. 不用 .Net Test Library。
如果 .Net Test Library 中关键字在具体测试中使用率不高,则尽量用其它方法替代这个 Library。如:《Robot Framework 网页自动化测试中“下载文件”》


2. 可以启另一个进程去操作,操作完成就销毁这个临时进程。(比 Remote Server 轻)


3. 重新设计 Case。好的 Case 设计可以规避一些这类问题。

如:测 UI 的 Case 只操作 UI;测 SUT 内部逻辑的就做好 Service 层自动化,别管 UI。


Remote 形式的 Normal Library

(2015-07-31更新)

这种模式是指:将 Normal Library 以 Remote 的形式提供服务。(Python Remote Server for Robot Framework

这种模式除了像 Remote 模式那样需要维护一个额外的 Remote 服务进程外,几乎规避了所有单纯的 Remote Library 或 Normal Library 的缺点;同时又有它们各自的优点。

当然,提供服务的进程驱动必须和 Normal Library 匹配。如:Normal Library 内部调用 .Net Assembly,服务进程就得是 IronPython。

另:搭建这个服务进程比单纯的 Remote Library 服务进程更方便。

from robotremoteserver import RobotRemoteServer
from mylibrary import MyNormalLibrary
RobotRemoteServer(MyNormalLibrary())

 

  • 大小: 8.1 KB
0
2
分享到:
评论

相关推荐

    robotframework 导入HttpLibrary.HTTP报错.md

    robotframework 导入HttpLibrary.HTTP报错.md

    robotframework-ftplibrary

    "robotframework-ftplibrary" 是一个专门为 Robot Framework 设计的扩展库,用于处理FTP(文件传输协议)相关的任务。Robot Framework 是一个通用的自动化框架,适用于各种测试和任务自动化,而 FtpLibrary 提供了与...

    robotframework-selenium2library-3.0.0.tar.gz

    标题中的"robotframework-selenium2library-3.0.0.tar.gz"是一个开源自动化测试框架Robot Framework的一个扩展库——Selenium2Library的3.0.0版本的压缩包。Robot Framework是一个通用的、基于关键字驱动的自动化...

    机器人框架的SerialLibrary_RobotFramework_AIO_robot_下载.zip

    pip install robotframework-seriallibrary ``` 安装完成后,我们就可以在 Robot Framework 的测试用例中导入并使用 SerialLibrary。例如,下面是如何打开一个串口的基本用法: ```robotframework *** Settings **...

    robotframework-selenium2library-1.5.0

    Robot Framework Selenium2Library 1.5.0 是一个专门针对Web自动化测试的强大的库,它构建于Robot Framework之上,提供了一套简洁而易用的接口,使得测试人员能够高效地编写自动化测试用例。Robot Framework 是一个...

    RobotFramework+selenium2library

    Robot Framework+Selenium2Library 是一个高效且用户友好的自动化测试框架,主要用于Web应用程序的测试。Robot Framework 是一个通用的关键词驱动测试框架,而Selenium2Library(现称为SeleniumLibrary)则是Robot ...

    RFS——RobotFramework+Selenium2library安装包齐全

    在“RFS——RobotFramework+Selenium2library安装包齐全”中,我们有完整的环境来搭建和运行基于Robot Framework和Selenium2Library的自动化测试项目。 首先,让我们深入理解Robot Framework。Robot Framework是一...

    vscode编写RobotFramework

    vscode 编写 RobotFramework 详解 Vscode 是一个功能强大且广泛使用的代码编辑器,而 RobotFramework 是一个流行的自动化测试框架。本文将指导读者如何使用 Vscode 编写 RobotFramework 项目,包括安装 Vscode、...

    robotframework-selenium2library-1.8.0

    ```robotframework *** Settings *** Library Selenium2Library *** Variables *** ${BROWSER} Chrome *** Test Cases *** Example Test Open Browser https://www.example.com ${BROWSER} Wait Until Page ...

    robotframework-jsonlibrary:Robotframework测试库使用JSONPath来操作JSON

    robotframework-jsonlibrary JSONLibrary是用于处理对象的测试库。 您可以使用操作JSON对象 JSONPath是一个表达式,可以帮助访问您的JSON文档。 JSONPath结构与用于访问XML文档的XPath相同。 这是JSONPath语法的...

    robotframework-selenium2library-1.7.4.win-amd64.exe

    robotframework-selenium2library-1.7.4.win-amd64.exe

    RobotFramework远程执行自动化测试

    这种技术的核心在于利用RobotFramework的Remote Library,这是一个内置的标准库,它能够将自定义或已有的测试库封装成远程服务,从而使RobotFramework可以跨网络调用这些服务。 首先,让我们深入理解一下这种远程...

    Python库 | robotframework-ioslibrary-0.1.15.tar.gz

    `robotframework-ioslibrary-0.1.15.tar.gz` 是一个针对Python开发的测试库,专注于iOS应用的自动化测试。这个压缩包包含了`robotframework-ioslibrary`的0.1.15版本,它是一个基于Robot Framework的库,用于简化iOS...

    robotframework-selenium2library-1.7.3.win-amd64.exe

    robotframework-selenium2library-1.7.3.win-amd64.exe

    RFS自动化一键安装包 robot FrameWork Selenium2Library

    标题中的“RFS自动化一键安装包 robot Framework Selenium2Library”指的是一个专为简化Robot Framework(RFS)与Selenium2Library集成安装而设计的自动化工具。Robot Framework是一个通用的自动化框架,广泛用于...

    robotframework-Datebase-library-0.7

    Robotframework-Database-Library 是一个基于 Robot Framework 的扩展库,专为自动化测试设计,用于与各种数据库进行交互。这个库提供了丰富的关键字,使得测试人员能够方便地执行查询、插入、更新和删除等数据库...

    robotframework-selenium2library-1.5.0.win-amd64

    标题中的"robotframework-selenium2library-1.5.0.win-amd64"是一个针对Windows 64位系统的Robot Framework扩展库的版本标识。Robot Framework是一个开源的自动化测试框架,它支持创建易于理解的关键词驱动测试。...

    RobotFramework-Selenium2Library中文版_V1.1_.pdf

    Robot Framework-Selenium2Library是一个基于Robot Framework的测试库,它使用Selenium2 WebDriver来提供一个简单的界面,用于执行基于web的自动化测试。Robot Framework是一个通用的自动化测试框架,主要面向应用...

    PyPI 官网下载 | robotframework-httplibrary-0.0.4.tar.gz

    标题中的"PyPI 官网下载 | robotframework-httplibrary-0.0.4.tar.gz"表明这是一个从Python Package Index (PyPI)官方源下载的压缩包,名为"robotframework-httplibrary-0.0.4.tar.gz"。PyPI是Python社区用于分发...

Global site tag (gtag.js) - Google Analytics