![](/img/trans.png)
[英]How to launch an android app(not an activity) from the bottom of the screen to top?
[英]How to launch Android app from already opened activity with appium
我有兩個測試用例:
測試案例1:-在Android應用程序上使用憑據登錄,並到達主屏幕。
測試案例2:-當我啟動該應用程序時,應該顯示主頁而不詢問登錄屏幕。
問題:-當我執行appium腳本時,它以登錄屏幕啟動應用程序並到達主屏幕。但是當我再次使用測試用例2執行腳本時,它再次從登錄屏幕啟動。我已經在使用No Reset選項了。
我需要從主屏幕活動中啟動它。每當我在某些活動中遇到錯誤時,都應該從同一時間在同一活動中啟動它。
實際的問題是,當我運行appium功能時,它會從頭開始啟動應用程序,而我需要它應該來自現有活動。 這怎么可能?
有人可以幫我嗎?
問候高拉夫
你能分享你的睾丸嗎? 您是否在代碼中的某個位置driver.close()
@AfterTest
driver.close()
使用driver.close()
,如果可以,可以將其注釋掉並嘗試。
@BeforeTest
public void setup()
{
//your setup logic
}
@Test
public void busiLogic()
{
//business logic
}
@AfterTest
public void tearDown()
{
//dont put driver.close()
}
這是我的假設,即您正在用testscript代碼關閉驅動程序。 請發布您的代碼。 謝謝
似乎正在發生的事情是您應該使用@BeforeClass
和@AfterClass
時使用@BeforeTest
和@AfterTest
。
他們按照他們說的話做。 如果您在appiumDriver
中初始化@BeforeTest
,它將在每次測試 之前啟動一個新會話。 如果您在AfterTest
使用driver.close()
或driver.quit()
關閉/退出會話,則在每次測試后 ,它將被拆除,並且不會在下一個測試中出現。
使用@BeforeClass
和@AfterClass
代替。
您可以設置一個@priority
系統,以確保按特定順序完成測試。 文檔在這里 。
希望這可以幫助,
利亞姆
請分享您對以下代碼的看法:
公共課程Test1 {
Web驅動程序博士;
DesiredCapabilities capabilities;
@Test
public void testapp() throws MalformedURLException, InterruptedException {
File app = new File("D:\\Appium_Automation\\abc.apk");
capabilities= new DesiredCapabilities();
capabilities.setCapability("browserName", "");
capabilities.setCapability("deviceName","samsung-sm_n910g-641dd802");
capabilities.setCapability("platformVersion","5.0.1");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("app",app.getAbsolutePath());
capabilities.setCapability("apppackage","com.sk.test");
capabilities.setCapability("appActivity","com.fp.test.test");
dr = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
dr.manage().timeouts().implicitlyWait(60,TimeUnit.SECONDS);
}
公共課程Test2 {
@Test
public void method1() throws MalformedURLException, InterruptedException {
//Few line Code
}
公共課程Test3 {
@Test
public void method1() throws MalformedURLException, InterruptedException {
//Few line Code
}
第一次,我運行2個類(Test1和Test2),它可以完美地工作並完成套件。 並且腳本狀態為通過。
第二次或運行第二個套件,我想運行Test3類,因此它需要運行Class“ Test1”,但是我希望應用程序不應該重新啟動,並且應該與先前打開的活動一起出現在前台。
請告訴我在第二次運行時應該對Class Test1進行哪些更改,或者需要對appium settimng進行任何更改。我正在使用“不重置”選項
capabilities.setCapability("appActivity","com.fp.test.test");
發生這種情況的原因是,每次您使用此活動啟動應用程序時,只要您請求該應用程序,應用程序都會以登錄屏幕打開,然后嘗試查找該活動,那么每次您啟動該應用程序時,這就像是您的應用程序中的第一個活動(“登錄”屏幕)您可以使用此應用程序進行的首次/登錄活動'https://play.google.com/store/apps/details?id=com.intelloware.apkinfo&hl=en'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.