2013-09-25 49 views
2

我使用葫蘆黃瓜來測試我的IOS應用程序。問題是做驗證和其他一些操作。我需要從源代碼中獲得價值。可能嗎?如果是這樣,怎麼樣?請幫幫我。我已經通過不同的文件,但我沒有得到正確的答案。提前致謝。如何使用calabash從源代碼獲取價值iOS

+0

你需要具體。你指的是什麼操作?什麼樣的源代碼值? – stamhaney

+0

我需要從源代碼中獲取一些布爾值。 –

+0

顯示一些代碼? – Bala

回答

1

您可以使用葫蘆 - ios query語言調用UIView及其子類上的選擇器。

如果您有任何使用calabash-ios的經驗,您可能已經使用此功能而沒有意識到它。

# calls the 'text' selector on the labels that match the query 
query("label marked:'product description'", :text) 

要查看某個按鈕被啓用,你可以做到以下幾點:

https://github.com/calabash/calabash-ios/wiki/03.5-Calabash-iOS-Ruby-API https://github.com/calabash/calabash-ios/wiki/05-Query-syntax

1

如果:

# NB the property is 'enabled', but the selector is 'isEnabled 
query("button marked:'ask for help'", :isEnabled") 

這對葫蘆-IOS維基描述你想設置自定義屬性,然後做一個方法就是創建一個UI元素的子類(比如UIButton,然後你可以創建一個屬性y那麼您可以同時訪問像這樣:

ExampleButton.h:

@interface ExampleButton : UIButton 
{ 
    BOOL doingSomething; 
} 

@property (nonatomic) BOOL isDoingSomething; 

ExampleButton.m

#import "ExampleButton.h" 

@implementation ExampleButton 

... //code possibly here 

- (BOOL)isDoingSomething 
{ 
    return doingSomething; 
} 

... //more code possibley here 

,然後你會,設置doingSomething其他代碼。

順便說一句,我只是剛剛開始在iOS和葫蘆測試,所以我的目標C是生鏽的,但我認爲你也可以沒有doingSomething布爾,只有@synthesize isDoingSomething然後你可以得到和設置該物業直接(self.isDoingSomething = true;等)。

在蠡您的查詢應該是這樣的,那麼:

query("view:'ExampleButton' isDoingSomething:1") 

query("view:'ExampleButton' isDoingSomething:0") 

,看看屬性分別是真還是假。

這可能不是唯一的方法來做到這一點(它可能不是最簡單的方法,但它的工作原理)。

相關問題