2017-05-19 3 views
0

Angenommen, ich habe normales "Add Users" -Modul, das ich mit Java-Scripting automatisieren möchte, wie ich Datenduplikation vermeiden kann, um Fehlermeldungen wie "Benutzer existiert schon" zu vermeiden?Selenium Webdriver - Wie man Datenduplikation vermeidet

+0

Verwenden Sie https://commons.apache.org/proper/commons-lang/apidocs/index.html?org/apache/commons/lang3/RandomStringUtils.html Dies wird mit 'Selen-Java' geliefert. – SiKing

+0

Reinigen Sie die Daten in einem Teardown-Schritt –

Antwort

0

Es gibt zahlreiche Möglichkeiten, in denen dies kann automatisiert werden. Sie erhalten aufgrund Tatsache ‚Nutzer existiert bereits‘, dass Sie (wahrscheinlich) Ihre 'Add Users' Testfälle laufen mit statischen Variablen.

Hinweis: Für die folgenden Beispiele werde ich eine grundlegende Registrierung flow/Szenario eines neuen Benutzers berücksichtigen: name, email, password die erforderlichen Felder zu sein. Note-002: Meine Sprache der Wahl wird JavaScript sein. Sie sollten das Konzept mit Java mit Leichtigkeit reproduzieren können.

1.) Pre angemeldete/Post-Erwartung einer einzigartigen Kennung an die Sie einreichen (zB: Date() die Anzahl der Sekunden zurück, die seit dem 1. Januar 1970 vergangen sind => es wird immer eindeutig sein, wenn der Testfall)

var timestamp = Number(new Date()); 
var email = 'test.e2e' + timestamp + '@<yourMainDomainHere>' 

Hinweis ausgeführt wird: Üblicherweise wird die name & password müssen nicht eindeutig sein, so dass man eigentlich hardcoaded Werte verwenden können, ohne irgendwelche Probleme.

2.) Das gleiche kann auch der Math.random() (JS) erreicht werden unter Verwendung von, der einen Wert zwischen 0 und 1 (0.8018194703223693) lang, 18 Stellen zurückgibt.

var almostUnique = Math.random(); 
// You can go ahead and gen only the decimals 
almostUnique = almostUnique.toString().split('.')[1]; 
var email = 'test.e2e' + almostUnique + '@<yourMainDomainHere>' 

!!! Warnung: Während Math.random() ist eigentlich nicht einzigartig, in Hunderten von Regressionsläufen von 200 funktionalen Testfällen hatte ich nicht die Chance, ein Duplikat zu sehen.

3.) (nicht so elegant | Härtere exponentiell schwieriger zu implementieren) Wenn Sie Backend API Zugriff auf Ihre Web-Anwendungen haben und durch sie können Sie verschiedene Aktionen im DB ausführen, dann können Sie tatsächlich schreiben Sie selbst einige Skripte, die nach Ihrer Registrierung Testfälle laufen, wie eine Reinigung Suite.

Diese Skripte müssen den zuvor hinzugefügten Benutzer aus Ihrer Datenbank entfernen.

Hoffe, das hilft!

0

Sie erwähnen nicht, in welcher Sprache Sie programmieren, aber verwenden Sie die Sprache, die Sie verwenden, die Zufallsfunktion, um Zufallszahlen und/oder Text für die Benutzer-ID zu generieren. Es wird nicht garantiert, dass es keine Duplikate gibt, aber die Art des Testens ist so, dass Sie beide Situationen trotzdem beherrschen sollten. Wenn das nicht klar ist oder ich Ihre Frage nicht richtig verstehe, müssen Sie viel mehr Informationen bereitstellen: was Sie versucht haben, welche Sprache Sie verwenden usw.

Verwandte Themen