0
我剛開始使用Calabash,我試圖測試在Genymotion下運行的Android應用程序。Calabash使用查詢命令的意外結果
當運行簡單的測試來啓動應用程序並查看初始屏幕,我可以看到屏幕顯示在Genymotion模擬器但是當我使用該查詢命令
puts(query('*'))
我沒有看到任何的預期的內容(例如屏幕標題)在返回的結果中。
相反,我只看到:
[{"id"=>nil, "enabled"=>true, "contentDescription"=>nil, "visible"=>true, "tag"=>nil, "description"=>"com.android.internal.policy.impl.PhoneWindow$DecorView{52824ec0 V.E..... R
....... 0,0-1080,1920}", "class"=>"com.android.internal.policy.impl.PhoneWindow$DecorView", "rect"=>{"center_y"=>960, "center_x"=>540, "height"=>1920, "y"=>0, "width"=>1080, "x"=>0}}
, {"id"=>nil, "enabled"=>true, "contentDescription"=>nil, "visible"=>true, "tag"=>nil, "description"=>"android.widget.LinearLayout{528127a0 V.E..... ........ 0,0-1080,1920}", "class"
=>"android.widget.LinearLayout", "rect"=>{"center_y"=>960, "center_x"=>540, "height"=>1920, "y"=>0, "width"=>1080, "x"=>0}}, {"id"=>"content", "enabled"=>true, "contentDescription"=>
nil, "visible"=>true, "tag"=>nil, "description"=>"android.widget.FrameLayout{5280cab8 V.E..... ........ 0,0-1080,1920 #1020002 android:id/content}", "class"=>"android.widget.FrameLay
out", "rect"=>{"center_y"=>960, "center_x"=>540, "height"=>1920, "y"=>0, "width"=>1080, "x"=>0}}, {"id"=>"NoResourceEntry-100", "enabled"=>true, "contentDescription"=>"Web View", "vi
sible"=>true, "tag"=>nil, "description"=>"org.apache.cordova.engine.SystemWebView{52821914 VFEDH.C. .F...... 0,0-1080,1920 #64}", "class"=>"org.apache.cordova.engine.SystemWebView",
"rect"=>{"center_y"=>960, "center_x"=>540, "height"=>1920, "y"=>0, "width"=>1080, "x"=>0}}]
我在做什麼錯?
這絕對解決了它。謝謝。但是,這是否意味着葫蘆android的所有罐裝步驟,例如assert_steps不工作?這是我原來的問題。 –
我正在使用「然後我看到文本」步驟,最後調用 query(「* {text CONTAINS [c]''})) in wait_for_text方法。 從你說的話,這應該是: 查詢( 「SystemWebView CSS: '* {文本包含[C] ''}'」) 雖然我真的不明白這會被引用? –
>罐裝步驟。正確。他們不會工作。你應該寫自己的步驟。 – jmoody