Document toolboxDocument toolbox

Header

(8.3.0) Work with Objects

In Qualitia, Objects are the controls of the application under test. Objects are displayed with their attributes like object name and class. To describe a test object, you have to provide a set of property names and their property values. The test object description helps to identify the objects in Application under Test (AUT).

The Objects section on the Develop screen of Automation Studio allows you to perform object related functions such as create objects, edit objects, delete objects, search objects, and import objects.

Important information on property values

  • Regular expressions can be used in the Property Value field. Qualitia supports the regular expression syntax defined by the underlying tool. For example, suppose there is a Browser with the title Qualitia. A user can give the title property in the form of regular expression as Qua.*
  • A key name can be used in the Property Value field where the key name should be enclosed in braces. During execution, the value from the key will be retrieved and substituted for the corresponding property. For example, suppose you have set up to store the value Qualitia under the key PropKey and then you want to work on a Browser with the title Qualitia. In this case, on the Object Management screen, you can use the Property Value for the Browser's title as {PropKey}. This is mainly to help you identify an object which has a run-time property value.

    To use value from the key, you must pass the key name inside braces. For example, if the key name is QKey, to use value from the key, you must enclose the key name inside braces like, {QKey}.

  • The scope of key will remain only across the tasks within a test case.
  • You can concatenate key with a static string or a static string with key. A key with a key combination can also be passed in the Property Value field. For example, if you have set up to store two keys, Prop1Key and Prop2Key with values "Qua" and "litia" in them respectively. In this case, the following combinations in the property value field will yield output as shown below:

Property Value field

Actual value during Execution

{Prop1Key}{Prop2Key}

Qualitia

Qua{Prop2Key}

Qualitia

{Prop1Key}litia

Qualitia

Qualitia

Qualitia

If the following characters are found in the property value of an object, they are preceded by '/' (forward slash) because these characters are used as identifiers in Qualitia.

Character

Description

{

Key name identifiers

}

Key name identifiers

/

Escape character in Qualitia

^

Array data separator
For Example, John^Smith^Lucy^Maggi array data can be passed using ^ as a separator.

Locator Types for Web Objects

The following locator types are used to add a web object.

  • Link
  • Name
  • ID
  • XPath
  • CSS

Locator Types for Mobile Objects

The following locator types are used to add a mobile object.          

  • UiAutomator

  • ID

  • Accessibility ID

  • Class

  • XPath

You can add web and mobile objects for a project in the following ways:

Rules for Duplicate Objects

  • You can add an existing object under a different page, but it renames the object automatically.
  • When you add an object with same name and same locator values manually , either Qualitia does not allow or might rename the object automatically depending on time span.
  • You cannot add the same object with the same name and same locator values under the same page.

To add objects for a desktop application, refer to Working with Qualitia for Desktop Applications.

Adding an Object

The first step in the automation of manual test cases is adding objects to the object repository. 

An object repository contains:

  • Parent: An object whose class is a page.
  • Child: An object present under a page class, which is used in test cases. A child object can also have a set of child objects.


To add objects for a desktop application, refer to (8.3.0) Work with Desktop Applications.

Adding a Web or an SFDC Object 

Perform the following steps to add a web object or an SFDC object for an application under test. 

  • You can create an SFDC object in a Salesforce project only.
  • Time Out and Polling Interval do not work for SFDC objects.
  • You can add an SFDC object using one of the following locator types:
    • SFDC:Label
    • XPath
  • The Salesforce project also allows you to add web and mobile objects for the associated web and mobile application objects.

To add a web or an SFDC object:

  1. From the Expand Menu, click Develop.
  2. Click the Objects tab.
  3. Do one of the following:
    • To create a parent object, click Create Object.
    • To create a child object, from the left pane, point to the parent object under which you want to add, click the Create New Object button () as shown in the following figure:


  4. Enter Object Name and Description.
  5. Select Class from the drop-down list.
  6. Select Locator Type and enter its associated Locator Value.
  7. To use the SmartLocator feature during the execution, select the SmartLocator checkbox.
  8. (Optional) Enter Time Out in seconds.
  9. (Optional) Enter Polling Interval in milliseconds.

If you specify Time Out and Polling Interval, Qualitia uses the Explicit Wait mode during the execution by overriding these values specified in the associated execution profile. 

  1. (Optional) To continue adding another object, select the Create Another checkbox.
  2. Click Save.

Adding a Mobile Native Object

Perform the following steps to add a mobile-native object only for mobile application under test. 

To add Mobile Native Objects:

  1. From the Expand Menu, click Develop.
  2. Click the Objects tab.
  3. Do one of the following:
    • To create a parent object, click Create Object.
    • To create a child object, from the left page, point to the parent object under which you want to add, click the Create New Object button ()
  4. From the Technology drop-down list, select Mobile.
  5. Enter Object Name and Description.
  6. Select Class from the drop-down list.
  7. Select Locator Type and enter its associated Locator Value.
  8. In the Search Class field, enter the class details displayed in the Appium Inspector or UIAutomatorViewer and then click the Search icon.  
    This will automatically select the Qualitia Class of the object.
  9. Do one of the following:
    • To add an Android application object, select Android Locator Type and enter its associated Android Locator Value 
    • To add an iOS application object, select iOS Locator Type and enter its associated iOS Locator Value.
  10. (Optional) To continue adding another object, select the Create Another checkbox.
  11. Click Save.

Editing an Object

You need to edit an object when its name or properties change. Also, you can place an object under another parent object or make it independent.

To edit an object:

  1. From the Expand Menu, click Develop.
  2. Click the Objects tab.
  3. Do one of the following:
    • To edit a parent object, click Create Object.
    • To edit a child object, from the left page, select the parent object under which you want to add, click the Edit Object button ().
  4. Edit the required fields. You can also add or remove object properties by clicking the Add or Remove buttons respectively. The Edit Object screen resizes up to the full screen.
  5. Click Save.

The object is saved with the revised fields or properties. 

To know how to change each object detail, refer to Adding New Objects.

  • If you want to change the locator type and the locator value for an object, you must disable its SmartLocator checkbox.

  • All the objects captured under different hierarchies can be transferred into another parent object tree or made independent. To change the Object Hierarchy, perform the following steps:

    • On the left pane of the Objects tab, select the object that you want to move.

    • Drag and drop the selected object under another parent object or make it independent within the left pane.

Removing an Object

During the course of the project, a number of objects get deleted or removed. Qualitia helps you removing unwanted objects from the object repository. 

  • You can remove only the objects that are not a part of any tasks or test cases.
  • If you remove a parent object, then all the child objects under that parent are also removed.

To remove an object:

  1. From the Expand Menu, click Develop.
  2. Click the Objects tab.
    The details of the selected object are displayed on the right pane of the Objects screen.
  3. From the left pane, select a parent or a child object, click the Remove Object button ().
    The system asks for confirmation about the deletion of the required object.
  4. Click Yes.

Viewing Test Cases Before Modifying Objects

Whenever Object properties are edited, the impact of the changes must be indicated to the user. The View Test Case feature provides an option to you on the object list displayed in the left navigation tree view. The View Test Case option displays a list of impacted test cases in which the object has been used.

Alternatively, if you select an object from the list view (right-pane) and choose to edit the same, the list of impacted tasks gets displayed to you. You may continue to edit the object or action after viewing the impacted list.

To view test cases in which the object is used:

  1. From the Expand Menu, click Develop.
  2. Click the Objects tab.
  3. In the left pane, right-click the parent or child object which has been used in some tasks.
  4. Click View TestCases from the context-menu.

Important Information on Object Property Values

You must know the following information related to property value of an object.

  1. You can use regular expressions in the Property value field. For example, suppose there is a button with the title Qualitia, then a user can give the title property in the form of regular expression as Qua.*

  2. A key name can be used in the Property value field where the key name should be enclosed in braces. During execution, the value from the key will be retrieved and substituted for the corresponding Property. For example, suppose you have set up to store the value Qualitia in the key PropKey and then want to work on a Object having name as Qualitia.
    In this case, on the Object Management screen, you can use the Property value for the object name as {PropKey}. This is mainly to help you identify an object which is having a runtime property value.

  3. To use the value from the key, you have to pass the key name in curly brackets.
    For example, the key name is QKey, then, to use the value from the key, you should enclose the key name in squiggly brackets like {QKey}.

  4. The scope of a key remains only across the tasks within a test case.

  5. You can even concatenate a key with a static string or a static string with a key. A key with a key combination can also be passed in the Property value field.
    For example, suppose you have set up to store two keys, Prop1Key and Prop2Key with values "Qua" and "litia" in them respectively. In this case, the following combinations in the property value field will yield output as shown below:

Property Value field

Actual value during Execution

{Prop1Key}{Prop2Key}

Qualitia

Qua{Prop2Key}

Qualitia

{Prop1Key}litia

Qualitia

Qualitia

Qualitia

 The following characters, if found in property value of an object, are preceded by '/' (forward slash) because these characters are used as identifiers in Qualitia.
 

Character

Description

{

Key name identifiers

}

Key name identifiers

/

Escape character in Qualitia

^

Array data separator. For example, John^Smith^Lucy^Maggi array data can be passed using ^ as a separator.

Footer