{ "info": { "author": "Altran Portugal", "author_email": "samuca@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Robot Framework", "Framework :: Robot Framework :: Library", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Testing", "Topic :: Software Development :: Testing :: Acceptance" ], "description": "[![PyPi downloads](https://img.shields.io/pypi/dm/robotframework-mainframe3270.svg)](https://pypi.org/project/robotframework-mainframe3270/)\n[![Total downloads](https://static.pepy.tech/personalized-badge/robotframework-mainframe3270?period=total&units=international_system&left_color=lightgrey&right_color=yellow&left_text=total)](https://pypi.org/project/robotframework-mainframe3270/)\n[![Latest Version](https://img.shields.io/pypi/v/robotframework-mainframe3270.svg)](https://pypi.org/project/robotframework-mainframe3270/)\n[![tests](https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library/actions/workflows/run-tests.yml/badge.svg)](https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library/actions/workflows/run-tests.yml)\n[![codecov](https://codecov.io/gh/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library/branch/master/graph/badge.svg?token=N41G62D883)](https://codecov.io/gh/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library)\n\n# Mainframe3270Library\n\n## Introduction\n\nMainframe3270 is a library for Robot Framework based on the [py3270 project](https://pypi.org/project/py3270/), a Python interface to x3270, an IBM 3270 terminal emulator. It provides an API to a x3270 or s3270 subprocess.\n\n## Compatibility\nMainframe3270 requires Python 3. It is tested with Python 3.7 and 3.10.0, but should support all versions in between these.\n\n## Installation\n\nIn order to use this library, first install the package from PyPI.\n\n```pip install robotframework-mainframe3270```\n\nThen, depending on your OS, proceed with the corresponding chapters in this README.\n\n### Windows\n\nYou need to install the [x3270 project](http://x3270.bgp.nu/index.html) and put the directory on your PATH.\n\nThe default folder is \"C:\\Program Files\\wc3270\". This needs to be in the `PATH` environment variable.\n\n### Unix\n\nYou can install the x3270 project from [the instructions page](http://x3270.bgp.nu/Build.html#Unix). Or if it is available in your distribution through `sudo apt-get install x3270` / `brew install x3270`.\n\nMore information can be found on the [Wiki page](https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library/wiki/Installation) of this project.\n\n## Example\n```robot\n*** Settings ***\nLibrary Mainframe3270\n\n*** Test Cases ***\nExample\n Open Connection Hostname LUname\n Change Wait Time 0.4\n Change Wait Time After Write 0.4\n Set Screenshot Folder C:\\\\Temp\\\\IMG\n ${value} Read 3 10 17\n Page Should Contain String ENTER APPLICATION\n Wait Field Detected\n Write Bare applicationname\n Send Enter\n Take Screenshot\n Close Connection\n```\n\n## Importing\n\nArguments:\n - visible = True\n - timeout = 30\n - wait_time = 0.5\n - wait_time_after_write = 0\n - img_folder = .\n - run_on_failure_keyword = Take Screenshot\n\nBy default the emulator visibility is set to visible=True.\nIn this case test cases are executed using wc3270 (Windows) or x3270 (Linux/MacOSX).\nYou can change this by setting visible=False. Then test cases are run using ws3720 (Windows) or s3270 (Linux/MacOS).\nThis is useful when test cases are run in a CI/CD-pipeline and there is no need for a graphical user interface.\n\nTimeout, waits and screenshot folder are set on library import as shown above. However, they can be changed during runtime. To modify the ``wait_time``, see [Change Wait Time](https://raw.githack.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library/master/doc/Mainframe3270.html#Change%20Wait%20Time),\nto modify the ``img_folder``, see [Set Screenshot Folder](https://raw.githack.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library/master/doc/Mainframe3270.html#Set%20Screenshot%20Folder),\nand to modify the ``timeout``, see the [Change Timeout](https://raw.githack.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library/master/doc/Mainframe3270.html#Change%20Timeout) keyword.\n\nBy default, Mainframe3270 will take a screenshot on failure. You can overwrite this to run any other keyword by setting the ``run_on_failure_keyword`` option. If you pass ``None`` to this argument, no keyword will be run. To change the ``run_on_failure_keyword`` during runtime, see [Register Run On Failure Keyword](https://raw.githack.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library/master/doc/Mainframe3270.html#Register%20Run%20On%20Failure%20Keyword).\n\n## Running with Docker\n\nThe Docker image contains everything that is needed to run Mainframe tests. Currently the image is not published to Docker hub, so steps to use it\n- Build image:\n ```\n docker image build --build-arg BASE_IMAGE=3.7-alpine -t mainframe3270 .\n ```\n\n Here, `BASE_IMAGE` can be one of the available tags for the [python docker images](https://hub.docker.com/_/python). Please note that only alpine based images (e.g. 3.7-alpine) are supported.\n\n- Run all tests:\n ```\n docker container run --rm -it mainframe3270\n ```\n\nReports are saved to /reports. You can retrieve these by mapping the directory as volume. On Windows, run this command to mount your local _reports_ directory with the container:\n```\ndocker container run --rm -it -v %cd%\\reports:/reports mainframe3270\n```\n\nOn Linux/MacOSX, run:\n```\ndocker container run --rm -it -v ${pwd}/reports:/reports\n```\n\nIf you want to run single/specific tests, they can be mentioned at the end of command. Currently, only a single argument can be given, so multiple tests need to be given with wildcards like:\n```\ndocker container run --rm -it -v %cd%\\reports:/reports mainframe3270 *PF*\n```\n\nWhen developing tests, source code and tests can alsp be mounted with the container. The command to run tests using current sources is:\n* Windows:\n```\ndocker container run --rm -it -v %cd%\\reports:/reports -v %cd%\\atests:/tests -v %cd%\\Mainframe3270:/usr/local/lib/python3.7/site-packages/Mainframe3270 mainframe3270\n```\nThe _reports_ directory needs to be created beforehand.\n\n* Linux/MacOSX:\n```\ndocker container run --rm -it -v ${pwd}/reports:/reports -v ${pwd}/atests:/tests -v ${pwd}/Mainframe3270:/usr/local/lib/python3.7/site-packages/Mainframe3270 mainframe3270\n```\n\n## Development setup\nStart off by forking this repository and pulling the source code from GitHub.\n\nDepending on your preferences, you can create a virtual environment to\nkeep system and project dependencies separate.\n\n`python -m venv .venv`\n\nTo activate the virtual environment,\nrun `.venv\\Scripts\\activate` (Windows) or `source .venv/bin/activate` (MacOS & Linux).\n\nInstall main and development dependencies by running `python -m pip install -r requirements-dev.txt`\n\nThis project is using [invoke](https://www.pyinvoke.org/) as task runner. Before pushing your code, make sure python and robot code is formatted by running `inv lint`.\n\nUnit tests are invoked with `inv utest`, acceptance tests with `inv atest`. To invoke both unit and\nacceptance tests, simply run `inv test`.\n\nRun `inv -l` to get a list of all available tasks.\n\n## Keyword Documentation\n\nYou can find the keyword documentation [here](https://raw.githack.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library/master/doc/Mainframe3270.html).\n\n## Keyword Tests\n\nTo run all the library tests, you will need to create a user on the [pub400](https://www.pub400.com/) website.\n\n## WIKI\nFor more information visit the repository [Wiki](https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library/wiki).\n\n## Authors\n - **Altran -** [Altran Web Site](https://www.altran.com/us/en/)\n - **Samuel Cabral**\n - **Joao Gomes**\n - **Bruno Calado**\n - **Ricardo Morgado**\n\n## License\nThis project is licensed under the MIT License - see [LICENSE.md](https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library/blob/master/LICENSE.md) for details.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "robotframework-mainframe3270", "package_url": "https://pypi.org/project/robotframework-mainframe3270/", "platform": null, "project_url": "https://pypi.org/project/robotframework-mainframe3270/", "project_urls": { "Homepage": "https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library" }, "release_url": "https://pypi.org/project/robotframework-mainframe3270/3.0/", "requires_dist": null, "requires_python": "", "summary": "Mainframe Test library for Robot Framework", "version": "3.0", "yanked": false, "yanked_reason": null }, "last_serial": 13171562, "releases": { "2.10": [ { "comment_text": "", "digests": { "md5": "b44b34b5927d23211e6bf811c34739d3", "sha256": "be0cf4987e293419416247347e71122a3065eded0aff59b2dec02b67d8b00e97" }, "downloads": -1, "filename": "robotframework-mainframe3270-2.10.tar.gz", "has_sig": false, "md5_digest": "b44b34b5927d23211e6bf811c34739d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12899, "upload_time": "2021-02-05T16:25:48", "upload_time_iso_8601": "2021-02-05T16:25:48.823220Z", "url": "https://files.pythonhosted.org/packages/cb/35/12bb56def227afb9b6351d37481f0ef2ea570d42a85f2164ce91de245082/robotframework-mainframe3270-2.10.tar.gz", "yanked": false, "yanked_reason": null } ], "2.11": [ { "comment_text": "", "digests": { "md5": "8e3e32726b480600c13ffcb24ed89f2c", "sha256": "7c6695333c9d9f2661a4aea82ea1fb8ef131eeb92a2391e5fb702157fed92a19" }, "downloads": -1, "filename": "robotframework-mainframe3270-2.11.tar.gz", "has_sig": false, "md5_digest": "8e3e32726b480600c13ffcb24ed89f2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13529, "upload_time": "2021-11-22T13:40:43", "upload_time_iso_8601": "2021-11-22T13:40:43.740454Z", "url": "https://files.pythonhosted.org/packages/61/18/f3b5f0a99812fa2250000a22570a8e70cfc5e4b3a816d16c1ce0cc91307e/robotframework-mainframe3270-2.11.tar.gz", "yanked": false, "yanked_reason": null } ], "2.12": [ { "comment_text": "", "digests": { "md5": "3234c865aff0a702426b29c2c49fd462", "sha256": "000e5e80c0b29cc5d08616eeb05a01ec44f52c6a73f856d47b98956706c4cf09" }, "downloads": -1, "filename": "robotframework-mainframe3270-2.12.tar.gz", "has_sig": false, "md5_digest": "3234c865aff0a702426b29c2c49fd462", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14567, "upload_time": "2021-12-03T12:53:52", "upload_time_iso_8601": "2021-12-03T12:53:52.310155Z", "url": "https://files.pythonhosted.org/packages/b3/6c/e6f03244ebb179cd04c995f4e9a9621685f981d6d512a623218dee3517db/robotframework-mainframe3270-2.12.tar.gz", "yanked": false, "yanked_reason": null } ], "2.6": [ { "comment_text": "", "digests": { "md5": "8671f0cb295fb2d34fdbc2e7bb43f3e0", "sha256": "fc55878dc4aa1ed9a4b80b3c9657f9825264e31130f8e32096a6141352a7c42f" }, "downloads": -1, "filename": "robotframework-mainframe3270-2.6.tar.gz", "has_sig": false, "md5_digest": "8671f0cb295fb2d34fdbc2e7bb43f3e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12310, "upload_time": "2019-09-30T13:08:23", "upload_time_iso_8601": "2019-09-30T13:08:23.431058Z", "url": "https://files.pythonhosted.org/packages/99/b8/6974fd7e2fe0f18a40db207e401e30fa16ba3883a9f0f89120d16676ac96/robotframework-mainframe3270-2.6.tar.gz", "yanked": false, "yanked_reason": null } ], "2.7": [ { "comment_text": "", "digests": { "md5": "ffbcc0ed4e2e0a500d832bf3559b817b", "sha256": "1956c6646f02e834ccb838216482f6cee331c9a9c6046ae0494c69deb7552383" }, "downloads": -1, "filename": "robotframework-mainframe3270-2.7.zip", "has_sig": false, "md5_digest": "ffbcc0ed4e2e0a500d832bf3559b817b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16707, "upload_time": "2019-10-21T14:18:24", "upload_time_iso_8601": "2019-10-21T14:18:24.100083Z", "url": "https://files.pythonhosted.org/packages/d8/a0/b5b8fd32ac0215d67fcc05c7cec13ffec015335e9214fa6819fe8ffa2fb7/robotframework-mainframe3270-2.7.zip", "yanked": false, "yanked_reason": null } ], "2.8": [ { "comment_text": "", "digests": { "md5": "de9a6653f7b8de1c6f1cedc768bd4747", "sha256": "6067ef8647aaec8827e68e95cbd55a31c133f9fe8b29961068c1ee5968912259" }, "downloads": -1, "filename": "robotframework-mainframe3270-2.8.tar.gz", "has_sig": false, "md5_digest": "de9a6653f7b8de1c6f1cedc768bd4747", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12052, "upload_time": "2019-10-25T15:51:03", "upload_time_iso_8601": "2019-10-25T15:51:03.747837Z", "url": "https://files.pythonhosted.org/packages/2a/bf/4f9951f7d8f3889df7add9f83da19626241c103bd0991863e40b7e0aff14/robotframework-mainframe3270-2.8.tar.gz", "yanked": false, "yanked_reason": null } ], "2.9": [ { "comment_text": "", "digests": { "md5": "2e559019d3ceb6ab1202dd7ff7441f7d", "sha256": "9b9c65b81fde62118b0379b57455b198a72e28845fcbc3ab7276b84b49247b37" }, "downloads": -1, "filename": "robotframework-mainframe3270-2.9.tar.gz", "has_sig": false, "md5_digest": "2e559019d3ceb6ab1202dd7ff7441f7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12880, "upload_time": "2021-02-03T15:21:44", "upload_time_iso_8601": "2021-02-03T15:21:44.326253Z", "url": "https://files.pythonhosted.org/packages/23/a0/7510f43aeca0273af10071caeee35e809575888cc0e4a28f7f84898091b1/robotframework-mainframe3270-2.9.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0": [ { "comment_text": "", "digests": { "md5": "883434f0d1a770027fc6b808c668b4e6", "sha256": "56db262bdf6b9286fbd02816caabbe408fe4c2e77f5c8e7746486a28d423a3fa" }, "downloads": -1, "filename": "robotframework-mainframe3270-3.0.tar.gz", "has_sig": false, "md5_digest": "883434f0d1a770027fc6b808c668b4e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17109, "upload_time": "2022-03-14T15:54:06", "upload_time_iso_8601": "2022-03-14T15:54:06.204765Z", "url": "https://files.pythonhosted.org/packages/88/a8/2c083ba728d750750aa6973090269356d8060b212b1244493d0dcd7d4650/robotframework-mainframe3270-3.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "883434f0d1a770027fc6b808c668b4e6", "sha256": "56db262bdf6b9286fbd02816caabbe408fe4c2e77f5c8e7746486a28d423a3fa" }, "downloads": -1, "filename": "robotframework-mainframe3270-3.0.tar.gz", "has_sig": false, "md5_digest": "883434f0d1a770027fc6b808c668b4e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17109, "upload_time": "2022-03-14T15:54:06", "upload_time_iso_8601": "2022-03-14T15:54:06.204765Z", "url": "https://files.pythonhosted.org/packages/88/a8/2c083ba728d750750aa6973090269356d8060b212b1244493d0dcd7d4650/robotframework-mainframe3270-3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }