2016-04-11 6 views
0
funktioniert

Ich habe versucht, eine unserer App-Module zu implementieren, indem PageFactory mit (für iOS)Seite Factory - wie es

Die meisten Elemente werden mit Namen und andere von Klassenname befindet

Allgemein alles funktioniert (mehr oder weniger), aber die Sache ist, dass der Appium-Server Tonnen von Protokollen hat, es scheint, dass jedes Mal, wenn ich versuche, einige Seitenkontrolle zu verwenden, und alle deklarierten Steuerelemente innerhalb dieser Seite aktualisiert werden Ursache für eine längere Zeitausführung.

Im Fall und ich versuche, mein Test zu debuggen, ist es viel Zeit in Anspruch nimmt Schritt für Schritt zu bewegen (der appium Server arbeitet zusätzliche Stunden ...)

Ich benutze „CacheLookup“, wenn es möglich ...

Wo ist mein Fehler, oder sollte es einfach so sein?

Dank

+1

Dokumentation für Page Factory ist hier: https://github.com/SeleniumHQ/selenium/wiki/PageFactory Was genau ist das Problem, das Sie versuchen zu lösen? – SiKing

Antwort

0

Aktualisiert nicht genug Informationen, um sicher zu sagen, zur Verfügung gestellt. Wenn Sie eine Reihe von Gurkenschritten haben und jeder Schritt eine neue Seiteninstanz erstellt, dann könnten Sie eine Klassenvariable erstellen, um zwischen den Gurkenschritten zu kommunizieren

Klassenvariablen werden am Ende jedes Szenarios rausgeworfen, also kein Cross-Szenario Kontamination. Wenn jedoch ein einzelnes Szenario eine Seite verlässt und zurückkehrt, müssen Sie das Klassenseitenhandle explizit auf null/null setzen, damit es beim erneuten Eintreten auf diese Seite erneut initialisiert wird. Sie möchten veraltete Elementfehler vermeiden.

+0

Was Sie beschreiben, sieht wie "Lazy Loading" aus, was die Page Factory bereits für Sie tut. – SiKing

+0

@SiKing Lazy Initialisierung. Sie brauchen immer noch die Klassenvariable, damit das funktioniert.Site_prism implementiert Lazy Initialisierung in v2.5 auch ja. Ich werde meine Antwort aktualisieren. – MikeJRamsey56