2

我正在使用葫芦黄瓜来测试我的 IOS 应用程序。问题在于进行验证和其他一些操作。我需要从源代码中获取价值。可能吗?如果是这样,怎么做?请帮我。我浏览了不同的文档,但没有得到正确的答案。提前致谢。

4

2 回答 2

1

如果您想设置自定义属性,那么一种方法是子类化 UI 元素(例如 UIButton,然后您可以创建一个属性,然后您可以像这样访问它:

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 和 Calabash 测试,所以我的目标 C 已经生锈了,但我认为你也不能拥有doingSomethingBool,而只需拥有它就@synthesize isDoingSomething可以直接在属性上获取和设置(self.isDoingSomething = true;等) .

在葫芦中,您的查询将如下所示:

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

或者

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

分别查看属性是真还是假。

这可能不是唯一的方法(它甚至可能不是最简单的方法,但它确实有效)。

于 2014-02-27T11:25:29.170 回答
1

您可以使用 calabash-iosquery语言来调用选择器UIView及其子类。

如果您有任何使用 calabash-ios 的经验,您可能一直在使用此功能而没有意识到这一点。

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

要查看是否启用了按钮,您可以执行以下操作:

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

这在 calabash-ios wiki 上有描述:

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

于 2013-12-12T01:40:51.480 回答