2013-03-13 33 views
8

Điều này có vẻ khá đơn giản, nhưng tôi không thấy cách truy cập vào các giá trị trong tệp GebConfig.groovy của tôi. Tôi đã thử những điều sau đây:Cấu hình Geb

userName = "myUserName" 

properties = { 
    userName = "myUserName" 
} 

props { 
    userName = "myUserName" 
} 

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

Tuy nhiên, tôi vẫn dường như không thể truy cập vào các thuộc tính thông qua:

browser.driver.properties.userName 

Tôi có thể thiết lập các thuộc tính trong file cấu hình, và sau đó truy cập chúng trong spec của tôi? Tôi dường như nhận được các thiết lập mặc định của các thuộc tính, mà chỉ đơn giản là các thuộc tính hệ thống.

+1

Bạn có thật sự cố gắng 'browser.driver.properties' (chứ không phải hơn 'browser.config.properties'), hoặc là này chỉ là một lỗi đánh máy ? –

+0

Nó chỉ đơn giản là một lỗi đánh máy. – Scott

Trả lời

8

Điều này khá đơn giản, tuy nhiên tôi đã làm cho vấn đề trở nên khó khăn hơn rất nhiều so với nó. Tôi không thể nhìn thấy rừng cây.

Tôi nhận thấy rằng trong lớp Cấu hình, các mục từ rawConfig đã được lấy từ phương thức readValue. GetRawConfig cũng không hiển thị trong đường viền hoặc trong các nguồn cấu hình, khiến tôi bỏ qua ngay khi cố gắng truy cập trực tiếp.

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

Hoặc trong một groovy giống như thời trang:

browser.config.rawConfig.userName