[英]How to automate UIDatePicker to select a past date using KIF framework
[英]How to Automate Selecting Date from UIDatePicker using KIF Framework
我正在使用KIF Framework自动化我的应用程序。 对于其中一种情况,我需要自动从UIDatePicker中选择日期。
有人做过吗? 并就如何继续或共享一些代码提出一些想法。
任何帮助是极大的赞赏。
谢谢
在日期选择器上使用setAccessibilityLabel
,然后在KIFTestStep
类别中使用setDate
定义方法,如下所示:
+ (id)stepToEnterDate:(NSDate*)date ToDatePickerWithAccessibilityLabel:(NSString*)label
{
NSString *description=[NSString stringWithFormat:@"Enter date to Date picker with accessibility label '%@'",[date description]];
return [self stepWithDescription:description executionBlock:^(KIFTestStep *step, NSError **error)
{
UIAccessibilityElement *element = [[UIApplication sharedApplication] accessibilityElementWithLabel:label];
KIFTestCondition(element, error, @"View with label %@ not found", label);
if(!element)
{
return KIFTestStepResultWait;
}
UIDatePicker *picker = (UIDatePicker*)[UIAccessibilityElement viewContainingAccessibilityElement:element];
KIFTestCondition([picker isKindOfClass:[UIDatePicker class]], error, @"Specified view is not a picker");
[picker setDate:date animated:YES];
return KIFTestStepResultSuccess;
}];
}
更多最新的答案。
从KIF使用此方法:
- (void) selectDatePickerValue:(NSArray*)datePickerColumnValues;
在KIF 3.1.0上可用
您可以在KIFUITestActor
的类别中KIFUITestActor
最新的(也是最基本的)方法
- (void)enterDate:(NSDate *)date intoDatePickerWithAccessibilityLabel:(NSString *)label {
[tester runBlock:^KIFTestStepResult(NSError **error) {
UIAccessibilityElement *element;
[self waitForAccessibilityElement:&element view:nil withLabel:label value:nil traits:UIAccessibilityTraitNone tappable:NO];
KIFTestCondition(element, error, @"Date picker with label %@ not found", label);
KIFTestCondition([element isKindOfClass:[UIDatePicker class]], error, @"Specified view is not a picker");
UIDatePicker *picker = (UIDatePicker *)element;
[picker setDate:date animated:NO];
[self waitForTimeInterval:1.f];
return KIFTestStepResultSuccess;
}];
}
然后,您可以像这样使用它:
[tester enterDate:[NSDate distantPast] intoDatePickerWithAccessibilityLabel:kLocaleDatePicker];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.