Ask a Question

How to extract selector from name property of web object

SOLVED
DanNad
Occasional Contributor

How to extract selector from name property of web object

I have troubles getting the selector from the name property.
Example name property: FindElement("[data-test=\'scene-list-panel-header\'] > [data-test=\'list-panel-header-action\']")

 

What i try to do is to use the selector for the .FindElement() but before that adding its child to the xpath.
This would looke something like (only for example):

 

var nameProperty = GetNameProperty(ListItemObject) // -> which will result having the value like e.g.: FindElement("//*[@data-test=\'scene-list-item\' and @data-test-scene-anker=\'TestAnker\' and descendant::*[@data-test=\'scene-list-item-subject\' and normalize-space(text())=\'TestSubject\']]")

//then remove all unnecessary signs/characters
var cleanXpath = aqString.Remove(NameProperty, "\\", "");
cleanXpath = aqString.Remove(cleanXpath, "FindElement(\"", "");
cleanXpath = aqString.Remove(cleanXpath, "\")", "");

// as last step i want to use the .FindElement() method to get the correct button
var mainPage = NameMapping.System.Browser.MainPage; //main page object to use the .FindElement method on

var childXpath = "//*[@data-test='scene-list-item-edit-button']

var correctButton = mainPage.FindElement(cleanXpath+childXpath);

 


I know i could use the FindChildByXpath method instead, but it seems to be unreliable (sometimes my test finds the child and sometimes it cant find the child)

My problem here is that i cant seem to run the aqString.Remove method on the name property. When i try to remove the back slashes aqString.Remove throws a type conflict error


Is there maybe a better way to get the clean xpath/selector from the name property?

1 ACCEPTED SOLUTION

Accepted Solutions
DanNad
Occasional Contributor

Re: How to extract selector from name property of web object

I managed to remove the backlslashes by using JScript's .remove() method instead.

-> testString.replace(/\\/g,"");

View solution in original post

2 REPLIES 2
DanNad
Occasional Contributor

Re: How to extract selector from name property of web object

I managed to remove the backlslashes by using JScript's .remove() method instead.

-> testString.replace(/\\/g,"");

View solution in original post

sonya_m
Community Manager

Re: How to extract selector from name property of web object

Thank you for sharing!


Sonya Mihaljova
Community and Education Specialist

Did my reply answer your question? Give Kudos or Accept it as a Solution to help others. ⬇️⬇️⬇️
cancel
Showing results for 
Search instead for 
Did you mean: