2010-01-07 12 views
10

Ich muss eine geschachtelte Testsuite in Selenium erstellen, die in der Selenium IDE oder dem Selenium TestRunner läuft. Das ist im Grunde die Struktur, die ich versuche zu erreichen:Wie erstellt man geschachtelte Testsuites für Selenium IDE?

Ich muss in der Lage sein, etwas Äquivalentes zu erreichen. Ich habe begonnen, eine Include-Erweiterung zu versuchen, die es mir erlaubt, den Inhalt eines anderen Testfalls einzuschließen, aber ich habe Probleme damit. Wie hast du das erreicht? Welchen Rat kannst du geben, wie du mir dabei helfen kannst?

Antwort

1

Soweit ich weiß, unterstützt Selenium IDE dies nicht. Die meisten Leute machen dies, indem sie die einzelnen Testsuiten erstellen und sie einzeln ausführen.

Ich tue dies in C#/NUnit mit * CS-Datei für jeden Hauptbereich erstellen und dann Kategorien für jeden der Tests Einstellen der zusätzlichen Granularität

zum Beispiel zu bekommen

namespace Test.The.World 
{ 
    [TestFixture] 
    public class UK 
    { 
     [Test] 
     [Category("Southern Counties")] 
     public void Sussex_Brighton(){ 
      ..... 
     } 
     [Test] 
     [Category("Southern Counties")] 
     public void Hampshire_Southampton(){ 
      ..... 
     } 
    } 
} 

Und dann verwenden Sie die NUnit-Funktionalität, um Tests entsprechend auszuführen.

Ich bin sicher, die meisten Frameworks für die meisten Sprachen haben diese Art von Funktion

1

ich zusammen auf einer täglichen Basis mit Selenium modellbasiertes Testen verwendet und mit einem Modell können Sie die Logik setzen, wie die Tests durchgeführt werden soll und ebenso die Tests selbst.

Es gibt einige Open Source/Freie Software "Roboter" wie http://www.xqual.com/ XStudio. Ich habe es ein bisschen ausprobiert und macht die Arbeit aber ziemlich chaotisch um damit zu arbeiten, aber gut, wenn sich Ihre Testumgebung nicht zu oft ändert. Sie können hier täglich automatische Ausführungen starten und die Ergebnisse zurückmelden.

Cheers, Stefan

0

Sie benötigen SeleniumRC und einige Werkzeug Programmiersprache Tests schreiben und ausführen. SeleniumIDE ermöglicht es, Test in mehreren Sprachen zu speichern (C#, JAVA, PHP, Python und etc.) Verwenden Sie eine, mit der Sie vertraut sind. Auch ohne SetUp und TearDown ist es schwierig, gute Tests zu machen. Selenium IDE erlaubt diese Methoden nicht.

0

Dies sollte in der Hauptanwendung vorhanden sein.

public static Test suite() { 
    TestSuite testSuite = new TestSuite(); 
    testSuite.addTest(ComponentTestSuite1.suite()); 
    testSuite.addTest(OtherComponentTestSuite2.suite()); 
    } 
3

Dies ist vielleicht keine explizite Antwort, aber ich spielte mit Selenium IDE für 3 Monate. Dann habe ich herausgefunden, dass WebDriver so viel leistungsfähiger ist. Mit Selenium WebDriver ist Ihre Situation ein Kinderspiel. Je komplexer die Logik ist, desto besser können Sie Quellcode anstelle einer GUI-Schnittstelle verwenden, um Ihre Workflows zu definieren. Die Eingabe- und Ausgabeparameter können sehr verwirrend werden, wenn sie nicht richtig dokumentiert werden. Und sie können sehr leicht brechen, wenn sie Selenium IDE aktualisieren. Die Selenium-IDE ist sehr gut darin, einem unerfahrenen Programmierer zu zeigen, wie man einen Arbeitsablauf mit einem Rekorder automatisiert, aber wenn Sie ein Programmierer sind, wird es Sie zurückhalten.

Wenn Sie jedoch wirklich Ihre Situation erreichen möchten, können Sie Ihre eigene benutzerdefinierte JavaScript-Funktion entwickeln, die andere Funktionen (oder andere Testfälle) aufruft.

1

Ich habe ein paar Dutzend Testsuiten in Selenium IDE gebaut, um beim Testen meines Store Locator Plus WordPress Plugins zu helfen. Manchmal muss ich eine einzelne Selenium Testsuite laufen lassen.Wenn ich jedoch eine neue Version des Basis-Plugins herausbringe, möchte ich ein Dutzend Testsuiten nacheinander ausführen.

Obwohl es nicht perfekt für Ihren Anwendungsfall der Erstellung mehrerer "Master-Suites" passt, habe ich ein Paar Selenium IDE-Plugins gefunden, die es mir ermöglichen, eine einzige "Favoritenliste" zu erstellen und alle meine Favoriten zurück zu spielen -unterstützen.

Es kann möglich sein zu untersuchen & Ändern Sie das Plugin JavaScript, um mehrere verschiedene "Favoritenlisten" zu erstellen, die Ihren Anforderungen entsprechen.

: In der Zwischenzeit können Sie mindestens ein "Master-Liste der Suiten" durch die Kombination dieser Selenium IDE-Add-ons erhalten

Nach der Installation jedes dieser Add-Ons (technisch Mozilla Firefox Plugins) sehen Sie eine Favoriten-Schaltfläche in der Selenium IDE-Schnittstelle. Markieren Sie Ihre Lieblingssuiten und Sie werden Ihre "Liste" haben. Sie können jetzt "Favoriten/Alle starten" aus dem Selenium IDE-Menü auswählen.

Sie möchten vielleicht die Reihenfolge beachten, in der Sie Ihre Favoriten markieren. Ich markierte sie in der Reihenfolge, in der ich sie ausführen wollte. Öffnen Sie die Testsuite # 1, den Favoriten, die Testsuite # 2 usw. und dann "Run All". Hat super funktioniert und zeigt mir die Gesamtanzahl der ausgeführten und die fehlgeschlagenen Zählungen in allen Suiten (und damit Tests), die ausgeführt wurden. Das Protokoll scheint leider in jeder Suite zurückgesetzt zu sein.