Memo zur Studiensitzung: Kansai Java Engineers Association 8/5 - Selenium

Einführung

In Seki Java dieses Monats wurde Selen vorgestellt. Ich denke, dass dies für Ingenieure nützlich sein wird, die an E2E-Tests mit einer Vielzahl von Inhalten arbeiten, wie z. B. Selenides Anwendungsfällen vor Ort und Trends des Selenium-Projekts. Ab der Mitte ist der Akku des Mac nicht ausreichend und es handelt sich um eine grobe Notiz. Es tut mir Leid.

Überblick

Kansai Java Engineers Association 8/5 - Selenium Datum: 05.08.2017 (Sa) 14: 00-17: 00 Uhr Ort: Mietkonferenzraum "Use Tsu" Fuji Co., Ltd.

Fragebogen zum Veranstaltungsort

Leute, die es benutzt haben

Was ich im Test mit Selenide entwickelt habe und was ich versuche zu tun

Moderator: backpaper0

Was ist Selenide?

Weitere Informationen finden Sie unter [Web + DB Press Vol.100 "[9.] Automatischer Browsertest mit Selenide ... Von der Verwendung zu Problemen im Feld"](http://gihyo.jp/magazine/wdpress/archive/2017 / vol100) gepostet

Aktuelle Bemühungen

Entwickelt werden

Ich möchte überprüfen, ob die Seite wie erwartet angezeigt wird

Überprüfen Sie dies, indem Sie den Bildschirmnamen in das Metaelement einfügen ⇒ Da es sich um eine Geschäftsanwendung handelt, ändert sich das Titel-Tag nicht für jeden Bildschirm

Ich möchte auf den Abschluss der Erstverarbeitung warten

Ich habe shouldBe verwendet, da die ursprünglich angezeigten Daten auch von Ajax erfasst werden. Es wird erneut versucht, ohne zu warten.

//Überprüfen Sie den Status
$("#state").shouldBe(exactText("initialized"))

IE funktioniert nicht wie erwartet

--Chrome kann gut getestet werden

Für IE

Ich kann nicht richtig eingeben, wenn ich die val-Methode aufrufe (Wenn Sie mit sendKey jeweils ein Zeichen eingeben, funktioniert dies ...) ⇒ Da Sie Command mit Commands # add überschreiben können, hacken Sie dies und passen Sie das Verhalten des IE an

IE ist langsam

(Zum Teil, weil ich Command gehackt habe)

Remote-Ausführung auf einem anderen PC

Ich möchte den Testlauf ausführen, sobald ich den Code von VCS ausgecheckt habe

Es ist mühsam, die Einstellungsdatei entsprechend der Umgebung neu zu schreiben

--Verwenden Sie den "Zustand" und das "Profil" von Spring Boot --Stellen Sie die Basis-URL, den Zielbrowser usw. mit "TestRule" ein

if (System.getProperty("selenide.baseUrl") == null) {
  System.setProperty("selenide.baseUrl", "http://localhost:8080");
}

von jetzt an

--DBUnit zur Eingabe von Testdaten und zur Überprüfung der DB

Beispiel) Nachdem Sie einen Selektor mit einer Anmerkung in das Seitenobjekt geschrieben haben, rufen Sie den Wert ab und legen Sie ihn in dieser Variablen fest

※Bild

Setzen Sie den Wert auf foo("Huh")
.Klicken Sie auf die Leiste()

Frage

F. Gab es etwas Instabiles (Langsames), das auf asynchrone Verarbeitung wartete?

Frage: Wie gehst du mit deinem Sukusho um?

F. Ist es möglich, durch Hochladen von Dateien D & D oder mehrere Dateien hochzuladen?

――D & D verwendet eine gemeinsame Bibliothek, sodass sie möglicherweise vom Testziel ausgeschlossen wird.

F. Kann ich mich bei BASIC authentifizieren?

Frage: Verwenden Sie kopflos?

F. Wird der Testcode zum Zeitpunkt der Implementierung vom Implementierer geschrieben?

Frage: Warum haben Sie sich für Selenide entschieden?

Beispiel für die Entwicklung einer DSL-ähnlichen E2E-Testinfrastruktur durch Selenide in Osaka

Moderator: @ shimashima35 Präsentationsmaterial

Die ursprüngliche Geschichte ist der folgende Artikel Beispiel für die Entwicklung einer automatischen DSL-ähnlichen E2E-Testinfrastruktur von Selenide

Zweck der Infrastrukturentwicklung

Hierarchisches Seitenobjektmuster eingeführt

BasePage

--Abstrakte Klasse

Page

Eliminierung des direkten Betriebs von Selen / Selenid

--Page Object verbirgt die Selen / Selenide-Implementierung vor Testszenarien

Voll japanische Methode

Datenregistrierung durch Pseudo Builder Pattern

--Erstellen Sie die im Testszenario verwendeten Daten innerhalb des Szenarios

Vereinheitlichung gängiger Bildschirmelemente durch Mix-In

Feines Objekt von Bildschirmelementen

Objektivieren Sie den Rückgabewert für Pseudo-DSL

--IDE Komplement kann verwendet werden

Aufnahmefunktion

Nach der Gründung der Stiftung ...

――Ich habe die Grundlage geschaffen, aber die Implementierung des Szenarios wurde nicht fortgesetzt

Eine Geschichte, die durch die Einführung von FluentLenium beunruhigt wurde.

Moderator: @kitkat_twit

FluentLenium

Vorbereitung der Testdaten

--DBUnit ... Große Datenmenge --DBSetup… DAO / Repository-Komponententest

Abwicklung von Testprojekten

⇒ Ist es nicht besser, ein anderes Projekt zu haben? Abgesehen davon ist es jedoch leicht zu vergessen, es zu bewegen.

Ersatz für den Selenium Committer Day 2017 in Osaka

Moderatorin: Naoya Kojima / @jugemix

Frühere Geschichte: [Comitter spricht über die Gegenwart und Zukunft des Selen-Berichts "Selenium Committer Day 2017"](ttp: //gihyo.jp/news/report/2017/07/2601)

Jim Evans - Die Zukunft des Selens

Jim Evans ... Ehemalige MS, jetzt Salesforce

Selen jetzt

Slenium v3

--Gecko-Treiber wird jetzt für Firefox-Tests benötigt --WebDriver ⇒ Vor der W3C-Empfehlung

Die Zukunft von Selen

Selenium v4

--W3C Empfehlung

In der fernen Zukunft

Marcus Merrell - Analytische Testautomatisierung

Marcus Merrell… QS-Ingenieur

User Analytics

Fehlergeschichte im A / B-Test

Analytics QA

--QA ist vom Entwurfsprozess isoliert ――QA sollte aktiv einbezogen werden

Manoj Kumar-Test mit einem Container

Testen mit Docker

--Docker ist praktisch für die verteilte Ausführung mit Selenium Grid

QA-Podiumsdiskussion

Ich habe [Slido.com] verwendet (https://www.sli.do)

Selenium Committer Day 2017 "Q & A Podiumsdiskussion" Auditbericht #Seleniumjp

Impressionen

Recommended Posts

Memo zur Studiensitzung: Kansai Java Engineers Association 8/5 - Selenium
Memo zur Studiensitzung: Kansai Java Engineers Association [Osaka] 7/12 --Cloud Native
[Memo zur Studiensitzung] Java Day Tokyo 2017
Java Silver Lernmethode Memo
Java Study Memo 2 mit Progate
[Inhouse-Studiensitzung] Behandlung von Java-Ausnahmen (26.04.2017)
Zusammenfassung der internen Rookie-Lernsitzung [Java]
[Java ~ Informationen zur Variablendefinition und Typkonvertierung ~] Studiennotiz
Java-Memo
[Inhouse-Lernsitzung] Java-Grundlagenausführung ohne Verwendung von IDE- (2017/07/06)
Java alles Memo
Lassen Sie uns Java studieren
Java Silver Memo
Java, Maven Memo
Selenprobe (Java)
Selen x Java
Java SE 7 Hinweis
Java alles Memo 2
[Java] Studiennotizen
Java 8 studieren (wiederholbar)
Java-Studienmemorandum
Java-Sitzungsumfang
Studieren Sie Java Silver 1
Java-Spezifikationsnotiz
Java-Muster-Memo
[Inhouse-Lernsitzung] Java-Grundlagen - Lambda-Ausdruck und Stream-API - (13.07.2017)
[Inhouse-Studiensitzung] Grundlagen der Java-Annotation (02.11.2017) ~ Im Aufbau ~