2017-04-05 78 views

回答

0

謝謝你們的響應,好像是沒有辦法的主屏幕可以推出,甚至java的機器人鑰匙「命令+ shift + home「不起作用。

所以我不得不寫一個蘋果腳本,當被調用時會在模擬器中啓動主屏幕。

它在這裏

try 
    tell application "System Events" 

     if exists process "Simulator" then 
      tell process "Dock" 
       delay 2 
       set frontmost to true 
       activate 
       tell list 1 
        try 
         perform action "AXShowMenu" of UI element "Simulator" 
         delay 2 
         #click accssibilitytitle "Open" of menu item of menu1 -- up arrow 
         key code 126 -- up arrow 

         key code 126 -- up arrow 

         key code 126 -- up arrow 
         key code 126 -- up arrow 

         key code 126 -- up arrow 
         -- key code 125 -- down arrow     
         delay 2 
         key code 36 -- return key      
        on error errMsg 
         if errMsg contains "Simulator" then 
          log "Simulator is not present in the dock... To run the automation, add Simulator in the dock and try again!!!" 

          return 
         else 
          log errMsg 

          return 
         end if 
        end try 
       end tell 
      end tell 
     end if 


    end tell 
on error errMsg 
    log errMsg 

end try 

tell application "System Events" to tell process "Simulator" 
    tell menu bar item 5 of menu bar 1 
     delay 3 
     click 
     delay 5 
     click menu item "Home" of menu 1 
     delay 3 
    end tell 
end tell 

它能夠通過對目前在被告席上的模擬器圖標點擊右鍵成功地將焦點模擬器,然後從「硬件」菜單中選擇「家」(這是菜單5 )。

0

ios中存在一個限制。我們無法發送關鍵代碼來按ios中的主頁按鈕,並且由於此限制,我們無法自動執行主頁按鈕。但在android中,我們可以使用關鍵代碼實現這一點。在iOS自動化中,我們無法做到這一點。

0

在測試您的應用程序期間,您可以在後臺運行您的應用程序並取回。

要做到這一點,你必須添加

protected IOSDriver iosDriver;

定義後,在後臺

@Test 
@Description("Some Description") 
public void testSearchZeroResultAndHomeBack(){ 

    // run app in background for 5 seconds 
    iosDriver.runAppInBackground(5); 

    Assert.assertTrue(isTextDisplayedOnPage("0 ilan")); 
} 

//運行的應用程序,持續5秒

iosDriver.runAppInBackground(5); 
相關問題