我正在使用葫芦黄瓜来测试我的 IOS 应用程序。问题在于进行验证和其他一些操作。我需要从源代码中获取价值。可能吗?如果是这样,怎么做?请帮我。我浏览了不同的文档,但没有得到正确的答案。提前致谢。
2 回答
如果您想设置自定义属性,那么一种方法是子类化 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 已经生锈了,但我认为你也不能拥有doingSomething
Bool,而只需拥有它就@synthesize isDoingSomething
可以直接在属性上获取和设置(self.isDoingSomething = true;
等) .
在葫芦中,您的查询将如下所示:
query("view:'ExampleButton' isDoingSomething:1")
或者
query("view:'ExampleButton' isDoingSomething:0")
分别查看属性是真还是假。
这可能不是唯一的方法(它甚至可能不是最简单的方法,但它确实有效)。
您可以使用 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