2009-04-18 4 views
1

Ich bin ziemlich neu in Ruby und Selenium und ich versuche nur herauszufinden, die beste Möglichkeit, um meine Test-Kabelbaum zu bauen. Ich verwende Rake, Rake :: TestTask und Test :: Unit, um das zu erreichen. Ich habe eine Suite, die ich einmal für jede Browser/Betriebssystem-Kombination ausführen möchte. Ich kann aber nicht herausfinden, wie ich meine Tests parametriere, etwas, an das ich mich mit Junit4 und TestNG gewöhnt habe.Data Driven Testing mit Ruby's Test :: Einheit für Selen

Ich würde wirklich gerne diesen BROWSER = in der Einrichtung meiner Suiten oder Fälle lesen können. Irgendwelche Vorschläge oder gibt es einfach einen besseren Weg, dies in Ruby zu tun?

Antwort

1

Nach viel Graben durch die Quelle fand ich ein nicht so dokumentiertes Feature. Der Test :: Unit-Test-Runner führt nur die Ausführung von Testfällen in der Befehlszeile aus, die auf einem Autorunner basieren, um alle Fälle dieser klassenspezifischen Klasse auszuführen. Also, wenn sie etwas danach sagen - als Optionen übergeben werden, meinen sie Befehlszeilenoptionen, nicht irgendeine Variable oder Parameter.

so ... Zugabe

t.options = '-- -foo -bar=baz' 

tatsächlich diejenigen in Ihre ARGV passieren und man erwartet, dass sie manuell verarbeiten. Diese Argumente zu nehmen und sie in eine Fabrikklasse zu werfen, um die passende Selenium-Instanz zu ergattern, wird für mich funktionieren.

+0

http://stackoverflow.com/questions/28110384/how-to-parse-rake-arguments-with-optionparser – djangofan

+0

http://stackoverflow.com/questions/825748/how-doi-i-pass-command -line-arguments-to-a-rake-task/825832 # 825832 – djangofan

0

Dies ist möglicherweise nicht, was Sie fragen. Aber ich habe das exakt gleiche Problem in Python gelöst und darüber in Parameterizing Your Tests gebloggt. Ich bin sicher, dass Sie den gleichen Ansatz in Ruby verwenden können, nicht sicher, wie es mit dem verglichen wird, was Sie getan haben. Ich bin interessiert zu wissen, wie andere dieses Problem gelöst haben und nicht viel Dokumentation gefunden haben.

+0

Danke für den Link. Genaues Problem und vorhersagbar, eine ähnliche Lösung. Ich habe darüber nachgedacht, einen eigenen Testläufer zu schreiben, der dem anderen ähnlich ist, wollte aber trotz der relativ unausgereiften Testbibliothek alles so "rubinrot" wie möglich bekommen. Gute Beschreibung. – Trey