我正在嘗試在需要使用ConfigSlurper獲取的配置文件中存儲我需要的url。我認爲這可能行不通,但不確定。思考?來自ConfigSlurper的Geb頁面url方法
0
A
回答
2
您可能正在尋找由baseUrl配置提供的功能。當使用to MyPage
時,瀏覽器使用的url由basUrl
配置和url
頁面類的屬性決定。
0
我在不同的語言環境中運行geb,所以遇到同樣的問題。我通常使用locale.getCountry()作爲環境的參數從配置文件中加載不同的url。
在運行的類中,我使用ConfigSlurper將baseUrl替換爲加載的條目。好處是我可以處理多個語言環境和本地主機環境。本地測試與測試分段環境。
我有一個主要的spock文件,包含整個迴歸測試和每個國家的繼承spock類。除了類名中的國家/語言編碼之外,繼承spock文件不包含太多內容。
配置文件:
environment{
CA{
url="ca.somewhere.com"
validZipCode=...
...
}
...
}
主類:
class MainRegression extends GebReportingSpec{
@Shared Locale locale
def setupSpec(){
...
locale = ParameterReader.getLocale(this.class.name)
...
}
def "testing the website"(){
when: "entering the main url"
go URLService.getBaseUrl(locale)
...
}
的繼承類:
@Stepwise
class CaEnRegressionSpec{} // Canada with english language
一個很好的方法來處理在驗證不同的語言/區域設置: http://ldaley.com/post/1013531080/painless-page-identification-with-geb-grails
1
如果你想這樣做的稍微乾淨的方法,你可以實現一個基本頁面,如下面的一個 - 內部類的簡潔和避免直接調用受保護的方法 - (我們有26級不同的子域的應用程序!):
package page.admin
import geb.Configuration
import geb.Page
class AdminPage extends Page {
class WrappedConfig extends Configuration {
WrappedConfig(ConfigObject rawConfig) {
super(rawConfig)
}
String getAdminBaseUrl() {
return readValue('adminUrl', '<invalid-url>')
}
}
String getPageUrl() {
WrappedConfig config = new WrappedConfig(browser.config.rawConfig)
return config.adminBaseUrl + this.class.url
}
}
你的配置可能是這個樣子:
baseUrl = 'http://base-app.example.net'
adminUrl = 'http://admin-app.example.com'
這樣,你仍然可以正常使用GEB語法:
given:
to PageWhichExtendsAdminPage, 'your-path', key1: 'value1
生成的網址http://admin-app.example.com/your-path/?key1=value1
相關問題
- 1. 在Geb中動態設置頁面URL
- 2. 最好的方法來頁面與頁面的asp.net-mvc頁面
- 3. Geb驅動器方法
- 4. ASP.NET頁面方法 - 如何獲取頁面方法內的url參數值?
- 5. 從JSP頁面中的servlet調用方法,使用來自該JSP頁面的參數的方法
- 6. 調用一個注入屬性的方法(來自ASPX頁面)
- 7. 來自包含頁面的PHP返回方法?
- 8. 來自兩個單獨頁面的Rails POST方法
- 9. 來自不同HTML頁面的調用方法
- 10. 使用jQuery Ajax方法顯示來自PHP頁面的響應?
- 11. 訪問頁面的方法訪問頁面與頁面方法
- 12. Wordpress自定義URL頁面
- 13. Drupal自定義頁面URL
- 14. 確保SOAP請求來自「自己的」的最佳方法HTML頁面
- 15. 來自settings.bundle的自定義URL方案
- 16. Geb - 轉換到新頁面按鈕點擊裏面的iFrame
- 17. Excel VBA:從另一個頁面顯示來自URL的圖像
- 18. 來自多個URL的頁面引用檢查
- 19. 當頁面跳轉時隱藏來自URL的哈希
- 20. 獲得來自外部的頁面標題URL
- 21. 使用PHP獲取用戶來自錯誤404頁面的URL?
- 22. playframework PLAY_SESSION在註銷之前記得來自頁面的URL
- 23. PHP preg_match查找並找到來自HTML頁面的動態URL
- 24. 來自方法
- 25. 來自方法
- 26. 如何使configslurper委託方法調用呼叫方
- 27. ConfigSlurper的groovy文件如何調用build.gradle中定義的方法?
- 28. 如何從其他任何頁面調用方法而不使用GEB和Spock聲明靜態方法?
- 29. 如何使用Geb來檢查頁面事件後的元素屬性值
- 30. Html.RenderPartial來自主頁面
您能解釋一下爲什麼你需要這個以及頁面URL如何根據不同的環境而改變? – erdi
我有多個網站,每個網站都有一個測試網站,然後是一個活網站。這些網站有一個後端和一個前端。所以我可能有test.abc.com,那麼我會有prod.abc.com。 – jrock2004