How to access all child objects and get its value?
Hi,
I have to check different parameters values like "device name", "reference" etc from the window(Reference image I have attached). To do so I have spied the panel and it has got 26 child objects. Now I have to traverse through child objects and get their value. Can get_DataContext() function be used?
Experts do pour your comments
Thanks!
ApplicationObject browser window shows Panel(WPFObject("Grid","",1)) with 26 child objectsCode snippet
Please find the below sample code to print the text of all the child objects under particular parent .
def sample():
page = Sys.Browser("*").Page("*")
arrProp = [] #provide a list of property
arrValue = [] #provide a list of values
objParent = page.find(arrProp,arrValue,30)
iChildCount = objParent.ChildCount
for each in len(iChildCount):
Log.Message("Content Text of Child :"+ each + " is : " + str(objParent.Child(each).contentText))
Please find the below sample code to print the text of all the child objects under particular parent .
def sample():
page = Sys.Browser("*").Page("*")
arrProp = [] #provide a list of property
arrValue = [] #provide a list of values
objParent = page.find(arrProp,arrValue,30)
iChildCount = objParent.ChildCount
for each in len(iChildCount):
Log.Message("Content Text of Child :"+ each + " is : " + str(objParent.Child(each).contentText))
I took the individual child by using findChild and compared the desired property which I wanted
//checks for scan result window let WndScan = Aliases.SoMove_Launcher.ScanWnd; if( WndScan.Exists) { //checks for Scan network btn let BtnScan = Aliases.SoMove_Launcher.ScanWnd.ScanDeviceView_WPF.elementHost2.HwndSource_AdornerDecorator.AdornerDecorator.btnScanNetwork; if(BtnScan.Exists) { //clicks on Scan network btn BtnScan.ClickButton(); Delay(1000);
let Grd_Deviceinfo = Aliases.SoMove_Launcher.ScanWnd.ScanDeviceView_WPF.elementHost2.HwndSource_AdornerDecorator.AdornerDecorator.deviceInfoPnl.grd_DeviceinfoPanel; if(Grd_Deviceinfo.ChildCount > 0) { let ObjImg = Aliases.SoMove_Launcher.ScanWnd.ScanDeviceView_WPF.elementHost2.HwndSource_AdornerDecorator.AdornerDecorator.ScanWnd_DeviceHostpanel; Device_img = ObjImg.FindChild("Name", 'WPFObject("btnThumbNail")', 5)
//Checks for Device image if(Device_img.Exists) Log.Message("Device image has appeared by scanning"); else Log.Error("Device's image did not appear after scanning");
//checks for Device name let ObjDevice = Grd_Deviceinfo.FindChild("Name",'WPFObject("lblDevieNameValue")',20); if(ObjDevice.Content == DeviceName) Log.Message("Device Name got displayed as "+DeviceName+" correctly") else Log.Error("Device Name did not get displayed correctly!!")
//checks for Device type let ObjDevicetype = Grd_Deviceinfo.FindChild("Name",'WPFObject("lblDevieTypeValue")',20); if(ObjDevicetype.Content = DeviceType) Log.Message("Device type got displayed as "+DeviceType+" correctly") else Log.Error("Device type did not get displayed correctly!!")
//checks for Reference let ObjRef = Grd_Deviceinfo.FindChild("Name",'WPFObject("lblReferenceValue")',20) if(ObjRef.Content = Reference) Log.Message("Device's Reference got displayed as "+Reference+" correctly") else Log.Error("Device's reference did not get displayed correctly!!")
//checks for DTMversion let ObjDTMVersion = Grd_Deviceinfo.FindChild("Name", 'WPFObject("lblDtmVersionValue")', 20); if(ObjDTMVersion.Content = DTMVersion) Log.Message("Device's DTM version got displayed as "+DTMVersion+" correctly") else Log.Error("Device's DTM version did not get displayed correctly!!")
Log.Message("Settings at Device and DTM end Matched!!")
//clicks on Apply btn on Scan wnd if(Aliases.SoMove_Launcher.ScanWnd.ScanDeviceView_WPF.elementHost2.HwndSource_AdornerDecorator.AdornerDecorator.btnApply.Exists) Aliases.SoMove_Launcher.ScanWnd.ScanDeviceView_WPF.elementHost2.HwndSource_AdornerDecorator.AdornerDecorator.btnApply.ClickButton();
} else Log.Error("Device and DTM settings do not match!!");
} else Log.Error("Scan btn did not found!");
} else Log.Error("Scan Result window did not open!");