Ich habe gerade begonnen, Calabash zu verwenden, und ich versuche, eine Android-App zu testen, die unter Genymotion läuft.Unerwartetes Ergebnis von Calabash mit dem Abfragebefehl
Wenn ich den einfachen Test ausführen, um die Anwendung zu starten und den Startbildschirm sehen, kann ich die Bildschirmanzeige im Genymotion Emulator sehen, aber wenn ich den Befehl Abfrage verwenden
puts(query('*'))
ich nicht einen der sehen erwarteter Inhalt (z. B. der Bildschirmkopf) im zurückgegebenen Ergebnis.
Stattdessen sehe ich nur:
[{"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}}]
Was mache ich falsch?
Das hat es definitiv gelöst. Vielen Dank. Aber bedeutet das, dass alle vorgefertigten Schritte für Calabash-android zB assert_steps funktionieren nicht? Das war mein ursprüngliches Problem. –
Ich benutzte den Schritt "Dann sehe ich den Text", der schließlich Abfrage ("* {Text enthält [c] '')" in Wait_for_text-Methode. Von dem, was Sie sagen, dass dies sein sollte: Abfrage ("SystemWebView css: * {text ENTHÄLT [c] ''} '") obwohl ich, wie würde verstehen nicht wirklich diese zitiert werden? –
> Eingemachte Stufen. Richtig. Sie werden nicht funktionieren. Sie sollten Ihre eigenen Schritte schreiben. – jmoody