2014-12-30 3 views
1

원래 8 월에 자동 테스트가 작동하고 계속 실행되었습니다. 시간이 지나자 그들은 시대에 뒤졌고 우리는 그들을 보류시켜야했습니다. 나는 다시 일하게하고, Calabash-ios, calabash 서버, 그리고 Calabash 구성 요소를 Xamarin Cloud 구성 요소로 업데이트 한 후에 문제가 발생했습니다. 터치 전화가 더 이상 제대로 작동하지 않습니다. 터치가 목표에서 벗어난 것 같습니다.0.11.4 터치가 가로 방향의 목표를 벗어 났음

예 : 앱의 로그인 버튼을 터치하려고하는데 키보드의 "r"버튼이 눌립니다. 키보드가 버튼을 덮지 않습니다.

here 나는 가로 방향으로 문제가 발생했으나 운이 없다고 생각하여 해결 방법을 시도했습니다.

iOS 8.1을 실행하는 iPad 2 시뮬레이터를 사용하고 있습니다. 나는 또한 7.1을 시도했고 같은 문제가 있었다. 우리는 Xamarin을 사용하여 차이가 나는지 확인합니다.

버전 :

~$ xcode-select --print-path 
/Applications/Xcode.app/Contents/Developer/ 
~$ 
~$ xcodebuild -version 
Xcode 6.1.1 
Build version 6A2008a 
~$ 
~$ calabash-ios version 
0.11.4 
~$ 
~$ curl http://localhost:37265/version 

{ 
    "app_version": "Unknown", 
    "outcome": "SUCCESS", 
    "app_id": "com._______.dev", 
    "simulator_device": "iPad", 
    "version": "0.11.4", 
    "app_name": "_____ Dev", 
    "iphone_app_emulated_on_ipad": false, 
    "4inch": false, 
    "git": { 
     "remote_origin": "[email protected]:calabash/calabash-ios-server.git", 
     "branch": "master", 
     "revision": "bcc992b" 
    }, 
    "screen_dimensions": { 
     "scale": 1, 
     "width": 768, 
     "sample": 1, 
     "height": 1024 
    }, 
    "iOS_version": "8.1", 
    "system": "x86_64", 
    "simulator": "" 
} 

나뿐만 아니라 호리병박 - IOS 콘솔에서 재현 할 수 있습니다.

이러한 명령은 모두 디지털 키보드의 "R"버튼을 클릭

이 명령이 제대로 로그인 버튼을 클릭하는
irb(main):011:0> touch("button marked:'Sign In'") 
[ 
    [0] { 
      "selected" => false, 
      "enabled" => true, 
       "rect" => { 
      "center_x" => 339.6667, 
        "y" => 341, 
       "width" => 58, 
        "x" => 310.6667, 
      "center_y" => 428, 
       "height" => 174 
     }, 
       "id" => nil, 
    "description" => "<UIButton: 0x78f80b00; frame = (509 310.667; 174 58); opaque = NO; layer = <CALayer: 0x78f80ab0>>", 
       "label" => "Sign In", 
       "alpha" => 1, 
       "class" => "UIButton", 
       "frame" => { 
       "y" => 310.6667, 
      "width" => 174, 
       "x" => 509, 
      "height" => 58 
     } 
    } 
] 
irb(main):012:0> tap_point(339, 428) 

:

irb(main):023:0> tap_point(639, 328) 
true 

사람이 같은 것을 본 사람 전에? 또한 물리적 장치를 사용할 때 발생하는 문제는 아닙니다.

답변

0

누구나 전에 본 것과 같은 사람이 있습니까? 또한 물리적 장치를 사용할 때 발생하는 문제는 아닙니다.

예, 우리는 이와 같은 문제에 대한보고를 받았으며, 대부분 0.12.0 사전 릴리스로 해결되었습니다.

당신은 재생하려면 다음을 시도 할 수

$ DEVICE_TARGET="iPad Retina (8.1 Simulator)" bundle exec calabash-ios console 
> start_test_server_in_background({ :uia_strategy => :host }) 

: 기본 전략 : 호스트 전략은보다 느립니다. 그러나 Apple의 UIAAutomation API에있는 몇 가지 버그로 인해 iOS 8 장치에서 작동하는 유일한 전략입니다.

0.12.0 사전 릴리스에는 : 호스트 및 : 환경 설정 전략이 크게 향상되었습니다. 0.12.0이 출시되면 : uia_strategy => : 호스트와 권장 기본값을 사용하여 삭제할 수 있습니다.

UITest의 출시 전 상황이 개선되고 있습니다. 사전 배포판을 지금 사용할 수 있다고 생각합니다. 최신 출시 버전이 무엇인지 모르겠습니다. 나는 내 대답을 물어볼 것이다.

+0

나는 그 방법을 사용하여 동일한 결과를 얻었지만 나는 bundler를 사용하지 않으므로 'bundle exec'는 빠져있다. 현재 시뮬레이터에서 테스트를 실행하는 것은 중요하지 않습니다. 어쨌든 물리적 장치를 주로 테스트 할 것이기 때문입니다. 0.12.0이 출시 될 때까지 기다렸다가 문제가 해결되는지 확인합니다. – jsmall

관련 문제