Qacode
Main Library written on python to execute functional tests throught selenium API coded down w3c webdriver specification
Install / Use
/learn @netzulo/QacodeREADME
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 updatedQAcode'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/
