2009-08-19 5 views
1

Ich habe eine Reihe von Selenium-Tests, die über HTTP laufen - ich möchte die gleichen Tests unter HTTPS sowie HTTP mit so wenig Duplizierung wie möglich ausführen. Ich denke, andere Leute müssen das schon tun? Ich benutze die Java Selenium Remote Control - aber ich kann wahrscheinlich eine Methode aus einer anderen Sprache übersetzen.Gutes Muster für automatisierte Selenium-Tests in HTTP und HTTPS?

Antwort

4

Sie könnten die URL der zu testenden Anwendung an Ihr Testframework als Parameter übergeben oder sie in einer Eigenschaftendatei speichern. Ich tue dies, um zwischen Testumgebungen zu wechseln.

Im Folgenden finden Sie ein einfaches Beispiel aus einer Eigenschafts Lesen der Datei:

protected void startSession() { 
    Selenium selenium = new DefaultSelenium("localhost", 4444, "*firefox", 
     applicationProperties.getProperty("application.url")); 
} 

Und ein Beispiel eines Parameters mit (I TestNG dafür verwenden):

Parameter Fügen Sie in der TestNG Suite XML-Datei :

<parameter name="appURL" value="http://www.example.com/" /> 

Sie über den Parameter, wenn Sie eine Selen-Instanz erstellen:

@BeforeMethod(alwaysRun = true) 
@Parameters({"appURL"}) 
protected void startSession(String appURL) { 
    Selenium selenium = new DefaultSelenium("localhost", 4444, "*firefox", appURL); 
} 
+0

Danke - das gab mir einige Ideen. Seit ich in JUnit 4 entdeckt habe, kannst du eine Suite in eine Suite aufnehmen. Also habe ich alle Tests in eine gemeinsame Suite gestellt und dann HttpSuite und HttpsSuite, die beide die übliche Suite hatten. – Corehpf