0 Shares 6212 Views 14 Comments

Set Test Setting and Options runtime

Nov 21, 2013
6212 Views 14

Sometimes, you may need to change the test settings during runtime. For example, you need to set the maximum time that UFT allows when loading a Web page or retrieve the same to make use of it further in your automation. It’s the setting option Browser navigation timeout under Web tab.

Test Settings

Another example could be, when you need to change synchronization timeout setting for a specifc scenarion at runtime and want to revert it back for other scenarios  or you need to change other run setting options as you see in the snapshot below. These could be related to datatable, resources, iteration etc.

 Run Iteration

In UFT, we have the Setting object to control how UFT runs tests by setting and retrieving testing options during a run session.  This is an Utility Object which enables you to modify test settings during the test run. The test settings can be understand as global variable with dictionary of keys and their values, where the values can be set or retrieved.

 

Setting Object Properties

Item: can be used to set or retrieve the value of given setting.

 usage

For example,to retrieve Iteration mode from run setting

Setting.Item(“DefaultTimeout”)

Below are some of the available KeyNames

DefaultTimeout : Use this key to change/retrieve the maximum time to wait if the object is not found. The time should be in miliseconds.

WebTimeout : Maximum time in milliseconds to wait before it is determined that a URL address cannot be found.

AutomaticinkRun : This Key determines whether automatically created checkpoints will be executed during the test run or not. Its Value can be either True or False.

True: Automatic checkpoints are executed.

False: Automatic checkpoints are not executed.

DefaultLoadTime: : Use this key to change/retrieve the amount of time it should wait for a page to load during the run session. The time should be in seconds.

SnapshotReportMode :  Indicates when the images are captured. The value can be one of the following:

0 – always captures images.

1 – captures images only if an error occurs on the page.

2 – captures images if an error or warning occurs on the page.

3 – never captures images.

Default = 1.

Tools> Options > Gui Testing > Screen Capture

 Screen capture

You can get the full list of available KeyNames that you can use to change or retrieve the settings and options. Just Click on Generate Script button at Settings dialog (Test > Setting) and Options Dialog (Tools > Options) as shown in the snapshots below. Once you save the scripts, just open it (no need to run, open it in any file editor). You will find the list of KeyNames and their usage in each statement.

 

 Setting Generate Script

 OptionsGenScript

 

WebPackage: Webpackage poperty enables you to set or retieve values relevant for the web add-in.

Setting.WebPackage(“Key Name”)

Some of the possible keys or setting options that can be used are as below

ReplayType : this setting option is to change the way mouse operations should happen on AUT. It can be either browser events or mouse event.  Browser event is similar to DOM events using the Browser methods, wheras Mouse event simulate the actual user action either from keyboard or mouse. For example if you click on a button when ReplayType is Mouse, you will notice that mouse pointer moves to the location of button and fires the event, but n case of browser event it doesn’t.

Values of replaytype can be

1 – Event

2 – Mouse

By default it is set to Event i.e 1

usage

Setting.WebPackage("ReplayType") = 2

 Replay Type

RunUsingSourceIndex : Indicates whether the source index property should be used. The value can be one of the following:

0 – Does not use the source index property to identify objects.

1 – Uses the source index property to identify objects

Usage:

Setting.Packages.WebPackage.Settings("ReplayUsingSourceIndex") = 0

Setting Object Methods

Add Method

Using this method, you can add a user-defined settings and use it further in your scripting.

For example, In some cases you need to turn off a particular recovery option and again you want that to be enabled. In this situation you can have setting created and use it as required.

 

Exists Method

Before creating a new user defined settings, it is always a good practice to check it has aready been created earlier or exists already.

If Settings(RecoveryEnabled) =Yes then Settings(RecoveryEnabled) = No Else Settings.Add RecoveryEnabled, Yes bEnabled = Settings.Item(RecoveryEnabled) End if

Remove Method

Once you are done with the test or there is no scope for the user defined  settings in the current test, You should always Kill it by using the Remove method.

Settings.Remove “RecoveryEnabled”

Hope this was helpful, Please provide your feedback/quiestions via the comments below.

 

You may be interested

UFT Patch Updates – UFT 14.03
Unified Functional Testing
1448 views1
Unified Functional Testing
1448 views1

UFT Patch Updates – UFT 14.03

Saket - Mar 11, 2018

Post the launch of UFT 14.0, there are three patch updates has been released including a number of features and enhancement. Recently Micro Focus unveiled third patch…

Setting up Web Service Automation Project
Katalon Studio
1305 views
Katalon Studio
1305 views

Setting up Web Service Automation Project

Saket - Oct 24, 2017

Web services are specific services that can be published and called over the Internet by client applications. Katalon Studio supports functional testing of web services. This topic…

Setting up Mobile Automation Project in MacOS
Katalon Studio
1081 views1
Katalon Studio
1081 views1

Setting up Mobile Automation Project in MacOS

Saket - Oct 09, 2017

Using Katalon Studio, mobile tester can design automation test for both Android and iOS to run on physical devices, cloud services and emulators. This tutorial explains how…

14 Comments

  1. Hey Saket:

    Thank you so much. Your QTP papers really help me to pass QTP certification Exam.

    Now, I came to the next step of looking for a job in QA field.

    I have a question, do you suggest me any site where I can get practice Test cases. This is because I would like to write various types of Test cases to get confidence when I’ll go for job.

    Also, I’ll look for Interview questions on your site.

    I will definitely recommend your site to all my friends.

    Thanks,
    Priti Naidu

    Reply
  2. Hi Saket,Is there any way to call object spy ,spy object,add it to repository etc through scripting…
    plz help me in this regard….

    Reply
    • Hi Vinay,
      You can definitely add objects to object repository and manipulate existing objects in repository using scripting. Use Mercury.objectRepositoryutil object. here is sample. I will surely plan to post more details around this.refer QTP help.

      Set myRepository = CreateObject("Mercury.ObjectRepositoryUtil")
      oRepository.Load ""
      0Repository.AddObject oButton, Browser("").Page(""), "ButtonName"

      Reply
  3. while executing UFT Script using Sync method is not supporting even
    Object.ReadyState also not supporting kindly hep me

    Reply
  4. Do while ((Browser(“Micclass:=Browser”).Page(“Micclass:=Page”))<>”complete”)
    wait(1)
    Loop
    its giving error like
    Excepted:)

    Reply
  5. Do while ((Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).Object.ReadyState)<>”complete”)
    wait(1)
    Loop

    Reply
  6. I think the issue is an extra bracket you have used, which might be causing the error.
    try below ..

    Do while (Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).Object.ReadyState<>”complete”)
    wait(1)
    Loop

    Reply
  7. Hi Saket,
    i used the same code but am getting Object Disable Error.
    Do while (Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).Object.ReadyState”complete”)
    wait(1)
    Loop

    Reply
    • GetRowwithCellText – gives you the row number of a cell with specified text in it. e.g. consider the table below

      Sr. Name Amt
      1 ABC 100
      2 STU 750
      3 XYZ 102

      you need to find the row number in which 750 is present. GetRowwithCellText method gives you the row number directly without using loops to go through each and every cell data.

      whereas GetCellData is used to retrieve the data in a specified cell. e.g in the table above if you need to retrieve the content from row 2, col 3. you need to use GetCelldata method.

      Reply
  8. Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).Link(“name:=Here”).Click
    If Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).Exist Then
    Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).GetROProperty(“readystate”)
    End If
    ‘object disable error
    Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).WebRadioGroup(“html id:=ProfileTypeDet2”).Select “N”
    If Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).Exist Then
    Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).GetROProperty(“readyState”)
    End If
    ‘object disable error
    Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).WebList(“html id:=subscriberCat”).Select “CONSUMER”
    If Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).Exist Then
    Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).GetROProperty(“readyState”)
    End If
    ‘object disable error
    Browser(“Micclass:=Browser”).Page(“Micclass:=Page”).WebList(“html id:=subscriberSubCat”).Select “Standard”

    i TRIED THIS CODE SAME OBJECT DISABLE ERROR IS COMING

    Reply
  9. Hi Saket.. Good POst.. how to set “Save MOvie to Results” option in uft “screen capture” window while I am running script using “setting” object.As per “generate Script” file option is “MovieCaptureForTestResults” I didnt find this in any keys.. Please help

    Reply

Leave a Comment

Your email address will not be published.

Most from this category

Join The Growing Group of 15000+ Test Automation Engineers

Signup for our newsletter and get access to free downloads, as well as tips, tricks and techniques and various test automation resources.
Name
Email Address
Secure and Spam free...