之前在开发定制的 .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())
相关推荐
robotframework 导入HttpLibrary.HTTP报错.md
"robotframework-ftplibrary" 是一个专门为 Robot Framework 设计的扩展库,用于处理FTP(文件传输协议)相关的任务。Robot Framework 是一个通用的自动化框架,适用于各种测试和任务自动化,而 FtpLibrary 提供了与...
标题中的"robotframework-selenium2library-3.0.0.tar.gz"是一个开源自动化测试框架Robot Framework的一个扩展库——Selenium2Library的3.0.0版本的压缩包。Robot Framework是一个通用的、基于关键字驱动的自动化...
pip install robotframework-seriallibrary ``` 安装完成后,我们就可以在 Robot Framework 的测试用例中导入并使用 SerialLibrary。例如,下面是如何打开一个串口的基本用法: ```robotframework *** Settings **...
Robot Framework Selenium2Library 1.5.0 是一个专门针对Web自动化测试的强大的库,它构建于Robot Framework之上,提供了一套简洁而易用的接口,使得测试人员能够高效地编写自动化测试用例。Robot Framework 是一个...
Robot Framework+Selenium2Library 是一个高效且用户友好的自动化测试框架,主要用于Web应用程序的测试。Robot Framework 是一个通用的关键词驱动测试框架,而Selenium2Library(现称为SeleniumLibrary)则是Robot ...
在“RFS——RobotFramework+Selenium2library安装包齐全”中,我们有完整的环境来搭建和运行基于Robot Framework和Selenium2Library的自动化测试项目。 首先,让我们深入理解Robot Framework。Robot Framework是一...
vscode 编写 RobotFramework 详解 Vscode 是一个功能强大且广泛使用的代码编辑器,而 RobotFramework 是一个流行的自动化测试框架。本文将指导读者如何使用 Vscode 编写 RobotFramework 项目,包括安装 Vscode、...
```robotframework *** Settings *** Library Selenium2Library *** Variables *** ${BROWSER} Chrome *** Test Cases *** Example Test Open Browser https://www.example.com ${BROWSER} Wait Until Page ...
robotframework-jsonlibrary JSONLibrary是用于处理对象的测试库。 您可以使用操作JSON对象 JSONPath是一个表达式,可以帮助访问您的JSON文档。 JSONPath结构与用于访问XML文档的XPath相同。 这是JSONPath语法的...
robotframework-selenium2library-1.7.4.win-amd64.exe
这种技术的核心在于利用RobotFramework的Remote Library,这是一个内置的标准库,它能够将自定义或已有的测试库封装成远程服务,从而使RobotFramework可以跨网络调用这些服务。 首先,让我们深入理解一下这种远程...
`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
标题中的“RFS自动化一键安装包 robot Framework Selenium2Library”指的是一个专为简化Robot Framework(RFS)与Selenium2Library集成安装而设计的自动化工具。Robot Framework是一个通用的自动化框架,广泛用于...
Robotframework-Database-Library 是一个基于 Robot Framework 的扩展库,专为自动化测试设计,用于与各种数据库进行交互。这个库提供了丰富的关键字,使得测试人员能够方便地执行查询、插入、更新和删除等数据库...
标题中的"robotframework-selenium2library-1.5.0.win-amd64"是一个针对Windows 64位系统的Robot Framework扩展库的版本标识。Robot Framework是一个开源的自动化测试框架,它支持创建易于理解的关键词驱动测试。...
Robot Framework-Selenium2Library是一个基于Robot Framework的测试库,它使用Selenium2 WebDriver来提供一个简单的界面,用于执行基于web的自动化测试。Robot Framework是一个通用的自动化测试框架,主要面向应用...
标题中的"PyPI 官网下载 | robotframework-httplibrary-0.0.4.tar.gz"表明这是一个从Python Package Index (PyPI)官方源下载的压缩包,名为"robotframework-httplibrary-0.0.4.tar.gz"。PyPI是Python社区用于分发...