diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..496c96b --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,25 @@ +name: Awesome-(Ro)Bot + +on: + pull_request: + branches: [ '*' ] + push: + branches: [ '*' ] + +jobs: + test: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.0' + bundler-cache: true # runs 'bundle install' and caches installed gems automatically + - name: Install gem + run: gem install awesome_bot + - name: Check links + run: | + awesome_bot README.md --allow-dupe diff --git a/README.md b/README.md index 18d6270..b189930 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,33 @@ # Awesome Robot Framework [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/) -[![Build Status](https://api.travis-ci.org/fkromer/awesome-robotframework.svg)](https://travis-ci.org/fkromer/awesome-robotframework) +![Build Status](https://github.com/marketsquare/awesome-robotframework/actions/workflows/ci.yml/badge.svg) -[](http://robotframework.org/) +[](https://robotframework.org/) > A curated list of awesome Robot Framework resources and libraries ## Contents -- [Misc](#misc) - [Libraries](#libraries) - [Tools](#tools) - [Resources](#resources) - [Trainings](#trainings) - -## Misc - -- [docker-robot-framework](https://github.com/ppodgorsek/docker-robot-framework) Robot Framework (with Firefox and Chrome) in Docker. -- [robotkernel -](https://github.com/datakurre/robotkernel) RobotFramework kernel for Jupyter notebooks. +- [Users](#users) ## Libraries - Standard Libraries - - [BuiltIn](http://robotframework.org/robotframework/latest/libraries/BuiltIn.html) Contains generic often needed keywords. Imported automatically and thus always available. - - [Collections](http://robotframework.org/robotframework/latest/libraries/Collections.html) Contains keywords for handling lists and dictionaries. - - [DateTime](http://robotframework.org/robotframework/latest/libraries/DateTime.html) Supports creating and verifying date and time values as well as calculations between them. - - [Dialogs](http://robotframework.org/robotframework/latest/libraries/Dialogs.html) Supports pausing the test execution and getting input from users. - - [OperatingSystem](http://robotframework.org/robotframework/latest/libraries/OperatingSystem.html) Enables performing various operating system related tasks. - - [Process](http://robotframework.org/robotframework/latest/libraries/Process.html) Supports executing processes in the system. - - [Screenshot](http://robotframework.org/robotframework/latest/libraries/Screenshot.html) Provides keywords to capture and store screenshots of the desktop. - - [String](http://robotframework.org/robotframework/latest/libraries/String.html) Library for manipulating strings and verifying their contents. - - [Telnet](http://robotframework.org/robotframework/latest/libraries/Telnet.html) Supports connecting to Telnet servers and executing commands on the opened connections. - - [XML](http://robotframework.org/robotframework/latest/libraries/XML.html) Library for verifying and modifying XML documents. + - [BuiltIn](https://robotframework.org/robotframework/latest/libraries/BuiltIn.html) Contains generic often needed keywords. Imported automatically and thus always available. + - [Collections](https://robotframework.org/robotframework/latest/libraries/Collections.html) Contains keywords for handling lists and dictionaries. + - [DateTime](https://robotframework.org/robotframework/latest/libraries/DateTime.html) Supports creating and verifying date and time values as well as calculations between them. + - [Dialogs](https://robotframework.org/robotframework/latest/libraries/Dialogs.html) Supports pausing the test execution and getting input from users. + - [OperatingSystem](https://robotframework.org/robotframework/latest/libraries/OperatingSystem.html) Enables performing various operating system related tasks. + - [Process](https://robotframework.org/robotframework/latest/libraries/Process.html) Supports executing processes in the system. + - [Screenshot](https://robotframework.org/robotframework/latest/libraries/Screenshot.html) Provides keywords to capture and store screenshots of the desktop. + - [String](https://robotframework.org/robotframework/latest/libraries/String.html) Library for manipulating strings and verifying their contents. + - [Telnet](https://robotframework.org/robotframework/latest/libraries/Telnet.html) Supports connecting to Telnet servers and executing commands on the opened connections. + - [XML](https://robotframework.org/robotframework/latest/libraries/XML.html) Library for verifying and modifying XML documents. - Mid level (framework) Libraries - [Android Library](https://github.com/lovelysystems/robotframework-androidlibrary) ([keyword documentation](http://lovelysystems.github.io/robotframework-androidlibrary/AndroidLibrary.html)) Library for all your Android automation needs. It uses Calabash Android internally. @@ -45,9 +39,11 @@ - [ImageHorizonLibrary](https://github.com/Eficode/robotframework-imagehorizonlibrary) ([keyword documentation](http://eficode.github.io/robotframework-imagehorizonlibrary/doc/ImageHorizonLibrary.html)) Cross-platform, pure Python library for GUI automation based on image recognition. - [iOS Library](https://github.com/lovelysystems/robotframework-ioslibrary) Library for all your iOS automation needs. It uses Calabash iOS Server internally. - [Page Object Library](https://github.com/boakley/robotframework-pageobjectlibrary) Library that makes it possible to use the page object pattern when testing web pages. - - [Swing Library](https://github.com/robotframework/SwingLibrary) ([keyword documentation](http://robotframework.org/SwingLibrary/SwingLibrary-1.9.7.html)) Library for testing Java applications with Swing GUI. + - [Swing Library](https://github.com/robotframework/SwingLibrary) ([keyword documentation](https://robotframework.org/SwingLibrary/SwingLibrary-1.9.7.html)) Library for testing Java applications with Swing GUI. + - [White Library](https://github.com/Omenia/robotframework-whitelibrary) Wraps the White framework, for automating Windows GUI technologies (Win32, WinForms, WPF, SWT). + - [Applitools Robot Framework](https://github.com/applitools/eyes.sdk.python/tree/develop/eyes_robotframework) Visual Verification Test Library using Applitools Eyes (Utilizes AppiumLibrary or\and SeleniumLibrary). -- Low level (driver) Librabries +- Low level (driver) Libraries - [AngularJS Library](https://github.com/Selenium2Library/robotframework-angularjs) An AngularJS extention library to Robotframework's Selenium2Library. - [Archive Library](https://github.com/bulkan/robotframework-archivelibrary) Library for handling zip- and tar-archives. - [AutoIt Library](https://code.google.com/archive/p/robotframework-autoitlibrary/) Windows GUI testing library that uses AutoIt freeware tool as a driver. @@ -59,47 +55,140 @@ - [HTTP Request (Java)](https://github.com/Hi-Fi/robotframework-httprequestlibrary) Library for HTTP level testing using Apache HTTP client. - [HTTP Request (livetest)](https://github.com/peritus/robotframework-httplibrary) Library for HTTP level testing using livetest tool internally. - [HTTP Request (Requests)](https://github.com/bulkan/robotframework-requests) Library for HTTP level testing using Request internally. - - [IMAP Library](https://github.com/lovelysystems/robotframework-imaplibrary) Library to test mail validation tasks. + - [IMAP Library](https://github.com/rickypc/robotframework-imaplibrary) Library to test IMAP email validation tasks. - [JSON Schema Library](https://github.com/jstaffans/robotframework-jsonschemalibrary) JSON Schema validation library for Robot Framework. - [MongoDB Library](https://github.com/iPlantCollaborativeOpenSource/Robotframework-MongoDB-Library#readme) Library for interacting with MongoDB using pymongo. - [MQTT Library](https://github.com/randomsync/robotframework-mqttlibrary) Library that provides keywords for testing on MQTT brokers. - [NcclientLibrary](https://github.com/vkosuri/robotframework-ncclient) ([keyword documentation](https://vkosuri.github.io/robotframework-ncclient/)) Robotframework NETCONF wrapper library of ncclient. - - [Rammbock](http://robotframework.org/Rammbock/latest/Rammbock.html) Generic network protocol test library that offers easy way to specify network packets and inspect the results of sent and received packets. + - [Rammbock](https://robotframework.org/Rammbock/latest/Rammbock.html) Generic network protocol test library that offers easy way to specify network packets and inspect the results of sent and received packets. + - [RESTinstance](https://pypi.org/project/RESTinstance/) Robot Framework test library for (RESTful) JSON APIs. - [Suds Library](https://github.com/ombre42/robotframework-sudslibrary) ([keyword documentation](http://ombre42.github.io/robotframework-sudslibrary/doc/SudsLibrary.html)) Library for functional testing of SOAP-based web services with Suds, a dynamic SOAP 1.1 client. - [UNIX Filesystem Library](https://github.com/ChrisHirsch/robotframework-unixfilesystem) Unix filesystem testing for Robot Framework. - [Debug Library](https://github.com/xyb/robotframework-debuglibrary) Debug Library for Robot Framework + - [robotframework-advancedlogging](https://pypi.org/project/robotframework-advancedlogging/) Create additional logs. + - [robotframework-apachetomcat](https://pypi.org/project/robotframework-apachetomcat/) - Manage Apache Tomcat server. + - [robotframework-aws](https://pypi.org/project/robotframework-aws/) - Keywords for interacting with AWS services in your test suites. + - [robotframework-browser](https://pypi.org/project/robotframework-browser/) - Automate the browser using Playwright. + - [robotframework-cassandracqllibrary](https://pypi.org/project/robotframework-cassandracqllibrary/) Execute CQL statements in Cassandra Database. + - [robotframework-confluentkafkalibrary](https://pypi.org/project/robotframework-confluentkafkalibrary/) Wrapper for the confluent-kafka-python. + - [robotframework-couchdbaselibrary](https://pypi.org/project/robotframework-couchbaselibrary/) Work with Couchbase. + - [robotframework-couchbasemanager](https://pypi.org/project/robotframework-couchbasemanager/) Manage Couchbase server. + - [robotframework-databaselib](https://pypi.org/project/robotframework-databaselib/) Database lib based on SQLAlchemy. + - [robotframework-datatime-tz](https://pypi.org/project/robotframework-datetime-tz/) Date/time with locales and time zones. + - [robotframework-depnendencylibrary](https://pypi.org/project/robotframework-dependencylibrary/) Declare dependencies between Robot Framework tests. + - [robotframework-docker](https://pypi.org/project/robotframework-docker/) Work with Docker and Docker Compose. + - [robotframework-excel10library](https://pypi.org/project/robotframework-excel10library/) Basic control over Excel10 (xlsx) files. + - [robotframework-excellib](https://pypi.org/project/robotframework-excellib/) Work with Excel documents. + - [robotframework-eyeslibrary](https://pypi.org/project/robotframework-eyeslibrary/) To automate visual software testing. + - [robotframework-httpctrl](https://pypi.org/project/robotframework-httpctrl/) HTTP/HTTPS client and HTTP server services to make REST API testing easy. + - [robotframework-ipmilibrary](https://pypi.org/project/robotframework-ipmilibrary/) Test IPMI devices. + - [robotframework-jenkins](https://pypi.org/project/robotframework-jenkins/) Jenkins interaction. + - [robotframework-jsonvalidator](https://pypi.org/project/robotframework-jsonvalidator/) JSON validation based on JSONSchema, JSONPath, JSONSelect. + - [robotframework-keepasslibrary](https://pypi.org/project/robotframework-keepasslibrary/) Work with KeePass databases. + - [robotframework-kicadlibrary](https://pypi.org/project/robotframework-kicadlibrary/) Validate KiCad designs. + - [robotframework-openstflibrary](https://pypi.org/project/robotframework-openstflibrary/) Openstf utility library. + - [robotframework-oracledb](https://pypi.org/project/robotframework-oracledb/) Work with Oracle Databases. + - [robotframework-pabot](https://pypi.org/project/robotframework-pabot/) Run tests in parallel. + - [robotframework-postgresqldb](https://pypi.org/project/robotframework-postgresqldb/) Work with PostgresSQL databases. + - [robotframework-rabbitmq](https://pypi.org/project/robotframework-rabbitmq/) Work with RabbitMQ. + - [robotframework-react](https://pypi.org/project/robotframework-react/) Work with React.js based web applications. + - [robotframework-remotetransfer](https://pypi.org/project/robotframework-remotetransfer/) Transfer screenshots from remoteserver to local machine. + - [robotframework-requestschecker](https://pypi.org/project/robotframework-requestschecker/) Check HTTP Response Status Codes. + - [robotframework-requestslogging](https://pypi.org/project/robotframework-requestslogger/) Log HTTP requests and responses. + - [robotframework-screencaplibrary](https://pypi.org/project/robotframework-screencaplibrary/) Take screenshots and videos. + - [robotframework-seleniumlibrary](robotframework-seleniumlibrary) Web testing based on Selenium. + - [robotframework-seleniumscreenshots](https://pypi.org/project/robotframework-seleniumscreenshots/) Capture annotated screenshots with SeleniumLibrary. + - [robotframework-seleniumtestability](https://pypi.org/project/robotframework-seleniumtestability/) Provides either manual or automatic waiting asyncronous events within SUT. + - [robotframework-snmplibrary](https://pypi.org/project/robotframework-snmplibrary/) Work with SNMP. + - [robotframework-sshlibrary](https://pypi.org/project/robotframework-sshlibrary/) Test library for SSH and SFTP. + - [robotframework-sshtunnellibrary](https://pypi.org/project/robotframework-sshtunnellibrary/) Connect to remote host using SSH Local Forwarding. + - [robotframework-stringformat](https://pypi.org/project/robotframework-stringformat/) String formatting. + - [robotframework-stublibrary](https://pypi.org/project/robotframework-stublibrary/) For all your HTTP needs. + - [robotframework-tarantoollibrary](https://pypi.org/project/robotframework-tarantoollibrary/) Work with Tarantool DB. + - [robotframework-testrail](https://pypi.org/project/robotframework-testrail/) Listener and pre-run modifier for working with TestRail. + - [robotframework-webpack](https://pypi.org/project/robotframework-webpack/) Control Webpack dev servers. + - [robotframework-websockerclient](https://pypi.org/project/robotframework-websocketclient/) Wrapper for the websocket-client module. + - [robotframework-zookeepermanager](https://pypi.org/project/robotframework-zookeepermanager/) Manage Apache Zookeeper. + - [robotframework-xvfb](https://pypi.org/project/robotframework-xvfb/) Interact with Xvfb. + - [robotframework-zoomba](https://pypi.org/project/robotframework-zoomba/) Collection of testing libraries spanning GUI, REST/SOAP API, and Windows Desktop automation. + - [winregistry](https://pypi.org/project/winregistry/) Work with Windows Registry. + - [robotframework-openafslibrary](https://pypi.org/project/robotframework-openafslibrary/) Test library for the OpenAFS distributed filesystem. + +- Remote Library Examples + - [remote-keyword-library](https://github.com/ThomasJaspers/remote-keyword-library) An example of a Remote Server Keywords library implementation in Java featured in a blog post written by Thomas Jaspers. + - [robotframework-scala-remote-library](https://github.com/jg8481/robotframework-scala-remote-library) An example of a Remote Server Keywords library implementation in Scala and based on a blog post written by Thomas Jaspers. ## Tools - Built-in tools - [DbBot](https://github.com/robotframework/DbBot) DbBot is a tool to serialize Robot Framework test run results into a SQLite database. - - [Rebot](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#post-processing-outputs) Tool for generating logs and reports based on XML outputs and for combining multiple outputs together. + - [Rebot](https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#post-processing-outputs) Tool for generating logs and reports based on XML outputs and for combining multiple outputs together. - [RoboMachine](https://github.com/mkorpela/RoboMachine) Model-based testing with Robot Framework. - - [Libdoc](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#libdoc) Tool for generating keyword documentation for test libraries and resource files. + - [Libdoc](https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#libdoc) Tool for generating keyword documentation for test libraries and resource files. - [Pabot](https://github.com/mkorpela/pabot) Parallel executor for Robot Framework test cases. - - [Testdoc](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#testdoc) Generates high level HTML documentation based on Robot Framework test cases. - - [Tidy](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#tidy) Tool for cleaning up and changing format of Robot Framework test data files. + - [Testdoc](https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#testdoc) Generates high level HTML documentation based on Robot Framework test cases. + - [Tidy](https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#tidy) Tool for cleaning up and changing format of Robot Framework test data files. - [Remote Interface](https://github.com/robotframework/RemoteInterface) Introduction to the remote interface with a list of available remote servers. + - [rfhub2](https://github.com/pbylicki/rfhub2) Tool for collecting, browsing and sharing documentation of existing keywords written in RobotFramework and python. - Build - - [Jenkins plugin](https://wiki.jenkins.io/display/JENKINS/Robot+Framework+Plugin) Plugin to collect and publish Robot Framework test results in Jenkins. + - [Jenkins plugin](https://plugins.jenkins.io/robot/) Plugin to collect and publish Robot Framework test results in Jenkins. - [Robotcorder](https://chrome.google.com/webstore/detail/robotcorder/ifiilbfgcemdapeibjfohnfpfmfblmpd) Chrome plugin to record session for Robot Framework. - - [Maven plugin](http://robotframework.org/MavenPlugin/) Maven plugin for using Robot Framework. + - [Maven plugin](https://robotframework.org/MavenPlugin/) Maven plugin for using Robot Framework. - [Ant task](https://github.com/lcarbonn/robotframework-ant) Ant task for running Robot Framework tests. +- Cryptocurrency or Blockchain tools + - [Robot Framework Solidity Testing Toolkit](https://github.com/jg8481/Robot-Framework-Solidity-Testing-Toolkit) Robot Framework tools that integrate with various Web3 blockchain technologies for testing and deploying smart contracts written in Solidity. It also provides an example (using a forked Fantom mainnet) for starting your own blockchain monitoring process. + +- Docker + - [docker-robot-framework](https://github.com/ppodgorsek/docker-robot-framework) Robot Framework (with Firefox and Chrome) in Docker. + - [robotframework-distbot](https://pypi.org/project/robotframework-distbot/) Distribute tests into multiple machines/docker containers. + - Editors - Atom - [Atom Language Robot Framework](https://atom.io/packages/language-robot-framework) Robot Framework syntax highlighting for Atom - [Autocomplete Robot Framework](https://atom.io/packages/autocomplete-robot-framework) Robot Framework autocomplete for Atom - [Hyperclick Robot Framework](https://atom.io/packages/hyperclick-robot-framework) Robot Framework hyperclick provider for Atom - - VSCode - - [RobotF Extension](https://marketplace.visualstudio.com/items?itemName=kmk-labs.robotf-extension) Visual Studio Code extension for robot framework. + - Jupyter + - [robotkernel](https://github.com/robots-from-jupyter/robotkernel) RobotFramework kernel for Jupyter notebooks. + - [xeus-robot](https://github.com/jupyter-xeus/xeus-robot) Jupyter kernel for Robot Framework based on the native implementation of the Jupyter protocol xeus. + - VSCode Extensions + - [RobotF Extension](https://marketplace.visualstudio.com/items?itemName=kmk-labs.robotf-extension) + - [Robot Framework Intellisense](https://marketplace.visualstudio.com/items?itemName=TomiTurtiainen.rf-intellisense) + +- IDEs + - [robotframework-workbench](https://pypi.org/project/robotframework-workbench/) Collection of tools for working with robotframework test suite and resource files. + +- Integrations + - [allure-robotframework](https://pypi.org/project/allure-robotframework/#data) - Robot Framework integration for Allure. + - [robotframework-rp-tools](https://pypi.org/project/robotframework-rp-tools/) - Listener and visitor modules for integration with ReportPortal. + - [RobotMK](https://robotmk.org) Robot Framework integration for the Open Source monitoring solution [Checkmk](https://checkmk.com). + - [molecule-robotframework](https://pypi.org/project/molecule-robotframework/) - Ansible Molecule plugin for running molecule tests with Robot Framework. - Verification - [Robot Framework Lint](https://github.com/boakley/robotframework-lint) Linter for robot framework plain text files. + - [Robocop](https://github.com/MarketSquare/robotframework-robocop) Static code analysis tool for Robot Framework with use of latest robot API and many built-in rules that can be easily configured or switched off. + +- Dashboard + - [robotframework-metrics](https://github.com/adiralashiva8/robotframework-metrics) Dashboard view of execution results + +- Personal Assistants + - [robotframework-test-assistant](https://github.com/jg8481/leon/tree/develop/packages/robotframework-test-assistant) Use a conversational AI test assistant to control Robot Framework test suites and RPA tasks with your voice or with text commands. + + - Performance + - [rfswarm](https://github.com/damies13/rfswarm) Performance testing in robotframework + + - Historic + - [robotframework-historic](https://github.com/adiralashiva8/robotframework-historic) Library to capture and generate historical reports + + - Robot Framework Executor + - [robotframework-executor](https://github.com/MandyYdnam/Robo_App) Gui Application to Run the Robot Framework Test. With features like parellel execution, Batch monitor, Execution Monitor, Historical Stats, Downloads Batch/execution/historical data to csv, Bookmark test cases etc. ## Resources +- Robocon 2020 + - [Playlist](https://www.youtube.com/playlist?list=PLSK6YK5OGX1AZMAffD8EiTDq0lfzshRNg) + - RoboCon 2019 - [Welcome back! What's new since RoboCon 2018?](https://www.youtube.com/watch?v=wBhY5Z2RoqQ&index=2&list=PLSK6YK5OGX1D-QpVap5C7NlfurQ1dsGbt&t=0s) - [The start of the open source RPA movement](https://www.youtube.com/watch?v=uv6dvcoxdvU&list=PLSK6YK5OGX1D-QpVap5C7NlfurQ1dsGbt&index=2) @@ -134,28 +223,39 @@ - Official Docs - [Robot Framework Introduction](https://github.com/robotframework/IntroSlides) - [Quickstart Guide](https://github.com/robotframework/QuickStartGuide/blob/master/QuickStart.rst) - - [User Guide](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html) + - [User Guide](https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html) - [How To Write Good Test Cases](https://github.com/robotframework/HowToWriteGoodTestCases/blob/master/HowToWriteGoodTestCases.rst) - Books - [Robot Framework Test Automation](https://www.packtpub.com/application-development/robot-framework-test-automation) :heavy_dollar_sign: - MOOCs - - [Robot Framework Test Automation - Level 1 (udemy)](https://www.udemy.com/robot-framework-level-1/) :heavy_dollar_sign: - - [Robot Framework Test Automation - Level 2 (udemy)](https://www.udemy.com/robot-framework-2/) :heavy_dollar_sign: - - [Robot Framework Test Automation - Saucelabs Integration (udemy)](https://www.udemy.com/robot-framework-saucelabs-integration/) :heavy_dollar_sign: - - [Robot Framework - Jenkins CI & Git Version Control (udemy)](https://www.udemy.com/robot-framework-jenkins-git/) :heavy_dollar_sign: + - [Robot Framework Test Automation - Level 1 (udemy)](https://www.udemy.com/course/robot-framework-level-1/) :heavy_dollar_sign: + - [Robot Framework Test Automation - Level 2 (udemy)](https://www.udemy.com/course/robot-framework-2/) :heavy_dollar_sign: + - [Robot Framework Test Automation - Saucelabs Integration (udemy)](https://www.udemy.com/course/robot-framework-saucelabs-integration/) :heavy_dollar_sign: + - [Robot Framework - Jenkins CI & Git Version Control (udemy)](https://www.udemy.com/course/robot-framework-jenkins-git/) :heavy_dollar_sign: - Theses - [Data-Driven and Keyword-Driven Test Automation Frameworks](http://eliga.fi/Thesis-Pekka-Laukkanen.pdf) Master's Thesis, Pekka Laukkanen - [Web Application Test Automation with Robot Framework](https://www.theseus.fi/bitstream/handle/10024/93164/Thesis_Jani_Luostarinen_v1_0.pdf?sequence=1) Bachelor's Thesis, Jani Luostarinen +- Shared Code Repositories + - [MarketSquare](https://github.com/MarketSquare) A community run collection of repositories for Robot Framework. Originally featured in a RoboCon 2020 lightning talk presented by Edward Manlove. + ## Trainings - Face-to-Face - - [Testautomatisierung mit dem Robot Framework - Intensivtraining (codecentric)](https://www.codecentric.de/leistungen/loesungen/wir-bauen-erfolgreiche-software/agile-software-factory/robot-framework/) :heavy_dollar_sign: - - [Test Automation using Robot Framework (tesena)](http://www.tesena.com/test-automation-using-robot-framework/) :heavy_dollar_sign: - - [Scripting a Robot framework utilizing Python](http://www.softwareskillnet.ie/course/87/scripting-a-robot-framework-utilizing-python-/) :heavy_dollar_sign: + - [Testautomatisierung mit dem Robot Framework - Intensivtraining (codecentric)](https://www.codecentric.de/leistungen/) :heavy_dollar_sign: + - [Test Automation using Robot Framework (tesena)](https://www.tesena.com/test-automation-using-robot-framework/) :heavy_dollar_sign: + - [Scripting a Robot framework utilizing Python](https://www.softwareskillnet.ie/course/87/scripting-a-robot-framework-utilizing-python-/) :heavy_dollar_sign: - Live - [Robot Framework Online Training (prezi)](https://prezi.com/f_omeuiv3ok5/robot-framework-online-training/) :heavy_dollar_sign: - [Robot Framework Certification Training (sulekha)](https://techjobs.sulekha.com/robot-framework-training) :heavy_dollar_sign: +- Repo + - [Robot Framework Cookbook](https://github.com/adrianyorke/robotframework-cookbook) + +## Users + +- ABB Robotics +- Agile Robotics AG +- Kuka AG diff --git a/query_github b/query_github new file mode 100755 index 0000000..503aca0 --- /dev/null +++ b/query_github @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +"""Script to get owners and websites of GitHub projects tagged with topic +robotframework. +The script has the side effect of depending on environment variables GIT_USER +and GIT_PASSWORD which have to be set to the Github user name and the GitHub +password respectively. +The script has been tested with PyGithub v1.43.8 running under Python 3.6.8. +""" + +from os import getenv + +from github import Github +from github.GithubException import RateLimitExceededException + +USER = getenv("GIT_USER") +PASSWORD = getenv("GIT_PASSWORD") + +client = Github(USER, PASSWORD) # pylint: disable=C0103 +try: + repos = client.search_repositories(query="topic:robotframework") # pylint: disable=C0103 + for r in repos: + name = r.name + owner = r.owner.login + url = r.owner.blog + print(f"Repo: {name}") + print(f" Owner: {owner}") + print(f" URL: {url}") +except RateLimitExceededException: + print("You've triggered your GitHub API rate limit. Try again later.") diff --git a/query_pypi b/query_pypi new file mode 100755 index 0000000..2092fb9 --- /dev/null +++ b/query_pypi @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Prints all PyPi projects which make use of one or all of the +PyPi trove classifiers avilable for the framework. +The script has been tested running under Python 3.6.8. +""" + + +import xmlrpc.client as xmlrpclib + +client = xmlrpclib.ServerProxy('https://pypi.python.org/pypi') + +# get all PyPi projects which have at least one classifier set +trove_classifiers = ["Framework :: Robot Framework", "Framework :: Robot Framework :: Library", "Framework :: Robot Framework :: Tool"] +pypi_projects = [] +for tc in trove_classifiers: + tc_pypi_projects = [p[0] for p in client.browse([tc])] + pypi_projects += tc_pypi_projects + +for p in set(pypi_projects): + print(p) +