1

연속 통합 서버에서 UITests를 실행하려고합니다 (Bitrise를 사용 중입니다). 내 UITests 중 하나 그래서 나는 다음과 같은 한 : 그것은 즉시 테스트가 실패 CI 서버에서 실행되는 것처럼 내 로컬 컴퓨터에서 잘 작동하지만iIT 에뮬레이터를위한 iOS 에뮬레이터 위치

let myLocationPin = app.otherElements["My Location"] 
     self.expectation(for: exists, evaluatedWith: myLocationPin, handler: nil) 

     self.waitForExpectations(timeout: 20, handler: nil) 

     expect(myLocationPin.exists).to(beTrue()) 
     expect(myLocationPin.isHittable).to(beTrue()) 
     myLocationPin.tap() 

. 그 이유는 실패의 원인은 테스트를 실행하는 에뮬레이터에 선택된 위치가 없다는 것입니다. GPX 파일을 추가하려고했지만 그 중 하나가 작동하지 않았습니다. 어떤 제안?

답변

2

실행하기 전에 드롭 다운 목록에서 로컬 컴퓨터의 위치를 ​​선택 했습니까?

그렇다면 그래픽 UI를 사용하여 비트 라이 트를 수행 할 수 없지만 스키마별로 위치를 선택할 수 있습니다.

당신은 당신의 계획에 위치를 설정하려면이 게시물을 따를 수

: Automating Xcode' Debug > Simulate Location command

업데이트 :이 방법은 위의 문제가 해결되지 않은 경우

는 다른 해결책은 다음과 같습니다

시뮬레이터 자체의 위치를 ​​변경하려면 다음 스크립트를 포함하여 UITest 앞에 script 단계를 추가해야합니다.

# download set-simulator-location 
brew install lyft/formulae/set-simulator-location 

# run simulator 
export IOS_SIMULATOR_UDID=`instruments -s devices | grep "iPhone 6 (10.3) \[" | awk -F '[ ]' '{print $4}' | awk -F '[\[]' '{print $2}' | sed 's/.$//'` 
echo $IOS_SIMULATOR_UDID 
open -a "simulator" --args -CurrentDeviceUDID $IOS_SIMULATOR_UDID 

# wait simulator to start fully 
sleep 15 

# set location 
set-simulator-location -q London 

iPhone 6 (10.3)을 필요한 시뮬레이터로 변경하고 London을 자신의 위치로 변경하는 것을 잊지 마세요. -c 플래그도 좌표를 설정할 수 있습니다. 더 많은 정보를 들어

에 대한 set-simulator-location 방문 : 당신이 당신의 시뮬레이터의 사용자 정의 위치를 ​​원하는 경우에 set-simulator-location

+0

감사합니다. 제안 된 솔루션을 시도했지만 에뮬레이터가 선택된 테스트 위치를 존중하지 않는 것처럼 보입니다. – radioaktiv

0

다음 시뮬레이터를 선택하고이 두 단계를 follor. 답에 대한

enter image description here

enter image description here

및 변경 위치