2017-12-18 17 views
0

을 사용하여 Safari를 실행 자동화 iOS 모바일 앱의 Appium으로 자동화를 수행하고 있습니다.iOS 모바일 앱에서 appium

에 나는이 필요합니다

  • 이 응용 프로그램을 열
  • 내가 그것을 어떻게 주위를 둘러 보았다하지만 난 그게 불가능하다는 읽어 봤는데 일부 작업을
  • 개방 사파리

을 Apple의 프레임 워크의 한계로 인해 세션 당 둘 이상의 응용 프로그램에 명령을 보낼 수 없습니다.

누구든지이 문제를 해결할 방법을 알고 있습니까? 또는 내가 읽은 것이 100 % 사실이 아니라면.

답변

0

세션 당 둘 이상의 앱에 명령을 보낼 수 없습니다.

사실 그게 전부,하지만 당신은 단일 테스트2 세션에게을 실행할 수 있습니다

  1. 이 앱
  2. 에 무엇을해야 응용 프로그램 기반 기능
  3. 을 함께 appium 드라이버의 인스턴스를 생성
  4. 종료 드라이버
  5. 브라우저를 사용하는 appium 드라이버 인스턴스 생성 기반 기능
  6. 당신이 그것을처럼 보일 수 있습니다
  7. 가 빠른 방법으로 드라이버

종료 사파리에서 무엇을해야 : 대답에 대한

@Test 
public void testBothAppAndSafari() throws MalformedURLException { 
    URL appiumServerUrl = new URL("<your appium server host>"); 
    DesiredCapabilities appCaps = new DesiredCapabilities(); 
    // put required native app capabilities in appCaps 
    DesiredCapabilities safariCaps = new DesiredCapabilities(); 
    // put required safari capabilities in safariCaps 

    IOSDriver driver = new IOSDriver(appiumServerUrl, appCaps); 
    driver.findElement(<locator for element in native app>).click(); 
    // do whatever you want with mobile app 
    driver.quit(); 

    driver = new IOSDriver(appiumServerUrl, safariCaps); 
    driver.findElement(<locator for element in web>).click(); 
    // do whatever you want in safari 
    driver.quit(); 
} 
+0

아, 이해가됩니다. 한 번의 테스트에서 2 세션을 실행하는 방법에 대한 예를 들려 줄 수 있습니까? 또는 어딘가로 나를 리디렉션 어떻게 완료 볼 수 있습니까? 대답을 주셔서 감사합니다 –

+0

답변에 자바 예제를 추가했습니다. – dmle

+0

** 루비 **에서이 작업을 거의하고 있습니다. 사파리가 실행되지 않는 두 번째 드라이버를 만들 때 그냥 종료됩니다. 왜 이런 일이 일어날 지 아십니까?어쨌든, 답을 많이 주셔서 감사합니다. 거대한 도움이되었습니다 !! –

0

당신은 다음과 같은 방법을 사용할 수 있습니다,

  1. 만든이 설치 응용 프로그램에 대한 하나 사파리 다른.
  2. 먼저 출시 응용 프로그램과 수행 작업 브라우저 활동을 수행
  3. 사파리 다시 새로운 Appium 객체를 생성
  4. 분명 첫 번째 세션
  5. (초 설정 전화)
  6. 닫기 사파리 appium 세션
+0

감사합니다, 그것은 의미가 있지만 난 정말 안 '앱을위한 두 가지 설치 프로그램과 사파리를위한 두 가지 설치 프로그램을 만들었다 '는 말의 의미를 이해하십시오. : P –