2017-06-12 9 views
1

Ich versuche, eine hybride mobile App zu automatisieren, und ich habe herumgelesen und eine hybride Anwendung zu automatisieren, die ich Webview und native Ansicht verwenden muss.NoMethodError: undefinierte Methode `switch_to '

Derzeit mit appium_lib in Verbindung mit Ruby und Gurke. Ich laufe @driver.available_contexts und ich bekomme => ["NATIVE_APP", "WEBVIEW_59846.1"].

aber wenn ich versuche, und wechseln Sie in die Webansicht @driver.switch_to.context(webview) bekomme ich folgende Fehlermeldung

NoMethodError: undefined method `switch_to' for #<Appium::Driver:0x007f9c4f236958> 

Kann jemand bitte raten, wo ich falsch gehe? Brauche ich einen bestimmten Edelstein für diese Methode?

+0

Probieren Sie den Code @ driver.set_context ("WEBVIEW_59846.1") – Murthi

+0

Welche Android OS Version Ihres Geräts hat? – Vinod

+0

@Vinod Ich benutze Android API 25 v7.1.1. Ich erhalte jetzt die Meldung Original-Fehler: unbekannter Fehler: Chrome-Version> = 55.0.2883.0 sein muss (Fahrerinfo: chromedriver = 2.28.455517 (2c6d2707d8ea850c862f04ac066724273981e88f), Plattform = Mac OS X 10.12.5 x86_64) 'tun Hast du irgendwelche Vorschläge? Ich werde versuchen, API 26 zu verwenden und zu sehen, ob das als das neueste Android API funktioniert. –

Antwort

1

Wie der Fehler zeigt, gibt es keine switch_to Methode in Appium::Driver Klasse.

Ich glaube, Sie sind für set_context Methode suchen:

@driver.set_context(webview) 

Dies setzt voraus, dass webview hat sich mit dem richtigen Wert gesetzt worden ist (das heißt webview = "WEBVIEW_59846.1").

+0

Ich benutze Android API 25 v7. 1.1. Ich erhalte jetzt die Meldung Original-Fehler: unbekannter Fehler: Chrome-Version> = 55.0.2883.0 sein muss (Fahrerinfo: chromedriver = 2.28.455517 (2c6d2707d8ea850c862f04ac066724273981e88f), Plattform = Mac OS X 10.12.5 x86_64) 'tun Hast du irgendwelche Vorschläge? Ich werde versuchen, API 26 zu verwenden und zu sehen, ob das als das neueste Android API funktioniert. –

+0

@ShafiqAhmedMalik Leider kenne ich diesen Fehler nicht, daher kann ich Ihnen nicht helfen. :(Aber, da der Fehler anders ist, könntest du eine neue Frage stellen (sie sind frei :)) und die Wahrscheinlichkeit, eine Antwort zu erhalten, wird viel höher sein (nicht jeder wird Kommentare in Antworten überprüfen, besonders wenn die Antwort anfänglichen Fehler löst). – Gerry

+0

Ich habe es jetzt funktioniert. Danke für Ihre Hilfe. –

Verwandte Themen