I have a simple function that should check if the view is in the home interface, and if not, bring it to home:
function returnHome() { if (UIATarget.localTarget().frontMostApp().navigationBar().name() == mainTitle) return true; // set tab bar to calculations UIALogger.logMessage("Set tab bar to main."); if (UIATarget.localTarget().frontMostApp().tabBar().selectedButton().name() != mainTabName) { UIATarget.localTarget().frontMostApp().tabBar().buttons()[mainTabName].tap(); } // go back to the home UIALogger.logMessage("Go back to home."); var backButton = UIATarget.localTarget().frontMostApp().mainWindow().buttons()["Back"]; if (backButton.isValid()) { backButton.tap(); } else { UIALogger.logError("Could not find 'Back' button!"); } }
Now I can’t get past the error “Could not find the back button!” He was there, in the left corner, looking directly at me and mocking me!
UIATarget.localTarget().frontMostApp().logElementTree() gives me the following tree:
2) UIAApplication [name:MyApplication value:(null) rect:{{x:0, y:20}, {width:320, height:460}}] 3) UIAWindow [name:(null) value:(null) rect:{{x:0, y:0}, {width:320, height:480}}] 4) UIAImage [name:(null) value:(null) rect:{{x:0, y:108}, {width:320, height:367}}] 4) UIANavigationBar [name:(null) value:(null) rect:{{x:0, y:64}, {width:320, height:44}}] 5) UIASegmentedControl [name:(null) value:(null) rect:{{x:5, y:71}, {width:310, height:30}}] 6) UIAButton [name:SementedControllerTagC, 3 of 3 value:(null) rect:{{x:212, y:71}, {width:103, height:30}}] 6) UIAButton [name:SementedControllerTagB, 2 of 3 value:(null) rect:{{x:109, y:71}, {width:102, height:30}}] 6) UIAButton [name:SementedControllerTagA, 1 of 3 value:1 rect:{{x:5, y:71}, {width:103, height:30}}] 4) UIATableView [name:Empty list value:rows 1 to 2 of 3 rect:{{x:15, y:169}, {width:290, height:247}}] 5) UIAButton [name:XYZ value:(null) rect:{{x:20, y:121}, {width:280, height:46}}] 5) UIATableGroup [name:SomeText value:(null) rect:{{x:15, y:169}, {width:290, height:50}}] 6) UIAStaticText [name:SomeText value:(null) rect:{{x:25, y:197}, {width:270, height:22}}] 5) UIATableCell [name:A value:(null) rect:{{x:15, y:219}, {width:290, height:50}}] 6) UIAElement [name:B value:(null) rect:{{x:15, y:219}, {width:247, height:50}}] 6) UIAButton [name:more info, A value:(null) rect:{{x:262, y:219}, {width:43, height:50}}] 5) UIATableCell [name:X value:(null) rect:{{x:15, y:269}, {width:290, height:50}}] 6) UIAElement [name:Y value:(null) rect:{{x:15, y:269}, {width:247, height:50}}] 6) UIAButton [name:more info, B value:(null) rect:{{x:262, y:269}, {width:43, height:50}}] 4) UIAButton [name:(null) value:(null) rect:{{x:85, y:339}, {width:150, height:32}}] 4) UIAImage [name:(null) value:(null) rect:{{x:0, y:334}, {width:320, height:97}}] 4) UIAStaticText [name:SomeText value:(null) rect:{{x:45, y:377}, {width:189, height:21}}] 4) UIAStaticText [name:SomeText value:(null) rect:{{x:45, y:406}, {width:230, height:21}}] 4) UIAStaticText [name:SomeText value:(null) rect:{{x:234, y:377}, {width:41, height:21}}] 4) UIAStaticText [name:(null) value:(null) rect:{{x:0, y:0}, {width:0, height:21}}] 4) UIAStaticText [name:(null) value:(null) rect:{{x:45, y:377}, {width:230, height:21}}] 4) UIAStaticText [name:(null) value:(null) rect:{{x:45, y:406}, {width:230, height:21}}] 4) UIANavigationBar [name:mainNavigationBar value:(null) rect:{{x:0, y:20}, {width:320, height:44}}] 5) UIAStaticText [name:mainNavigationBar value:(null) rect:{{x:108, y:28}, {width:105, height:27}}] 5) UIAButton [name:Back value:(null) rect:{{x:5, y:27}, {width:49, height:30}}] 4) UIATabBar [name:(null) value:(null) rect:{{x:0, y:431}, {width:320, height:49}}] 5) UIAButton [name:tab1 value:1 rect:{{x:2, y:432}, {width:103, height:48}}] 5) UIAButton [name:tab2 value:(null) rect:{{x:109, y:432}, {width:102, height:48}}] 5) UIAButton [name:tab3 value:(null) rect:{{x:215, y:432}, {width:103, height:48}}]
The back button is clearly displayed in the log, but I do not get the proper link. Can someone point me in the right direction? Am I doing something wrong? FYI, I tried to access the buttons () from frontMostApp (), mainWindow () and navigationBar (). All failed.