2017-05-03 24 views
0

我正在嘗試啓動並使用Calabash運行React-Native應用程序。如何使用React-Native在Calabash中執行CONTAINS查詢

我可以成功地做到這一點查詢:

query("RCTView marked:' Coaching'") 

但也有與這個不幸的間距多個視圖。我想要做一個包含查詢。

我曾嘗試沒有成功的幾個變種,例如:

query("RCTView {label CONTAINS 'Coaching'}") 

但是,這是行不通的。

這就是視圖看起來像第一個查詢的結果是:

[ 
    [0] { 
         "alpha" => 1, 
        "enabled" => true, 
          "id" => nil, 
        "visible" => 1, 
         "frame" => { 
       "y" => 0, 
       "x" => 0, 
      "width" => 75, 
      "height" => 50 
     }, 
     "accessibilityElement" => false, 
         "class" => "RCTView", 
         "label" => " Coaching", 
       "description" => "<RCTView: 0x7ff38205a2e0; reactTag: 474; frame = (0 0; 75 50); layer = <CALayer: 0x600000228080>>", 
         "value" => nil, 
         "rect" => { 
        "y" => 617, 
      "center_x" => 262.5, 
      "center_y" => 642, 
        "x" => 225, 
       "width" => 75, 
       "height" => 50 
     } 
    } 
] 

回答

0

一對夫婦的事情,你可以嘗試:

首先會,問開發去除間距:) 。

如果兩個「教練」和「教練」,需要出於某種原因,使用此:

query("RCTView")[0]['label'].include? 'Coaching' 

在這裏你正在經歷的哈希和檢查,如果標籤包括你想讓它包括什麼,在這種情況下,「教練」。

嘗試使用 '*' 代替類名:

query("* { label CONTAINS 'Coaching' }") 

如果沒有任何標籤上工作,可以這樣考慮:

def contains_label(label) 
    hash_to_use = query('RCTView') 
    hash_to_use.each do |key| 
    if key['label'].include? label.to_s 
     hash_to_use[hash_to_use.index(key)] 
    end 
    end 
end 

希望它能幫助!