Skip to content

Arjuna 0.8.12

Pre-release
Pre-release
Compare
Choose a tag to compare
@rahul-verma rahul-verma released this 17 Feb 15:41

From 0.8.10 onwards, the goal was to document Arjuna use cases, make changes to the API in the interest of intuitive behavior and make any fixes/enhancements to support these.

Following are the changes which have gone in:

  • Added asserter object to 'my'
  • Split Example Project to represent documentation sections.
  • Examples are now tracked based on transformation to @test and doc written.
  • Examples:
    • Core Features
      • Writing First Test
      • Value abstraction
      • Configuration - Arjuna Options and User Defined Options
    • Web UI Automation Basics
      • Getting Started with WebApp
      • GuiElement - Selenium By's Equivalent, Arjuna Extensions, Basic Interactions
      • Creating a Self-Contained App Class
      • GuiMultiElement
      • DropDown and RadioGroup
    • GUI abstraction
      • Gui Namespace
      • Creating an App Class
      • Gui Loading Logic
      • App Model
      • App-Page Object Model
      • App-Page-Widget Object Model
  • Added non-coding documentation:
    • Project Structure
  • CLI Changes
    • cm/im switches removed based on new test structure.
    • cf/if changed to ct/it (--consider-tests, --ignore-tests).
    • run-pickers changed to run-selected.
    • Support for static RunID when --static-rid switch is passed. Useful during script development. Default is dynamic timestamped runid.
  • Simplification of With
    • class_name, class_names, compound_class -> With.classes
    • css_selector -> selector
    • tag_name -> tag
    • link_text -> flink (Full text of link)
    • link_ptext -> link (Default match in Arjuna is Partial)
    • javascript -> js
    • attr_value -> fattr (Full attribute)
    • attr_pvalue -> attr (Default match in Arjuna is Partial)
    • meta -> label
    • With.attr* now take two arguments and simple strings rather than [attr][value] string.
  • WebApp Interface Improvements
    • delegates all calls which it does not contain to its 'ui' obj. It simplifies the App abstraction code in tests.
    • title is a direct inquirable attribute
    • go_to_url is a direct call.
  • Page interace
    • go_to_url is a direct call.
  • Name and importing changes
    • AnyRefValue changed to Value. It is now a direct arjuna import.
    • DefaultTestContext -> RunContext
    • guiauto_max_wait property method -> guiauto_max_wait
    • ns_dir -> gns_dir
    • def_file_name -> gns_file_name
  • test.my and Gui have Arjuna's asserter object. AsserterMixin moved to asserter module. Added 'fail', 'assert_equal', 'assert_not_equal', 'assert_true', 'assert_false methods to Asserter. More assertions to be added.
  • Basic proof of concept done w.r.t. creating session level fixtures outside of conftest. Will build on this in upcoming versions.
  • Fix for GNS for attr based identification.
  • Directory and project files related changes:
    • arjuna_launcher.py moved to scripts directory and updated to support new structure.
    • archives directory is not created now.
    • Cleanup of arjuna central conf and description files.
    • pytest.ini now present inside arjuna deployment.
    • conftest.py now resides inside tests directory.
    • Current working directory is changed to project directory before pytest is launched.
  • GuiConditions, GuiReady condition and GuiNotLoaded error implemented. Arjuna has a complete Gui loading mechanism which triggers automatically for a Gui.