Main automation library to wrap selenium and automate webs
Project description
Branch |
Linux Deploy |
Windows Deploy |
CircleCI - Docker |
CodeClimate |
|
---|---|---|---|---|---|
master |
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`_).
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()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.