Gibt es eine Möglichkeit, zur Laufzeit mit Appium von einer Anwendung zu einer anderen Anwendung zu wechseln?So wechseln Sie zur Laufzeit von einer App zu einer anderen App
Dank
Gibt es eine Möglichkeit, zur Laufzeit mit Appium von einer Anwendung zu einer anderen Anwendung zu wechseln?So wechseln Sie zur Laufzeit von einer App zu einer anderen App
Dank
Schließlich fand ich eine genaue Antwort Mai wird es für einige eine
Quelle https://www.linkedin.com/grp/post/6669152-6027319885992841219?trk=groups-post-b-title
// App1 capabilities
String calculatorAppPackageName="com.android.calculator2";
String calculatorAppActivityName="com.android.calculator2.Calculator";
// App2 capabilities
String settingsAppPackageName="com.android.settings";
String settingsAppActivityName="com.android.settings.Settings";
@Before
public void setUp() throws MalformedURLException
{
DesiredCapabilities capabilities = DesiredCapabilities.android();
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Appium");
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "192.168.215.101:5555");
capabilities.setCapability(MobileCapabilityType.APP_PACKAGE, calculatorAppPackageName);
capabilities.setCapability(MobileCapabilityType.APP_ACTIVITY, calculatorAppActivityName);
driver = new AndroidDriver(new URL("http://localhost:4723/wd/hub"), capabilities);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testApp() throws InterruptedException, MalformedURLException
{
//Perform calculation in calculator
driver.findElement(By.name("4")).click();
driver.findElement(By.name("×")).click();
driver.findElement(By.name("3")).click();
driver.findElement(By.name("=")).click();
//launch settings App
driver.startActivity(settingsAppPackageName, settingsAppActivityName);
//Switch OFF WIFI
driver.findElement(By.id("com.android.settings:id/switchWidget")).click();
//Re launch calculator App
driver.startActivity(calculatorAppPackageName, calculatorAppActivityName);
//Validate results
String result = driver.findElement(By.className("android.widget.EditText")).getText();
System.out.println("Result : " + result);
Assert.assertEquals("Incorrect Result", "12", result);
}
sehr nützlich sein,
können Sie Anwendungen ändern, indem die WebDriver mit der neuen Anwendung Attribute neu instanziieren.
Solange Sie den Emulator/Simulator/Gerät nicht schließen/trennen, werden Ihre Benutzerdaten beibehalten.
HALLO jkbz, Vielen Dank für die Antwort :) ich mit JAVA API arbeite, do u eine Idee haben, java Äquivalent webdriver.Remote tun müssen wir die appium Portnummer für die neue Instanz des Treibers verändern = WebDriver .Remote (appiumUrl, dcapabilityApp2 [Neue app Tests] – Sravan
Sie sollten den Port nicht ändern müssen; _appiumUrl_ (oben) ist sowohl von IP und Port. – jkbz
Danke jkbz für die Antwort.Als Teil des zweiten Schrittes kann ich starten, die bereits auf dem Gerät installiert ist, ich habe zu sagen, ich habe keine .app oder .ipa-Datei für diese App, aber es ist installiert Vielen Dank im Voraus –
Die Methode driver.startActivity() kann zum Umschalten zwischen Apps verwendet werden. Für weitere Details, wie es funktioniert, können Sie unten Video sehen.
Watch "Appium Tutorial- Umschalten zwischen Anwendungen (Kontakt und SMS)" auf YouTube https://youtu.be/sH1bHeDDj8U
können Sie verwenden:
driver.startActivity(settingsAppPackageName, settingsAppActivityName);
, um eine andere App mit demselben Code aufzurufen.
Gibt es eine Möglichkeit, dies in iOS zu erreichen? – anavarroma