Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/netzulo/qacode
Main Library written on python to execute functional tests throught selenium API coded down w3c webdriver specification
https://github.com/netzulo/qacode
chrome-headless chromedriver edgedriver firefoxdriver functional headless-chrome internetexplorer selenium selenium-python testing tests webscrapper
Last synced: 3 months ago
JSON representation
Main Library written on python to execute functional tests throught selenium API coded down w3c webdriver specification
- Host: GitHub
- URL: https://github.com/netzulo/qacode
- Owner: netzulo
- License: gpl-3.0
- Created: 2017-07-18T07:41:01.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-10-21T11:03:22.000Z (over 3 years ago)
- Last Synced: 2024-09-15T06:10:31.771Z (5 months ago)
- Topics: chrome-headless, chromedriver, edgedriver, firefoxdriver, functional, headless-chrome, internetexplorer, selenium, selenium-python, testing, tests, webscrapper
- Language: Python
- Homepage:
- Size: 1.73 MB
- Stars: 5
- Watchers: 3
- Forks: 1
- Open Issues: 19
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
QA Code
=======.. image:: https://img.shields.io/github/issues/netzulo/qacode.svg
:alt: Issues on Github
:target: https://github.com/netzulo/qacode/issues.. image:: https://img.shields.io/github/issues-pr/netzulo/qacode.svg
:alt: Pull Request opened on Github
:target: https://github.com/netzulo/qacode/issues.. image:: https://img.shields.io/github/release/netzulo/qacode.svg
:alt: Release version on Github
:target: https://github.com/netzulo/qacode/releases/latest.. image:: https://img.shields.io/github/release-date/netzulo/qacode.svg
:alt: Release date on Github
:target: https://github.com/netzulo/qacode/releases/latest+-----------------------+-------------------------------------------------------------------+------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| Branch | Linux Deploy | Windows Deploy | CircleCI - Docker | CodeClimate |
+=======================+===================================================================+================================================================================================+===========================================================================================================================+========================================================================================+
| master | .. image:: https://travis-ci.org/netzulo/qacode.svg?branch=master | .. image:: https://ci.appveyor.com/api/projects/status/4a0tc5pis1bykt9x/branch/master?svg=true | .. image:: https://circleci.com/gh/netzulo/qacode.svg?&style=shield&circle-token=80384cb2233d112dc0785278d5b7c3d8c6a5686c | .. image:: https://api.codeclimate.com/v1/badges/46279cf9a6a47ed583d6/maintainability |
+-----------------------+-----------------------+-------------------------------------------+------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+Python tested versions
----------------------+-------------------+-------------------+-------------------+-------------------+
| **3.7** | **3.6** | **3.5** | **<=3.4** |
+===================+===================+===================+===================+
| *Supported* | *Supported* | *Supported* | *Not Supported* |
+-------------------+-------------------+-------------------+-------------------+How to install ?
----------------+ Install from PIP : ``pip install qacode``
+ Install from setup.py file : ``python setup.py install``
Documentation
-------------+ How to use library, searching for `Usage Guide`_ or auto updated `QAcode's Documentation`_. https://netzulo.github.io/
How to exec tests ?
-------------------+ Tests from setup.py file : ``python setup.py test``
+ Install from PIP file : ``pip install tox``
+ Tests from tox : ``tox -l && tox -e TOX_ENV_NAME`` ( *see tox.ini file to get environment names* )+---------------------+--------------------------------+
| TOX Env name | Env description |
+=====================+================================+
| py35,py36,py37 | Python supported versions |
+---------------------+--------------------------------+
| flake8 | Exec linter in qalab/ tests/ |
+---------------------+--------------------------------+
| coverage | Generate XML and HTML reports |
+---------------------+--------------------------------+
| docs | Generate doc HTML in /docs |
+---------------------+--------------------------------+Configuration File
~~~~~~~~~~~~~~~~~~::
{
"bot": {
"log_output_file": "logs/",
"log_name": "qacode",
"log_level": "DEBUG",
"mode": "remote",
"browser": "chrome",
"options": { "headless": false },
"url_hub": "http://localhost:11000/wd/hub",
"drivers_path": "../qadrivers",
"drivers_names": [
"chromedriver_32.exe",
"chromedriver_64.exe",
"chromedriver_32",
"chromedriver_64",
"firefoxdriver_32.exe",
"firefoxdriver_64.exe",
"firefoxdriver_64.exe",
"firefoxdriver_32",
"phantomjsdriver_32.exe",
"phantomjsdriver_64.exe",
"phantomjsdriver_32",
"phantomjsdriver_64",
"iexplorerdriver_32.exe",
"iexplorerdriver_64.exe",
"edgedriver_32.exe",
"edgedriver_64.exe"
]
}
}Getting Started
~~~~~~~~~~~~~~~*Just starting example of usage before read* `Usage Guide`_ (*or refer to `QAcode's Documentation`_*).
.. code:: python
from qacode.core.bots.bot_base import BotBase
from qacode.core.webs.controls.control_base import ControlBase
from qacode.utils import settings
SETTINGS = settings(
file_path="/home/user/config/dir/",
file_name="settings.json"
)
try:
bot = BotBase(**SETTINGS)
bot.navigation.get_url("http://the-internet.herokuapp.com/login")
ctl_config = { "selector": "input[name='username']"}
ctl = ControlBase(bot, **ctl_config)
# END
import pdb; pdb.set_trace() # TODO, remove DEBUG lane
print(ctl)
except Exception as err:
print("ERROR: {}".format(err))
finally:
bot.close().. _Usage Guide: USAGE.rst
.. _`QAcode's Documentation`: https://netzulo.github.io/