2011-06-16 2 views
1

J'ai une application iPad pour laquelle j'écris un script UIAutomation. Il y a un UIButton qui montre un UIPopoverController lorsqu'il est tapé. Comment mon script peut-il sélectionner (appuyer sur) un élément à l'intérieur de ce popover?UIAutomation: comment accéder à UIPopoverController?

Editer: UIAPopover n'est pas un enfant de l'UIButton sur lequel il apparaît mais de mainWindow. Donc mainWindow.popover() me l'a donné. La fonction logElementTree() est utile pour le débogage et la recherche d'éléments.

Répondre

3
UIALogger.logMessage("tap state"); 
var state = buttons[0]; 
state.tap(); 

UIALogger.logMessage("wait for State Popover Screen to display"); 
target.delay(1); 

UIALogger.logMessage("scroll to District of Columbia"); 
window.popover().tableViews()[0].scrollToElementWithName("District of Columbia"); 

UIALogger.logMessage("select District of Columbia"); 
var dc = window.popover().tableViews()[0].cells()["District of Columbia"]; 
dc.tap(); 
+0

Après avoir tapé une entrée dans le popover, aucun bouton ne peut plus être touché. Les simplement ne réagissent plus. Quand je prends le code pour tapoter le popover, les boutons fonctionnent. Un bug dans Instruments 4.0 (avec Xcode 4.0.2)? – MacMark

+0

mainWindow.popover.dismiss() aide – MacMark

+0

target.delay (1); n'est pas nécessaire puisque le délai d'attente par défaut est déjà de 5 secondes. – MacMark