2016-01-07 57 views
0

我有一張表,其中的元素可以是正常模式下的文本,或者是編輯模式下的輸入字段。如何檢查元素是否存在,並將其內容放入Geb/Groovy中的單個表達式中?

目前我發現用下面的代碼的數據(見firstName):

class UserRow extends Module { 

    static content = { 

     cell { i -> $("td", i) } 

     id { 
      cell(0) 
     } 

... 
     firstName { 

      if(cell(2).find("input").length) { 
       cell(2).find("input") 
      } 
      else { 
       cell(2) 
      } 

     } 

難道就沒有可能在Groovy爲此在單一的表達?

+3

也許:'cell(2)。$('input')?:cell(2)'雖然沒有嘗試過 –

回答

2

蒂姆似乎表明在他的評論很好的解決:

cell(2).$('input') ?: cell(2)

這工作,因爲AbstractNavigatorimplements asBoolean(),從而空導航(不匹配任何元素領航員)評估在布爾值false表達式。

相關問題