Robot Framework交互式验收测试驱动的开发Jupyter内核
项目描述
RobotKernel
RobotKernel是一个Robot Framework IPython内核,用于Jupyter Notebook和JupyterLab。它为RobotLab – Robot Framework的JupyterLab发行版提供动力。观看视频以了解其作用,并阅读文档。
RobotKernel需要Python 3.6或更高版本,setuptools 40.5.0或更高版本,以及Robot Framework 3.1或更高版本。
有关替代的Robot Framework IPython内核,请参阅ipythonrobotframework或xeus-robot。
尝试RobotKernel
您可以在MyBinder云中立即尝试RobotKernel,而无需安装。
使用RobotKernel启动JupyterLab: https://mybinder.org/v2/gh/robots-from-jupyter/robotkernel/master?urlpath=lab/tree/example.ipynb
使用RobotKernel启动Jupyter Notebook: https://mybinder.org/v2/gh/robots-from-jupyter/robotkernel/master?urlpath=tree/example.ipynb
注意:保存的笔记本中的日志 | 报告链接可能无法点击,直到笔记本被“信任”(在JupyterLab命令中为“信任笔记本”)且相关单元格再次执行。
安装RobotKernel
可以使用像pip这样的常规Python包管理工具来安装RobotKernel
$ pip install robotkernel
对于JupyterLab,建议还安装Robot Framework语法高亮和Jupyter小部件支持
$ jupyter labextension install jupyterlab_robotmode
$ jupyter labextension install @jupyter-widgets/jupyterlab-manager
对于某些环境,可能需要运行以下命令来手动将robotkernel注册为可用的Jupyter内核
$ python -m robotkernel.install
导出到.robot
可以将Robot Framework Jupyter笔记本导出到常规纯文本.robot文件,以便在不使用Jupyter的情况下使用
$ jupyter nbconvert --to script example.ipynb
执行笔记本
RobotKernel安装了一个名为nbrobot的脚本。它可以用来替代Robot Framework的robot测试运行器,以支持.ipynb扩展来执行Robot Framework
$ nbrobot example.ipynb
修改RobotKernel
创建并激活一个新的Python虚拟环境
$ venv myenv
$ source myenv/bin/activate
安装Jupyter
$ pip install --upgrade pip setuptools
$ pip install jupyter
克隆此内核
$ git clone https://github.com/robots-from-jupyter/robotkernel.git
$ cd robotkernel
以开发模式将内核安装到虚拟环境
$ python setup.py develop
$ python -m robotkernel.install
启动jupyter
$ jupyter notebook
重新加载内核会重新加载代码。
Nix-shell
此存储库包含一个用于使用Nix运行和开发RobotKernel的环境,并具有Cachix驱动的二进制缓存。
使用RobotKernel启动Jupyter Notebook
$ nix-shell -E 'import (fetchTarball https://github.com/robots-from-jupyter/robotkernel/archive/master.tar.gz + "/shell.nix")' --run "jupyter notebook"
使用RobotKernel启动JupyterLab
$ nix-shell -E 'import (fetchTarball https://github.com/robots-from-jupyter/robotkernel/archive/master.tar.gz + "/shell.nix")'
$ jupyter labextension install jupyterlab_robotmode --app-dir=.jupyterlab
$ jupyter lab --app-dir=.jupyterlab
$ exit
添加--arg vim true以启用vim绑定。
使用Nix打开开发环境
$ git clone https://github.com/robots-from-jupyter/robotkernel.git
$ cd robotkernel
$ nix-build setup.nix -A env # to generate ./result/bin/python for IDE
$ nix-shell setup.nix -A develop
变更日志
1.6 (2022-09-24)
添加对robotframework==5.1b2的支持 [datakurre]
添加对ipywidgets 8的支持 [datakurre
添加pyolite支持 [datakurre]
添加%sticky magic LibraryName -magic,以便在执行之间可选地保留全局和套件范围库的状态 [datakurre]
使用Robot Framework 5功能更新经典笔记本模式 [bollwyvl, datakurre]
更新Selenium辅助工具到当前Selenium API [RomaCZ]
1.5.1 (2021-09-28)
修复set_parent签名 [martinRenou]
1.5.0 (2021-04-22)
添加对robotframework 4.0的支持 [datakurre]
1.4.0 (2020-04-27)
添加对robotframework 3.2的支持 [datakurre]
将内核mimetype更改为“text/x-robotframework” [datakurre]
1.3.0 (2020-01-09)
添加基于jupyterlab-starters的快速入门和教程 [datakurre]
修复Selenium测试或任务执行导致中断异常的问题,因为由于geckodriver.log文件未关闭,无法清除临时执行目录 [datakurre]
1.2.2 (2020-01-05)
修复回归,其中错误的nbimporter未自动导入 [datakurre]
1.2.1 (2019-12-30)
修复数据uri图像在笔记本中不显示的问题 [datakurre]
修复列表类型套件变量未正确恢复的问题 [datakurre]
1.2 (2019-12-06)
添加对Robot Framework 3.2a1的支持 [datakurre]
添加对显示多行文本返回值的支持 [datakurre]
添加对sticky JupyterLibrary webdriver连接的支持 [datakurre]
修复更新全局变量被之前执行中保存的变量覆盖的问题 [datakurre]
1.1.1 (2019-12-05)
修复库自动完成覆盖设置关键字自动完成的问题 [datakurre]
1.1.0 (2019-12-05)
在设置中的Library关键字之后添加Library自动完成 [datakurre]
1.0.2 (2019-12-04)
修复文本字符串馈送到JSON时显示警告的问题 [datakurre]
修复JupyterLab上下文帮助支持在关键字中间点击时无法工作的问题 [datakurre]
修复关闭悬空Selenium连接的问题 [datakurre]
1.0.1 (2019-09-19)
修复了在Windows中${CURDIR}损坏的问题,因为它包含Robot Framework需要的转义路径分隔符的路劲[datakurre]
修复了在运行robot套件时,套件变量监听器报告错误的问题,因为它尝试恢复具有空值的字典变量[datakurre]
1.0 (2019-09-12)
修复了在JupyterLab 1.0中日志和报告链接无法打开的问题[datakurre]
1.0rc1 (2019-04-01)
将教程笔记本移动到notebooks文件夹[datakurre]
修复了WhiteLibrary自动完成的问题,改为建议使用:-separator而不是=-separator作为选择器[datakurre]
0.12.2 (2019-03-30)
修复了从0.12.0开始,在单元格执行之间保持套件级别变量状态导致回归的问题,通过修复监听器以忽略所有已知内置变量[datakurre]
0.12.1 (2019-03-27)
修复了在单元格执行之间保持套件级别变量状态导致由旧变量过时的输出目录引起的错误[datakurre]
0.12.0 (2019-03-26)
新特性
将关键字执行小部件添加到已执行关键字单元格下方;添加到连续执行时无需代码更改即可切换小部件[datakurre]
添加监听器以在robot执行之间保持套件级别变量的状态[datakurre]
添加IPython显示钩子[datakurre]
新特性
添加来自ipythonrobotframework的突出显示更新[datakurre]
0.11.0 (2019-01-29)
添加WhiteLibrary状态支持和交互式元素选择器[datakurre]
添加WhiteLibraryCompanion关键字库以交互式选择元素和用OpenCV模板点击元素[datakurre]
0.10.2 (2019-01-11)
修复了只有许多变量中的第一个被突出显示的语法突出显示问题[datakurre]
0.10.1 (2019-01-10)
更新包trove分类器[datakurre]
0.10.0 (2019-01-08)
破坏性更改
Setuptools 40.5.0及以后版本和Robot Framework 3.1或以后版本。[datakurre]
新特性
在data_files中添加预生成的kernel.json以自动安装robotkernel,但要求[datakurre]
0.9.0 (2019-01-04)
新特性
重写状态更新器以显示当前运行的测试状态,格式为trobber | 测试名称 | 关键字名称 | robot.api.logger.console消息[datakurre]
添加到嵌入日志和报告以包括右上角的下载链接[datakurre]
添加到将最后一个执行的关键字的结果显示为执行代码单元格的笔记本结果[datakurre]
添加变量和赋值运算符的语法突出显示[datakurre]
错误修复
修复了setup.cfg包含特定于操作系统的路径分隔符,导致Windows上无法构建的问题[datakurre]
修复了在Windows中将PNG文件解释为APNG,导致无法在Windows上渲染的问题[datakurre]
更新示例笔记本以使用SeleniumLibrary和SeleniumScreenshots而不是SeleniumLibrary和Selenium2Screenshots[datakurre]
添加到始终重新加载从其他笔记本导入的库[datakurre]
0.8.0 (2018-12-14)
添加到自动导入nbimporter(如果可用),以便可以从Python笔记本导入关键字库等[datakurre]
修复了nbrobot不支持%%python模块魔法的错误[datakurre]
0.7.1 (2018-11-20)
在requires中添加要求robotframework >= 3.1b1[datakurre]
0.7.0 (2018-10-31)
破坏性更改
需要robotframework >= 3.1b1
其他
添加以创建nbreader和nblibdoc CLI以运行具有笔记本读取器支持robot[datakurre]
添加Selenium补全以包括原始Simmer结果(有时包含简化的ID补全结果)[datakurre]
为Appium和AutoIT库添加证明概念选择器补全[datakurre]
修复了截图处理器以发现具有绝对路径或当前工作目录内的图像[datakurre]
0.6.3 (2018-10-19)
这是与robotframework < 3.1兼容的最后一个版本[datakurre]
从内核安装程序中删除已弃用的replace标志[datakurre]
0.6.2 (2018-10-19)
修复了与robotframework < 3.1的兼容性问题[datakurre]
0.6.1 (2018-10-19)
修复了内核安装产生Windows上损坏的kernel.json的问题[datakurre]
0.6.0 (2018-10-18)
将数据源路径从临时目录还原到当前工作目录,以允许在通常使用情况下使用本地库和资源[datakurre]
添加基于Simmerjs的CSS选择器构建器和元素选择器的实验性功能,当使用空“css:”选择器进行自动完成时[datakurre]
添加实验性的Selenium选择器自动完成[datakurre]
添加仅包含当前套件变量而不包含上下文知识的虚拟变量完成功能 [datakurre]
为结构关键字添加内联文档链接到Robot Framework用户指南 [datakurre]
0.5.4 (2018-10-09)
修复单术语关键字无完成项的问题 [datakurre]
0.5.3 (2018-10-09)
更新README [datakurre]
0.5.1 (2018-10-08)
自动完成和关键字文档检查增强 [datakurre]
0.5.0 (2018-10-08)
添加自动完成、关键字文档检查以及支持在Jupyter lab中替换和删除单元格历史记录 [datakurre]
0.4.0 (2018-09-26)
添加对robotframework 3.1a2的支持 [datakurre]
添加对使用“任务”而不是“测试”报告RPA套件的支持 [datakurre]
0.3.5 (2018-09-25)
更新README,包含笔记本执行说明 [datakurre]
0.3.4 (2018-09-25)
更新README [datakurre]
0.3.3 (2018-09-25)
在README中注明Log | Report -链接需要信任笔记本 [datakurre]
修复以使用“<pre>”包裹测试执行更新以提高可读性的问题 [datakurre]
0.3.2 (2018-09-25)
更改以始终以text/html格式发送显示数据更新,以解决导致JupyterLab中渲染“undefined”的bug [datakurre]
0.3.1 (2018-09-24)
更新README [datakurre]
0.3.0 (2018-09-23)
第一个版本。 [datakurre]
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。