2017-10-09 16 views
0

J'ai un cas d'utilisation simple. Dans l'application Android, appuyez sur un bouton et l'application du navigateur va ouvrir une URL.Appium: traitant des interactions du système Android

La boîte de dialogue "Ouvrir avec" apparaît et vous permet de sélectionner Navigateur ou Chrome.

Android Popup: Open with

qui ressemble à ceci dans l'inspecteur de appium:

<android.widget.ListView resource-id="android:id/resolver_list"> 
    <android.widget.LinearLayout> 
     <android.widget.ImageView resource-id="android:id/icon"> 
     <android.widget.LinearLayout> 
      <android.widget.TextView resource-id="android:id/text1"> 
    <android.widget.LinearLayout> 
     <android.widget.ImageView resource-id="android:id/icon"> 
     <android.widget.LinearLayout> 
      <android.widget.TextView resource-id="android:id/text1"> 

Toute tentative d'automatiser cela semble comme il devrait être trivial, mais me causer des ennuis. Je peux obtenir le texte de "Browser" et "Chrome" comme discret AndroidElement s, mais je ne peux pas sembler être en mesure d'appuyer sur les options réelles.

Suis-je autorisé à interagir réellement avec ces choses ou est-ce impossible parce que cela fait partie du système android lui-même?

Pour vous aider à comprendre cela, voici la configuration de mon objet page.

@AndroidFindBy(id = "android:id/resolver_list") 
private AndroidElement listParentElement; 

public List<OpenWithOption> getOptions() { 
    /* ... */ 
    List<MobileElement> elements = listParentElement 
      .findElementsById(SYS_ID_PREFIX + "text1"); // Here's where I can only get the text element itself but can't figure out how to get the elements above that. 
    return elements.stream() 
      .map(mobileElement -> new OpenWithOptionImpl(mobileElement.getText(), mobileElement)) 
      .collect(toList()); 
} 

Répondre

0

C'était une erreur de débutant. Sélection du navigateur activé le choix de "Juste une fois" ou "Toujours" dans le bas de l'écran et je n'ai pas remarqué. Je pensais que juste en appuyant sur le navigateur que vous vouliez le lancer.

enter image description here