2 Stimmen

Wie kann ich meinen Browser (*firefox,*ie) von der Kommandozeile aus in der Rake-Datei festlegen?

Ich habe eine Rake-Datei, die einige Aufgaben ausführt. Ich möchte meine Tests auf mehreren Browsern laufen lassen, ohne sie für jeden Test hart zu kodieren. Jeder Vorschlag wäre großartig.

2voto

Tom Morris Punkte 3969

Haben Sie die Verwendung von Watir in Betracht gezogen? Es bietet eine abstrakte Schnittstelle zu Browsern zum Testen, einschließlich Schnittstellen zu Internet Explorer (standardmäßig), Firefox (firewatir), Chrome (ChromeWatir) und Safari (SafariWatir) - IE nur unter Windows (offensichtlich) und Safari nur unter OS X (ich bin mir nicht sicher, ich glaube nicht, dass sie es mit Safari für Windows zum Laufen gebracht haben).

Im Grunde genommen erstellen Sie entweder eine Methode oder eine Klasse, die den Browser und den URI, den Sie laden möchten, aufnimmt und sie unter Verwendung der entsprechenden Watir-Klassen lädt. Dann erstellen Sie Rake-Aufgaben, die die entsprechende Methode aufrufen. Das hat den Vorteil, dass Sie nicht herausfinden müssen, wo Firefox ist, und ihn anders aufrufen, wenn er läuft oder nicht.

Ich habe seit einiger Zeit keine Watir-Sachen mehr gemacht - ich bin für Browsertests auf Celerity/Culerity umgestiegen - aber selbst wenn Sie es nicht zum Testen verwenden, sollten Sie in der Lage sein, es zum Starten von Browsern aus Ruby heraus zu verwenden, zumindest unter Windows und Mac und möglicherweise auch unter Linux.

0voto

gaqzi Punkte 3577

Der beste Weg wäre wohl, das Dateisystem auf der Grundlage des aktuellen Betriebssystems zu durchsuchen und die ausführbaren Dateien der gewünschten Browser zu finden.

Vielleicht können Sie den Launchy-Code nehmen und machen es tun, was Sie wollen:)
http://copiousfreetime.rubyforge.org/launchy/

Launchy ist eine Hilfsklasse zum Starten von plattformübergreifenden Anwendungen in einem "fire and forget Weise. Derzeit wird nur der Start eines Browsers unterstützt.

Launchy.open("http://www.ruby-lang.org/")

0voto

kejadlen Punkte 1459

Unter OS X funktioniert das bei mir:

`open #{url}`

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X