Main Library written on python to execute functional tests throught selenium API coded down w3c webdriver specification
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.circleci
logs
qacode
source-docs
tests
.gitignore
.travis.yml
CHANGELOG.md
LICENSE
MANIFEST.in
README.rst
USAGE.rst
appveyor.yml
pytest.ini
qacode.pyproj
setup.cfg
setup.py
tox.ini

README.rst

QA Code

Issues on Github Pull Request opened on Github Release version on Github Release date on Github
Branch Linux Deploy Windows Deploy CircleCI - Docker CodeClimate
master https://travis-ci.org/netzulo/qacode.svg?branch=master https://ci.appveyor.com/api/projects/status/4a0tc5pis1bykt9x/branch/master?svg=true https://circleci.com/gh/netzulo/qacode.svg?&style=shield&circle-token=80384cb2233d112dc0785278d5b7c3d8c6a5686c https://api.codeclimate.com/v1/badges/46279cf9a6a47ed583d6/maintainability

Python tested versions

3.6 3.5 3.4 3.3 3.2 2.7
Supported Supported Supported Not Supported Not Supported Supported

How to install ?

  • Install from PIP : pip install qacode
  • Install from setup.py file : python setup.py install

Documentation

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
py27,py34,py35,py36 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",
      "operadriver_32.exe",
      "operadriver_64.exe",
      "operadriver_32",
      "operadriver_64"
    ]
  }
}

Getting Started

Just starting example of usage before read Usage Guide.

from qacode.core.bots.bot_base import BotBase
from qacode.core.webs.controls.control_base import ControlBase
from qautils.files 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()