Ich habe eine Tabelle mit mehreren Spalten und mehreren Zeilen, die Zeilen sind in Repeater und jede Zeile hat die gleiche Klasse. Grundsätzlich automatisiere ich einen Suchfunktionalitätstest im Winkelmesser und möchte sehen, ob der gesuchte Wert in den gegebenen Ergebnissen vorhanden ist. Also im Grunde muss ich in jede Klasse oder Repeater sichtbar gehen und nach einem Wert suchen? Wenn der Wert in einem der Elemente vorhanden oder enthalten ist, die der Test besteht, schlägt der Test fehl.Suche nach einem Wert nach Klasse oder Repeater in Winkelmesser?
Antwort
Angenommen, Ihre Suchbegriff wird „SearchKey“ und die Ergebnisse werden in einer Liste von Elementen wie angezeigt unter
<li class="file" ng-repeat="result in results" ng-class="{blahblah}">
<li class="file" ng-repeat="result in results" ng-class="{blahblah}">
<li class="file" ng-repeat="result in results" ng-class="{blahblah}">
Ihr Testfall sollte Behauptung etwas wie
unten haben var xpathExp = "//li[contains(.,'" + SearchKey + "')]"
expect(element(by.xpath(xpathExp).isDisplayed()).to.eventually.be.true;
Wenn Sie fragen, was Locator zu wählen - „durch Repeater“ oder eine „von Klasse“, allgemein gesprochen, die Wahl würde davon abhängen, wie deutlich und lesbar eines Repeaters und Klasse du hast verfügbar.
Zum Beispiel, wenn Sie item in items
Repeater und product
Klasse haben, würde es die product
-Klasse verwendet werden bevorzugt, da item in items
einen Repeaters zu allgemein ist und möglicherweise nicht auf der Seite im Moment oder in Zukunft deutlich sein (Dies könnte eines Tages eine Überraschung sein und zu einem Haarausfall beim Debuggen führen.
Oder das Gegenteil Beispiel, wenn Sie product in products
Repeater und col-md-1
Klasse haben, dann ist die „durch Repeater“ Locator bevorzugt werden würde, da col-md-1
Klasse ein UI- und orientierte Klasse Layout- und enthalten oder bringt keine „Daten“ -genaue Informationen; und es wird eher in der Zukunft geändert werden.
Ein weiterer Punkt ist, dass der „durch Repeater“ Locator Ihre Tests noch mehr gebunden an AngularJS, aber das „von Class“ -Ansatz ist Agnostiker ein bisschen mehr Generika und machen würde, was die Anwendung gebaut auf.
- 1. Suche nach Winkelmesser Testrekorder
- 2. Suche nach einem leeren Wert in Discover
- 3. Suche nach einem Wert in gesegnetem Hash
- 4. Suche nach einem Wert in zwei Spalten
- 5. uncaughtException nach einem Winkelmesser-Lauf
- 6. Suche nach doppeltem Wert
- 7. Repeater Trennelement nach vorherigem Wert ausblenden
- 8. Suche nach ID oder nach Objekt
- 9. Suche nach einem Wert in einem Objekt-Array. (vanilla Javascript)
- 10. Suche nach einem Wort
- 11. indexof Suche nach mehr Wert
- 12. Suche in allen Tabellen nach einem Wert mit einem Spaltennamen
- 13. Excel VBA - Suche nach einem Wert in einem Array
- 14. Firebase Suche nach Kind Wert
- 15. Suche nach Schlüssel mit einem Wert unter mehreren Wert
- 16. Von einem Repeater nach Excel exportieren?
- 17. Suche in jeder Zeile einer Datentabelle nach einem Wert
- 18. Suche nach einem bestimmten Wert in JSON-Datei
- 19. Winkelmesser Rückkehr Array von Werten von Repeater
- 20. Suche nach hash in einem Array von Wert
- 21. Suche nach einem bekannten Schlüssel-Wert-Paar in JSF
- 22. Suche assoziative Array nach Wert
- 23. WP_Query Suche nach meta_key Wert
- 24. Suche nach einem PK oder FK in allen Datenbanktabellen
- 25. HTML Wert der Suche nach
- 26. Suche nach benutzerdefinierten Header-Wert in notmuch
- 27. Suche nach einem Minimalwert in einer Unterabfrage
- 28. Checkbox im Repeater mit Winkelmesser
- 29. Suche nach fehlenden Werten in einem Array
- 30. Suche nach der spezifischsten Klasse in Java
Was genau sind Sie gefragt/brauchen Hilfe bei? Kannst du ein Beispiel geben, Code anzeigen? Ja, Sie können entweder nach [Repeater] (http://www.protractortest.org/#/api?view=ProtractorBy.prototype.repeater) oder nach [class/css] suchen (http://www.protractortest.org/#). /api?view=webdriver.By.css) – Gunderson
Dies ist eine sehr vage Frage. Ich empfehle Ihnen, ein bestimmtes Problem zu beheben, nachdem Sie versucht haben, eine Lösung zu programmieren. –
Bearbeitet den Beitrag @Gunderson – Gudzo