Skip to main content

Arjuna is a Python based test automation framework developed by Rahul Verma (www.rahulverma.net).

Project description

Arjuna

Arjuna is a Python based test automation framework developed by Rahul Verma (www.rahulverma.net). Rahul has implemented smaller variants of features in Arjuna across frameworks and organizations, or given advise around it. However Arjuna being a generic library has the most complete implementation of his ideas, away from project specific contexts and constraints.

Arjuna uses pytest as its recommended test engine. Arjuna also provides its markup for some common use cases on top of pytest. If you like, you can make use of Arjuna with any other test engine or custom frameworks as well.

You'd need Python 3.5+ to make use of Arjuna.

Note: On Linux, the built-in Python3 build has issues with the Python's built-in enum module which is heavily used in Arjuna. One alternative is to install ActiveState Python on linux. Advanced users can go for installing a custom Python build.

Tutorial

1. Arjuna Installation

  1. Download and install latest Python (3.5+) from https://python.org
    • If you are insterested to learn python Following are links for tutorials and docs.
  2. Confirm the python version installed by running the command python --version. If expected version in not shown, fix this by looking into PATH variables and/or to see whether you have multiple versions of Python installed.
  3. Install Arjuna using the following command
    • pip install arjuna

2. Arjuna - Getting Started

You can find the example code used on this section in arjuna_start project.

  1. Project Structure
  2. Writing Your First Test

3. Arjuna's Configuration System

You can find the example code used on this section in arjuna_config project.

  1. Configuration
  2. project.conf - Project Level Configuration
  3. Configuration Builder - Creating Custom Configurations
  4. Defining and Handling User Options
  5. Using .conf files with Configuration Builder
  6. The Magic C Function
  7. Environments and Dynamic Configurations

4. Data Driven Testing and Contextual Data References

You can find the example code used on this section in arjuna_data project.

  1. Data Driven Testing
  2. Driving with Single or Multiple Data Records
  3. Driving with Data Functions
  4. Driving with Data Classes
  5. Driving with Data Files
  6. Driving with Multiple Data Sources
  7. Contextual Data References and the Magic R Function
  8. Excel Data References

5. Localization of Strings

You can find the example code used on this section in arjuna_l10 project.

  1. Excel Localizer and The Magic L Function
  2. Json Localizer
  3. Strict vs Non-Strict Mode

6. Basic Web UI Automation

You can find the example code used on this section in arjuna_webui_basics project.

  1. Getting Started with WebApp
  2. Gui Namespace (GNS) - Externalized Identifiers
  3. Gui Element Locators - Using ID, Name, Tag, Class, Link Text, Partial Link Text
  4. Gui Element Locators - Using XPath
  5. Gui Element Locators - Using CSS Selectors
  6. Gui Element Locators - Using Arjuna's Locator Extensions
  7. Basic Interactions with a Gui Element
  8. Concise Basic Interactions with a Gui Element
  9. Creating Reusable Module
  10. Matching Multiple Elements as GuiMultiElement
  11. Handling Default HTML Select
  12. Handling Default HTML Radio Group

7. Advanced Web UI Automation

  1. Finding Nested Elements
  2. Alternative and Dynamic Identifiers
  3. Executing JavaScript
  4. Alerts, Windows, Frames
  5. Configuraing Interactions with GuiInteractionConfig
  6. Handling Custom DropDowns
  7. Retrieving Source code with GuiSource

8. Gui Abstraction - GNS, App, Page, Widget and Gui Elements

The following tutorial sub-sections have multiple example projects corresponding to them. Please refer the pages for respective example projects.

  1. Creating App Class
  2. App Object Model
  3. App-Page Object Model
  4. App-Page-Section Object Model
  5. Gui and Its Loading Model in Arjuna

Reference

  1. Command Line Options

Miscellaneous

  1. Using Arjuna With Your Test Framework

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.

Source Distribution

arjuna-0.9.10.tar.gz (114.0 kB view details)

Uploaded Source

Built Distribution

arjuna-0.9.10-py3-none-any.whl (198.8 kB view details)

Uploaded Python 3

File details

Details for the file arjuna-0.9.10.tar.gz.

File metadata

  • Download URL: arjuna-0.9.10.tar.gz
  • Upload date:
  • Size: 114.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.5

File hashes

Hashes for arjuna-0.9.10.tar.gz
Algorithm Hash digest
SHA256 b762800ed804a06f2ff200d558785cf2340de14538b38e60884a4d74f5099652
MD5 463b2d5e9104d36d7355961d0377b59d
BLAKE2b-256 2536ac164784795df64a5e616c85cf41b129291c8f85de7a05eb6ed48973375f

See more details on using hashes here.

File details

Details for the file arjuna-0.9.10-py3-none-any.whl.

File metadata

  • Download URL: arjuna-0.9.10-py3-none-any.whl
  • Upload date:
  • Size: 198.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.5

File hashes

Hashes for arjuna-0.9.10-py3-none-any.whl
Algorithm Hash digest
SHA256 a26c54343dc11efc45d8adb3f7b34c7b6ac411cb34d37dd99a342a9cd4872286
MD5 94381c0d997a5e054affff57ac4f7902
BLAKE2b-256 57da4c8c0f6bdc1b15e35a2809e2fcd1f22bb2ea52603a501613159e60f9102e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page