2013-03-13 8 views
8

Dies scheint wie es sollte ziemlich einfach sein, aber ich sehe nicht, wie Zugriff auf Werte in meiner GebConfig.groovy-Datei. Ich habe folgendes versucht:Geb Konfiguration

userName = "myUserName" 

properties = { 
    userName = "myUserName" 
} 

props { 
    userName = "myUserName" 
} 

environments { 
    chrome = { 
    driver = { new ChromeDriver() } 
    userName = "myUserName" //with and without {} 
    } 
} 

Aber ich kann immer noch nicht diese Eigenschaften durch den Zugriff scheinen:

browser.driver.properties.userName 

Bin ich in der Lage, diese Eigenschaften in der Konfigurationsdatei zu setzen und sie dann zugreifen in meiner Spezifikation? Ich scheine den Standardsatz von Eigenschaften zu bekommen, der einfach die Systemeigenschaften ist.

+1

Versuchen Sie wirklich 'browser.driver.properties' (statt' browser.config.properties'), oder sind das nur ein Tippfehler ? –

+0

Es war einfach ein Tippfehler. – Scott

Antwort

8

Das war ziemlich einfach, aber ich machte das Problem viel schwieriger, als es hätte sein sollen. Ich konnte den Wald nicht für die Bäume sehen.

Ich bemerkte, dass in der Configuration-Klasse Elemente aus der rawConfig von der readValue-Methode (s) abgerufen wurden. Die getRawConfig wurde auch nicht in der Gliederung oder in den Konfigurationsquellen angezeigt, was dazu führt, dass ich direkt überspringe, um direkt auf sie zuzugreifen.

browser.getConfig().getRawConfig().get("userName") 

Oder in einer groovy wie Mode:

browser.config.rawConfig.userName