Documentation

The xFramium documentation provides definitions and examples for all aspects of the xFramium framework

XML Base Configuration

XML can be used to configure all aspects of xFramium including the creation of the test cases! Click on one of the XML configuration files below to find out more.

Driver Configuration

The definition of a test suite starts with the driver configuration. From here all other aspects of xFramium can be configured in a single place for quick configuration changes. The driver configuration contains links and references to all other configuration files and test definitions and is made up of all of the elements below

Driver Configuration
Test Script Management

xFramium users can define their test cases using the popular XML format. This format allows for many of the common programming structures and practices such as login and looping without needing to be a seasoned object oriented developer.

Test Script Management
Cloud Configuration

Configure and control access to all of your device groupings. Specify provider based clouds such as SauceLabs and Perfecto, local selenium grids and more.

Clouds
Application Configuration

Configure and control access to all of your applications and web sites. All applications, native, web and windows based are accessed and tested the same way with xFramium.

Applications

Device Configuration

Once your cloud is configured you need to configure the devices. xFramium allows devices of different types from different clouds to all work together in a single test suite.

Devices
Object Repository

xFramium has a very powerful object repository allowing for many mixed types of object locators to be mixed together. With xFramium all objects, regardless of their locator type can be stored in one place.

Object Repositories
Data Management

xFramium users can define their data structures for data driven testing in XML as well. Users can create simple data structures along with complex tree-like structures for complex testing scenarios.

Data Management

Keywords

A the heart of xFramium is the powerful set of reusable keywords offering a myriad of pre-defined functionality. The extensible keyword management system allows for customer keywords to be added as well.

Add Device

Allows the script to add an additional device to the same script to validate device/device actions

Alert

Interaction with JavaScript pop up alerts on web pages

Align

Compares alignment of named elements

Application

Opens, closes, installs or uninstalls a native application on a mobile device.

At

Allows extraction of the current position and dimensions of a specified element.

Attribute

Allows you to extract and/or compare the value of any named XML/HTML attribute OR style detail.

Break

The break keyword will allow you to exit a loop and continue on with the test.

Browser

Executes a Selenium browser based action against the connected web browser.

Cache

Cache the object tree under test to greatly improve script performance.

Call2

Allows a call to a reusable function.

Click

Execute a click on the named element.

Command

Execute a raw command to the underlying cloud system.

Compare2

The COMPARE2 keyword allows for comparison between 2 objects.

Console

Allows data to be added as information items to the output console.

Context

Allows context variables to be set or cleared

Debug

The debug keyword offers insight into named items.

Else

Else is a special step executed if parent step fails.

Email

Allows interaction with an email server to send or check for email messages.

Enabled

Validates the element exists on screen and is in an enabled state.

ExecJS

Allows for JavaScript code to be passed and executed given that JavascriptExecutor is supported

ExecWS

The EXECWS keyword allows for making web service calls from your test case.

Exists

Confirms the element exists in the object tree

Flow

The FLOW keyword allows you to end a test case early with a success or failure condition.

Fork

Fork is a complicated keyword used to define and locate multiple elements in parallel and select the appropriate path depending on the located element.

Function

The FUNCTION keyword will allow for hybrid mode scripting allowing for your XML based script to call native Java code.

Gesture

Allows for integration to the Gesturing library to execute gestures on a mobile device

Get

The GET keyword extracts the value of the element using the getValue() method.

GHERKIN

Executes a Gherkin based step

Loop

Allows the script to loop over data, elements or values and call a function

Math

The math keyword allows you to perform simple math operations and optionally compare the result to a known value.

Mouse

Allows you to control the mouse on an implementation that has input devices

Operator

The operator keyword allows you to use a simple operator to evaluate multiple conditions such as AND, OR and XOR.

Random

The random keyword allows you synthesize test data in various formats.

Report

Allows data to be added as information items to the output report.

Set

Allows the value of the text field or select item to be set or selected.

Wait For

The WAIT function with an explicit wait condition. By default, the condition is present indicating that the element exists.

SQL

Allows data stored in a relational database to read into test case context variables and optionally compare to values already in the test case.

State

This keyword takes a snapshot of the device and writes it to disk.

String2

The string keyword allows you to perform simple string operations on a value and store its result.

Verify Color

The verify color keyword allows you to select a point from a named element, extract the color and compare it to a known color.

Verify Contrast

The verify contrast keyword is used to locate an element on the screen and perform a Luminosity analysis on it. The Luminosity calculate is derived from the WCAG 2.0 standard.

Visible

Validate that an element exists in the tree and is currently visible.

Visual

Performs a more controlled visual based operation on the device.

Wait

The WAIT function is an explicit wait with no condition. This thread will pause for the specified amount of time (5 seconds by default) then continue execution.

Switch

The SWITCH keywords allows the developer to execute one of multiple defined steps based off of a data value

Support

MINNIM Software and the xFramium community offer many avenues for support

Groups

Post your questions on the xFramium Google Group

Tutorial Videos

Watch some of the tutorial videos at the xFramium YouTube Channel

Annual Maintenance

  • 60 hours support billed in 15-minute increments. *
  • Additional development and scripting hours available
  • Email based help desk support, Monday thru Friday, 7AM - 7PM EST
  • Custom patches and early access to new features and versions
  • xFramium upgrade remediation (excluding framework customizations)
MINNIM Software via email

* Hours expire after 1 year and do not carry over to the next year

Training

  • Remote / Virtual training for xFramium
  • Remote / Virtual training for Selenium and Appium
  • Onsite / classroom training available upon request
Contact MINNIM Software via email
Customized Support Packages

  • Script architecture and creation available for xFramium, Java, Selenium, Appium, Gherkin/Cucumber, etc. Design assistance for future-proof testing
  • Out sourced test execution and maintenance to ensure your tests execute as expected and issues are analyzed and reported eliminating lost time due to test run analysis. Issues found can be fixed transparently
  • Continuous Integration architecture and best practice analysis. Get the most out of your CI practice or create a new one
  • Proprietary xFramium customizations to add directed value to your xFramium implementation. Integrate with an on-site defect tracking system or write a specialized keyword to increase your execution coverage
  • Special requests tailored to specified needs and budgets
MINNIM Software via email

Advanced Java Support

xFramium has full support for Java test case creation. Use some or all of the xFramium Automation Toolkit libraries to improve the performance of script creation and execution

Java based script creation

The default implementation of xFramium uses the TestNG platform for execution

Java based executions

The default implementation of xFramium uses the TestNG platform for execution

xFramium BDD style scripting

xFramium has full support for Java test case creation. Use some or all of the xFramium Automation Toolkit libraries to improve the performance of script creation and execution

BDD / Gherkin style scripting

xFramium scripts can also be written in natural language using Gherkin for behavior-driven development. Developers can create new or import existing scripts is Gherkin with a Java implementation. In addition, developers can also use keyword-driven functions and eliminate coding. Users can mix and match Java, BDD and XML in the same test suite for maximum portability. By defining the test type as BDD, the BDD feature file can be directly embedded in the XML test case Mixing BDD with the XML framework can easily be achieved by analyzing your Gherkin based test script and creating the XML functions for the Given/Then/When clauses. Gherkin tests can call XML functions or Java functions and XML test can call Gherkin steps allowing resuse of test and functions defined in disparate languages.