0
votes

Téléphone Android: Comment ouvrir une application sans installation (comme il est déjà installé) à l'aide de l'appui

scénarios à automatiser est:

J'ai installé une application et connectée avec succès. Il existe une fonctionnalité "Verrouillage de l'application" qui ferme l'application. J'ai cliqué sur l'application Verrouillage et l'application est fermée. Maintenant, J'ai besoin d'ouvrir une application à nouveau sans installer et connecter. Strong> p>

dans un scénario court est comme:
1. Installez et connectez-vous à l'application.
2. Fermez l'application.
3. Réouvrez l'application. P>

Résultat attendu: strong>

L'application doit être ouverte et l'écran de connexion après la connexion doit être affiché p>

réel: strong>

Utilisé ci-dessous Capacité, mais l'application est réinstallée et l'écran d'inscription (Prelogin) est affichée p>

i Recherche de réponse et trouvé ci-dessous Capacité, mais cela n'a pas fonctionné. P>

    File appDir = new File(appDirr);
    File app = new File(appDir, "appName");
    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setCapability("deviceName", "Samsung Galaxy S8");
    caps.setCapability("appPackage", "appPackageName");
    caps.setCapability("appActivity", "appActivityName");
    caps.setCapability("platformName", "Android");
    caps.setCapability("app", app.getAbsolutePath());
    appiumDriver = new AppiumDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);


0 commentaires

4 Réponses :


0
votes
capabilities.setCapability("noReset", "true");
Use this capability. Your app is not installed every test.If you want to close the app when run the test so you should driver.closeApp().
And open the app again use to driver.launchApp() method.

1 commentaires

Merci de suggestion mais capacités.SetCapability ("noreset", vrai); Cette capacité n'a pas fonctionné



0
votes

Suppression de la capacité suivante: xxx

Utilisez cette méthode: xxx

Vous devez connaître votre application AppPackage et appactiviténame .

AppPackage et AppactivitéName


8 commentaires

"Startactivité" consiste à jeter une erreur à ma fin. Erreur est "La méthode startactivité (activité) est indéfinie pour le type AppiumDriver" et la version client Java est 7.0.0


Mise à jour de la réponse, veuillez utiliser la capacité et appelez simplement .Launch_app ()


CapitalesC.SetCapability ("App", App.getaBsolutePath ()) Toujours désactivé.


J'ai essayé d'ajouter ces 4 lignes CAPSCAPIBILITÉS CAPS = NOUVEAUX CAPPAPIBILITÉS (); CAPS.SETCAPPABILITÉ ("AppPackage", AppPackage); CAPS.SETCAPPABILITÉ ("Appactivité", Appactivité); appiumdriver.launchapp (); Mais il m'a toujours pris sur l'écran d'inscription


.Launchapp (); Il apportera à l'activité principale (à l'origine de votre application), je pense que vous voulez retour à la dernière activité, il réalisera par startactivité


Pouvons-nous utiliser .startactivité dans le client Java 7.0.0 car il se jette une erreur pour moi "La méthode startactivité (activité) est indéfinie pour le type AppiumDriver"


Est-il possible que vos initiales de votre conducteur aient été modifiées? Si oui, essayez, essayez de modifier AppiumDriver AppiumDriver à AndroidDriver AppiumDriver;


Hey Frianh, il suffit d'app apackage; un tel que le code a fonctionné pour moi. Merci pour vos efforts!



0
votes

Si vous ne voulez pas d'appium pour faire quoi que ce soit avec l'application, vous pouvez envisager de définir le paramètre autolaunch Capacité souhaitée à FALSE

Autolaunch - Initialisation automatiquement de l'application. Appium n'installe pas / lance l'application sous test si cela est faux. Par défaut est vrai

Lorsque vous souhaitez lancer l'application, vous pouvez utiliser AndroidDRiver.Launchapp () fonction


0 commentaires

0
votes

Vous pouvez utiliser cette approche suivante

1. Install the application and login successfully. lock app using "App Lock"  

2. Open application again without installing by using adb command to launch the activity like below example 


2 commentaires

Nous avons construit une méthode personnalisée pour exécuter le code ADB que nous utilisons,


actions.execuTeadbCommands ("adb shell am start -n com.android.chrome/com.google.android.apps.chrome.main");