HP-UFT configure settings for capturing of Object Repository - hp-uft

Is it possible to customize/configure the Capture features in HP UFT Repository manager (Tools: "Navigate and Learn", "Spy" and "Add").
When capturing the object I would like to define what HP automatically sets as the name and test object properties.
For instance if property Help Text if available for an object, set this to the name.

The way UFT determines what name to give an object is controlled by the tag query name in the registry.
The default value is logical name but you can change it to any other property supported by the object's GetROProperty.
In order to configure open regedit and go to HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\TestObjects.
Then under the object you want (e.g. Edit) change tag query name from logical name to the property you want (e.g. placeholder).
If the object in question is web-based and the property you want isn't supported by UFT you can use the attribute/ notation

UFT has a 'Tools' > 'Object Identification'. Choose the object to modify, then add the property to the 'assistive' list.

Related

How to get PidTag properties from Exchange via Graph API

I want to read PidTag properties from a specific e-mail message via Graph API REST call.
For singleValueExtendedProperties that is no problem as each of them has a specific GUID and in the filter query parameter can easily search for id with the corresponding property.
However I can't do the same with PidTags (i.e. the PidTag PidTagAccess or as OutlookSpy would show it: PR_ACCESS) because all of those PidTags have only the following attributes:
Tag num: HEX
Tag sym: String
Type: PropertyType
Value: Int
Does anyone have an idea how I could get those PidTags from an Outlook message?
I tried to put different types of attributenames into the filter query that weren't listed in the api and didn't really expect it to work. But it's better to try something out rather than to assume it won't work.
Use the proptag format to access properties predefined by MAPI, or by a client or server, and that have not already been exposed in Microsoft Graph. These properties have property identifiers in the 0x0001-0x7fff range. You can find more information about that in the Outlook extended properties overview.
Each predefined property in MAPI has well-defined description in MSDN with a property type, description and its identifier. For example, take a look at the PidTagAccess property description where you can get the required information. In OutlookSpy you may find the same information I believe.
Identifier for PidTagAccess is 0x0FF4 and type is integer, so valid id format for singleValueExtendedProperties is '{type} {proptag}'
Query to read the property:
https://graph.microsoft.com/v1.0/me/messages/{message_id}?$expand=singleValueExtendedProperties($filter=id eq 'Integer 0x0FF4')
Since you are already using OutlookSpy (I am its author), you can build your Graph queries with any MAPI properties in OutlookSpy: click Message button in the Graph group on the OutlookSpy ribbon, click "Query Parameters", check "$expand" checkbox and click the button to the right of the edit box.
In your particular case (PR_ACCESS MAPI property), the query will be singleValueExtendedProperties($filter=id eq 'Integer 0x0FF4')

Set Workshop Filters' default value

When we define a filter in Workshop, the output object set is used to apply users' filter options to another widget.
But it's also mentioned in the documentation that setting this variable is a mean to provide et default value: how does it actually work? I mean, how to shall I do to set this variable (I do not even know how to put a static value) with, for instance, the output of another widget (let's say a multi select table)?
The output of a Filter List widget in Workshop is a filter-type variable. To get an Object Set that reflects this filter, you then create a separate Object Set-type variable and use the configuration option there to choose one or more filter-type variables to apply.
To set the defaults of the filter so that they show up as selections in the Filter List, you can edit the default configuration for the for the output filter variable. First you have to choose the object type to which the filter corresponds and then you'll have access to the various properties of that object type. You can set a static default or you can choose a "typed" Variable (string, number, date, timestamp) and make that the default.
You can then get creative about where those variables are sourced from to wire together dynamic default selections for the Filter List values.

InstallShield: Get the organization name during installation

I'm creating an installation with instalshield.
In the "Installation Interview", (which is part of the "Project Assistant") I set the option "to prompt users to enter their Company Name".
My question is: how can I interact with the value they entered? I mean how can I get it? I need to take this value and insert it to my app config file , during the installation process.
In a more general way, I would love to know how can I add text fields of my own and interact with the values the customers insert?
Thank you,
Noam
Look at the installation Wizard Noam. Anywhere you see an edit control, you will notice that it has a property associated with it. The property is a 'variable' that will have a value assigned to it. You can use the property to populate a registry, an XML file, etc.
I would look through the help documentation for InstallShield relating to Properties.
http://helpnet.flexerasoftware.com/isxhelp19/helplibrary/IHelpISXPropertiesUse.htm
The link above goes over the difference between Public and Private properties and how you can use them.
Ok, so I sort of solved it, I didn't use any built in dialog boxes, but simply created my own public property and dialog, then added an event to dialog and finally read the property value with powershell script, in more details (for future noobies) :
Create new property in Property Manager (under "Behavior and Logic"), give it a name and default value.
Create new dialog (under "User Interface").
At the behavior section of your dialog go to "Next" control (for example).
Add event (by pressing the tiny green plus sign at the line of the "Events")
Choose "SetProperty"
At the SetProperty line you can specify a condition, for example ApplicationUsers = "AllUsers"
At the "Property" field enter the property name (from first instruction)
At the "Value" field enter the value you wish for.
For getting the property value from powershell, create powershell script with the following: $value = Get-Property -Name PROPERTY_NAME
That's it.
This is not exactly what I asked for in the question but I believe this answer is more general and so also contains the answer to my original question.

What does each property in Device Manager Details page mean?

For every device in the device manager, there are scores of properties listed (see the following image, some of the properties are also highlighted in green). I am unable to find any source which details the meaning of each property. In absence of such a resource one could only guess the meaning from the names.
I am trying to get status of each device programatically to get a list of devices which have been explicitly disabled (from device manages, or otherwise), and some details about them. This lead me to exploring the details page of device manager.
To answer the question you could do either of the following.
Refer a link, which explains the meaning of some of the properties.
Describe some of the properties which you yourself know.
In either case, I will be creating a list compiled from all answers here, which would have property name, along with its description.
(partial) documentation for Windows 2000 and later:
SetupDiGetDeviceRegistryProperty function
newer documentation
Device Property Reference > System-Defined Device Properties > Device Instance Properties
For example, you circled the "Status" property, which is defined as follows:
The DEVPKEY_Device_DevNodeStatus device property represents the status of a device node (devnode).
Property key DEVPKEY_Device_DevNodeStatus
Property-data-type identifier DEVPROP_TYPE_INT32
Property access Read-only access by installation applications and installers
Localized? No
Remarks
The value of DEVPKEY_Device_DevNodeStatus is a bitwise OR of the DN_ Xxx bit flags that are defined in Cfg.h
source: https://msdn.microsoft.com/en-us/library/windows/hardware/ff542414(v=vs.85).aspx

Record without adding to repository?

Imagine creating a new QTP project. You hit record to get your first bit of code in place. By default, you'll get something like:
Browser("MyApp").Page("MyPage").WebEdit("MyLogin").Set "Bob"
And you'll get the Browser, Page, and WebEdit objects automatically added to the repository. What I would like to be able to do, as one of those QTP bods that prefers descriptive programming, is hit record, and get something like:
Browser("name:=MyApp").Page("name:=MyPage").WebEdit("name:=MyLogin").Set "Bob"
And have no objects added to the repository. Is there a setting / option to do this somewhere?
(Obviously there are arguments for not wanting to do this, which I acknowledge and appreciate - but for those of us that prefer DP, this could help expedite test creation).
From what i understood is that you want to hit 'Record' button and you will get the script in descriptive type rather than the usual. But that is not possible.
For descriptive programming, you have to explicitly write the code by identifying the properties of each object for that (you can use Tools > Object Spy).
For above example:
Go to Object Spy > Select "the pointing hand symbol button" and click on the WebEdit for which you want to set the text "Bob"
Now, from Object Hierarchy select each object Top to Bottom and write properties of those object in the script. Like 1st Browser, then Page, then WebEdit. Try adding as more properties as you can.
You just can not get descriptive script by hitting Record button.

Resources