Question


GE
IN
Last activity: 23 Aug 2018 19:06 EDT
Interogate a Repeating Grid/Tree Layout
Log in as a user into pega application. The cases that are assigned to the user is displayed as Repeating tree Grid layout. The first column is the ID which is a hyperlink to open the case.
My requirement is at run time I want to click one of the case id hyperlink. This list of cases will change with each user. My automation must run seamless of which ever user logged in. How to do this .
**Moderation Team has archived post**
This post has been archived for educational purposes. Contents and links will no longer be updated. If you have the same/similar question, please write a new post.
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accepted Solution


Pegasystems Inc.
US
You are missing a link coming out of your loop.


GE
IN
../


GE
IN
How to do this requirements with openspan/pega robotics


GE
IN
#helpme


Pegasystems Inc.
US
Bargavi,
It would require more details to show you how to customize your adapter and automation to work with the tree/grid layout that you currently have, but from the looks of what you presented you need to use cloning for the links that are located within the grid layout.
I would recommend that you become familiar with the cloning material prior to setting up the solution design to work with the grid layout. Below are a few links that goes further into the topic.
Cloned Controls:
http://help.openspan.com/80/Adapters_Interrogation/Win32_Applications_MDIChild_Windows.htm
Interrogating Clone Controls
http://help.openspan.com/80/Adapters_Interrogation/Select_Clone.htm
The ultimate goal is to create a link control in your adapter and set the match rules in such a way that it matches every single link that is found in the first column.
Once you have established that matching criteria, you will need to set the use keys property to that control to true.
In automation, you will want to use the get clones method every single time that page is come into creation. If you fail to get the clones when the controls are re-created and attempt to access one of the clones, you will get a nasty "Key not found exception".
Bargavi,
It would require more details to show you how to customize your adapter and automation to work with the tree/grid layout that you currently have, but from the looks of what you presented you need to use cloning for the links that are located within the grid layout.
I would recommend that you become familiar with the cloning material prior to setting up the solution design to work with the grid layout. Below are a few links that goes further into the topic.
Cloned Controls:
http://help.openspan.com/80/Adapters_Interrogation/Win32_Applications_MDIChild_Windows.htm
Interrogating Clone Controls
http://help.openspan.com/80/Adapters_Interrogation/Select_Clone.htm
The ultimate goal is to create a link control in your adapter and set the match rules in such a way that it matches every single link that is found in the first column.
Once you have established that matching criteria, you will need to set the use keys property to that control to true.
In automation, you will want to use the get clones method every single time that page is come into creation. If you fail to get the clones when the controls are re-created and attempt to access one of the clones, you will get a nasty "Key not found exception".
You have to keep in mind, every time the control is created, it is automatically given a new key using the guid of that control. So when the control is removed from the page, that key no longer exist. Calling get clones with each time the control is created will avoid interruption in your automation.
Once you have the clones, you will need to iterate through the list of clones through a list loop and check to see if the clone is the desired clone object to click. You can perform the detection through looking at the properties of each clone to see if it possesses an identifier that lets you know this desired link to click.
Below is an illustration of an automation iterating through a list of cloned radio buttons to determine which of the buttons to click.
Good luck,
--Zach


GE
IN
Thank you for the update. Very useful piece of information. I have a table which can have multiple columns, and I want to clone the columns. How do I do it ? Since I do not get the make prototype for the cells that I interrogate ? (since column wise there is no identification for interrogation). The number of columns that can come in the table is also dynamic.


Pegasystems Inc.
US
Bargavi,
The change in column number will definitely change the schema matching of the table. I would suggest to find a non-dynamic attribute of the table such as element ID or a constant table header to identify the table instead of using html table design schema match rules. I would also suggest to clone individual cells instead of rows, that belong to static columns. Make sure to clone cells that are on the first row and set each of them as a prototype. You will need to make sure to adjust the match rules for the cells so that the cell control matches all cells within that column for each row.
Good luck,
--Zach


GE
IN
Hi Zach,
Thanks for the update. That was really useful. In the process I am not able to find Stringutils1.contains in my toolbox. It will be helpful If you let me know how to bring it into Toolbox.
Thanks,
Bargavi


Pegasystems Inc.
US
The stringUtils is a component available on the Advanced tab of the Toolbox. When you add that to a Global Container or automation, you can then click on it to locate the Contains method in the object explorer window under the methods section.


GE
IN
Find attached the cloning based automation that I have created. When running the same I am getting test did not finish exception. What should I do for the automation unit test to complete ?
Accepted Solution


Pegasystems Inc.
US
You are missing a link coming out of your loop.


GE
IN
Hi,
Yes that was a miss. Have corrected the automation. And still land up in test did not finish result in the unit test case run.
PFA new automation. Kindly help me resolve this issue
Thanks,
Bargavi


Pegasystems Inc.
US
What are the match rules on your ComplaintRecord1 control? Can you posts screenshots of each one and the properties for them? Also, have you enabled the UseKeys property of that control?


GE
IN
Hi,
PFA the match rules, properties of complaintRecord 1. and screenshot of how it looks in the pega application.
Let me know if you need more information.
Thanks,
Bargavi


GE
IN
#Helpme


Pegasystems Inc.
US
That looks like an HTML table housing those records? Is that the case? If so, can you use the HTML table designer to create table sections for each row? Once you do that, close and save the designer. If you interrogate the link after saving the table, then it should appear beneath your table section.


Pegasystems Inc.
US
Instead of String.Equals you might want to use a test for Contains. Output the Inner Text to a message box or look in the logs to see what you are attempting to match. Using the loosest possible compare will help to match there.


GE
IN
Hi Jeff,
Yes I have used the contains instead of equals. I landed with the same test did not finish error.
I tested by giving message dialog with 1 2 3 4. But after message dialog 1 nothing else came and the error test did not finish error displayed.
Trying to understand what is the loose end that I am missing. Kindly help me resolve this.
Thanks,
Bargavi