2016-08-09 6 views
0

calabash-android를 사용하여 android app 용 자동화 테스트 스크립트를 개발할 계획입니다. enter image description herecalabash-android 님이 WebView 세부 정보를 얻는 방법

내가 호리병박 콘솔에서 '쿼리 "*"'하려하지만 버튼에 대한 정보를 얻을 수 없습니다 하지만 난/터치 아래 페이지에서 "등록"버튼을 조회하는 방법을 모르겠어요. 검색어 출력 :

irb(main):002:0> query "*" 
[ 
    [0] { 
         "id" => nil, 
        "enabled" => true, 
     "contentDescription" => nil, 
        "visible" => true, 
         "tag" => nil, 
       "description" => "com.android.internal.policy.impl.PhoneWindow$De 
corView{b11eeb10 V.E..... R.....I. 0,0-768,1134}", 
        "class" => "com.android.internal.policy.impl.PhoneWindow$De 
corView", 
         "rect" => { 
      "center_y" => 617, 
      "center_x" => 384, 
       "height" => 1134, 
        "y" => 50, 
       "width" => 768, 
        "x" => 0 
     } 
    }, 
    [1] { 
         "id" => nil, 
        "enabled" => true, 
     "contentDescription" => nil, 
        "visible" => true, 
         "tag" => nil, 
       "description" => "android.widget.LinearLayout{b10779d0 V.E..... . 
.....I. 0,0-768,1134}", 
        "class" => "android.widget.LinearLayout", 
         "rect" => { 
      "center_y" => 617, 
      "center_x" => 384, 
       "height" => 1134, 
        "y" => 50, 
       "width" => 768, 
        "x" => 0 
     } 
    }, 
    [2] { 
         "id" => "content", 
        "enabled" => true, 
     "contentDescription" => nil, 
        "visible" => true, 
         "tag" => nil, 
       "description" => "android.widget.FrameLayout{b1234b00 V.E..... .. 
....I. 0,0-768,1134 #1020002 android:id/content}", 
        "class" => "android.widget.FrameLayout", 
         "rect" => { 
      "center_y" => 617, 
      "center_x" => 384, 
       "height" => 1134, 
        "y" => 50, 
       "width" => 768, 
        "x" => 0 
     } 
    }, 
    [3] { 
         "id" => nil, 
        "enabled" => true, 
     "contentDescription" => nil, 
        "visible" => true, 
         "tag" => nil, 
       "description" => "android.widget.LinearLayout{b11ecf40 V.E..... . 
.....I. 0,0-768,1134}", 
        "class" => "android.widget.LinearLayout", 
         "rect" => { 
      "center_y" => 617, 
      "center_x" => 384, 
       "height" => 1134, 
        "y" => 50, 
       "width" => 768, 
        "x" => 0 
     } 
    }, 
    [4] { 
         "id" => "NoResourceEntry-6", 
        "enabled" => true, 
     "contentDescription" => "Web View", 
        "visible" => true, 
         "tag" => nil, 
       "description" => "org.apache.cordova.inappbrowser.InAppBrowser$6$ 
5{b108af68 VFEDHVC. .F....I. 0,0-768,1134 #6}", 
        "class" => "org.apache.cordova.inappbrowser.InAppBrowser$6$ 
5", 
         "rect" => { 
      "center_y" => 617, 
      "center_x" => 384, 
       "height" => 1134, 
        "y" => 50, 
       "width" => 768, 
        "x" => 0 
     } 
    } 
] 

몇 가지 제안 사항을 보내주십시오. 고마워요!

+0

앱 : 기본 또는 하이브리드입니까? –

+0

하이브리드. 감사! – Stephen

답변

0

귀하의 앱이 하이브리드 앱이라고 생각하면 이에 대한 답변을 드리겠습니다. 이 기능이 기본 앱에서 작동하는지 잘 모르겠습니다. 나는 그것을 의심한다.
당신이이 명령을 사용한다 DOM의 모든 요소에 대한 몇 가지 정보를 얻고 싶다면 : 그 명령은 웹보기의 모든 요소 배열을 반환합니다

query("systemWebview css:'*'") 

합니다.

query("systemWebview css:'*' {textContent CONTAINS 'Register'}") 

확인 결과 말씀 : 당신이는 TextContent은이를 실행해야합니다 (당신이 그것을 쉽게 찾는 데 도움이됩니다) 단어 등록을 포함 요소만을 얻고 싶다면 당신은 등 클래스, ID를 얻을 수 있습니다 나 : 당신이 원하는 것입니까?

+0

호화로운 콘솔에서 두 개의 명령을 확인했지만 아무것도 반환하지 않았습니다. 그냥 빈 [] – Stephen

+0

음. 우선, 하이브리드 앱이라고 확신합니까? 다른 방법으로 앱에서 웹보기를 표시하지 않습니다. –

+0

이 앱 유형을 어떻게 확인할 수 있습니까? 나는이 일에 초보자이다. – Stephen