关于如何使用 KIF 测试实现拉取刷新的任何想法?

Posted

技术标签:

【中文标题】关于如何使用 KIF 测试实现拉取刷新的任何想法?【英文标题】:Any ideas on how to implement pull to refresh with KIF Tests? 【发布时间】:2013-03-22 13:39:07 【问题描述】:

这是相当开放的。

有人知道如何在 KIF 测试中测试拉动刷新功能吗?

【问题讨论】:

【参考方案1】:

只需从屏幕顶部拖动到屏幕底部即可,对吧? KIF 在 UIView-KIFAdditions 类别中实现了以下方法:

- (void)dragFromPoint:(CGPoint)startPoint toPoint:(CGPoint)endPoint;

我继续为简单的拖动操作创建了以下测试步骤:

+ (id)stepToDragFromStartPoint:(CGPoint)startPoint toEndPoint:(CGPoint)endPoint

    NSString *description = [NSString stringWithFormat:@"Simulate dragging finger from point %.1f,%.1f to point %.1f,%.1f", startPoint.x, startPoint.y, endPoint.x, endPoint.y];
    return [KIFTestStep stepWithDescription:description executionBlock:^(KIFTestStep *step, NSError **error) 
        UIView *viewToSwipe = [UIApplication sharedApplication].keyWindow.subviews.lastObject;

        [viewToSwipe dragFromPoint:startPoint toPoint:endPoint];

        return KIFTestStepResultSuccess;
    ];

希望有帮助!

【讨论】:

抱歉新手问题,如何使用此功能?我有继承自 KIFTestCase 的测试类,我必须添加什么才能使用此功能?【参考方案2】:

发布此问题后不久,KIF 开发了内置的“拉动刷新”功能。见KIFUITestActor中的以下方法

- (void)pullToRefreshViewWithAccessibilityLabel:(NSString *)label pullDownDuration:(KIFPullToRefreshTiming) pullDownDuration;
- (void)pullToRefreshViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value;
- (void)pullToRefreshAccessibilityElement:(UIAccessibilityElement *)element inView:(UIView *)viewToSwipe pullDownDuration:(KIFPullToRefreshTiming) pullDownDuration;

【讨论】:

以上是关于关于如何使用 KIF 测试实现拉取刷新的任何想法?的主要内容,如果未能解决你的问题,请参考以下文章

单击使用 KIF 的警报视图

由于缺少 KIF 类,项目无法构建

如何使用 KIF 测试空表?

如何在使用 KIF 进行测试时自动单击“确定”以响应“<app> 想使用您当前的位置”?

在 iOS 中测试使用 KIF 启动的外部浏览器

如何在相册中挑选图片 - iOS 测试 KIF