公告
财富商城
积分规则
提问
发文
2020-05-23 16:01发布
爷的心禁止访问
Is there any possibility to switch from one application to another application at run time using Appium.
Thanks
Finally I found accurate answer, May it will be usefull for some one
source 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); }
You can use:
driver.startActivity(settingsAppPackageName, settingsAppActivityName);
to invoke another app withing the same code.
driver.startActivity() method can be used to switch between apps. For more details how it works you can check below video.
Watch "Appium Tutorial- Switching between apps (Contact and SMS)" on YouTube https://youtu.be/sH1bHeDDj8U
You can change applications by re-instantiating the webdriver with the new application's attributes.
driver = webdriver.Remote(appiumUrl,dcapabilityApp1) [Your tests] driver = webdriver.Remote(appiumUrl,dcapabilityApp2) [New app tests]
As long as you don't close/disconnect the emulator/simulator/device then your user data will be maintained.
最多设置5个标签!
Finally I found accurate answer, May it will be usefull for some one
source https://www.linkedin.com/grp/post/6669152-6027319885992841219?trk=groups-post-b-title
You can use:
to invoke another app withing the same code.
driver.startActivity() method can be used to switch between apps. For more details how it works you can check below video.
Watch "Appium Tutorial- Switching between apps (Contact and SMS)" on YouTube https://youtu.be/sH1bHeDDj8U
You can change applications by re-instantiating the webdriver with the new application's attributes.
As long as you don't close/disconnect the emulator/simulator/device then your user data will be maintained.