Robot Framework 的大型机测试库
项目描述
Mainframe3270库
介绍
Mainframe3270 是基于py3270 项目的 Robot Framework 库,它是 x3270的 Python 接口,是 IBM 3270 终端仿真器。它为 x3270 或 s3270 子进程提供 API。
兼容性
Mainframe3270 需要 Python 3。它使用 Python 3.7 和 3.10.0 进行了测试,但应该支持这两者之间的所有版本。
安装
为了使用这个库,首先从 PyPI 安装包。
pip install robotframework-mainframe3270
然后,根据您的操作系统,继续阅读本自述文件中的相应章节。
视窗
您需要安装x3270 项目并将目录放在您的 PATH 中。
默认文件夹是“C:\Program Files\wc3270”。这需要在PATH
环境变量中。
Unix
您可以从说明页面安装 x3270 项目。或者,如果它在您的发行版中通过sudo apt-get install x3270
/可用brew install x3270
。
更多信息可以在这个项目的Wiki 页面上找到。
例子
*** Settings ***
Library Mainframe3270
*** Test Cases ***
Example
Open Connection Hostname LUname
Change Wait Time 0.4
Change Wait Time After Write 0.4
Set Screenshot Folder C:\\Temp\\IMG
${value} Read 3 10 17
Page Should Contain String ENTER APPLICATION
Wait Field Detected
Write Bare applicationname
Send Enter
Take Screenshot
Close Connection
输入
论据:
- 可见=真
- 超时 = 30
- 等待时间 = 0.5
- wait_time_after_write = 0
- img_文件夹 = 。
- run_on_failure_keyword = 截图
默认情况下,模拟器可见性设置为 visible=True。在这种情况下,测试用例使用 wc3270 (Windows) 或 x3270 (Linux/MacOSX) 执行。您可以通过设置 visible=False 来更改它。然后使用 ws3720 (Windows) 或 s3270 (Linux/MacOS) 运行测试用例。当测试用例在 CI/CD 管道中运行并且不需要图形用户界面时,这很有用。
如上所示,在库导入时设置超时、等待和屏幕截图文件夹。但是,它们可以在运行时更改。要修改wait_time
,请参阅Change Wait Time,要修改img_folder
,请参阅Set Screenshot Folder,要修改timeout
,请参阅Change Timeout关键字。
默认情况下,Mainframe3270 会在失败时截屏。run_on_failure_keyword
您可以通过设置选项覆盖它以运行任何其他关键字。如果传递None
给此参数,则不会运行任何关键字。要run_on_failure_keyword
在运行时更改,请参阅Register Run On Failure Keyword。
使用 Docker 运行
Docker 映像包含运行大型机测试所需的一切。目前该镜像没有发布到 Docker hub,所以使用它的步骤
-
构建图像:
docker image build --build-arg BASE_IMAGE=3.7-alpine -t mainframe3270 .
在这里,
BASE_IMAGE
可以是python docker images的可用标签之一。请注意,仅支持基于 alpine 的图像(例如 3.7-alpine)。 -
运行所有测试:
docker container run --rm -it mainframe3270
报告保存到 /reports。您可以通过将目录映射为卷来检索这些内容。在 Windows 上,运行以下命令将本地报告目录与容器一起挂载:
docker container run --rm -it -v %cd%\reports:/reports mainframe3270
在 Linux/MacOSX 上,运行:
docker container run --rm -it -v ${pwd}/reports:/reports
如果您想运行单个/特定测试,可以在命令末尾提及它们。目前,只能给出一个参数,因此需要使用通配符给出多个测试,例如:
docker container run --rm -it -v %cd%\reports:/reports mainframe3270 *PF*
在开发测试时,源代码和测试也可以与容器一起挂载。使用当前源运行测试的命令是:
- 视窗:
docker container run --rm -it -v %cd%\reports:/reports -v %cd%\atests:/tests -v %cd%\Mainframe3270:/usr/local/lib/python3.7/site-packages/Mainframe3270 mainframe3270
需要预先创建报告目录。
- Linux/MacOSX:
docker container run --rm -it -v ${pwd}/reports:/reports -v ${pwd}/atests:/tests -v ${pwd}/Mainframe3270:/usr/local/lib/python3.7/site-packages/Mainframe3270 mainframe3270
开发设置
首先 fork 这个存储库并从 GitHub 拉取源代码。
根据您的偏好,您可以创建一个虚拟环境以将系统和项目依赖项分开。
python -m venv .venv
要激活虚拟环境,请运行.venv\Scripts\activate
(Windows) 或source .venv/bin/activate
(MacOS & Linux)。
通过运行安装主要和开发依赖项python -m pip install -r requirements-dev.txt
该项目使用调用作为任务运行器。在推送您的代码之前,请确保 python 和机器人代码通过运行格式化inv lint
。
单元测试用 调用inv utest
,验收测试用inv atest
. 要同时调用单元测试和验收测试,只需运行inv test
.
运行inv -l
以获取所有可用任务的列表。
关键字文档
您可以在此处找到关键字文档。
关键字测试
要运行所有库测试,您需要在pub400网站上创建一个用户。
维基
有关更多信息,请访问存储库Wiki。
作者
- 亚创 - 亚创网站
- 塞缪尔·卡布拉尔
- 若昂·戈麦斯
- 布鲁诺卡拉多
- 里卡多·莫尔加多
执照
这个项目是在 MIT 许可下获得许可的 - 有关详细信息,请参阅LICENSE.md。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
robotsframework -mainframe3270-3.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 56db262bdf6b9286fbd02816caabbe408fe4c2e77f5c8e7746486a28d423a3fa |
|
MD5 | 883434f0d1a770027fc6b808c668b4e6 |
|
布莱克2-256 | 88a82c083ba728d750750aa6973090269356d8060b212b1244493d0dcd7d4650 |