gpt4 book ai didi

ios - 使用 KIF 点击 UITextView 中的链接

转载 作者:行者123 更新时间:2023-12-01 18:54:51 24 4
gpt4 key购买 nike

是否可以使用 KIF 单击 UITextViews 中的链接?使用 Accessibility Inspector 似乎将 UITextView 视为单个 View ,并且似乎无法识别链接。

最佳答案

似乎 UITextView 中的链接与使用 KIF 的标准水龙头相比,对象需要更长的按下才能激活。我通过使用 KIFUITestActor 上的类别编写自己的测试步骤解决了这个问题。该代码试图在 UITextView 中找到您想要点击的文本。然后长按。

- (void)tapText:(NSString *)text inTextViewWithAccessibilityIdentifier:(NSString *)identifier
{
[self runBlock:^KIFTestStepResult(NSError *__autoreleasing *error) {
UITextView *textView = nil;
UIAccessibilityElement *element = nil;
[self waitForAccessibilityElement:&element view:&textView withIdentifier:identifier tappable:YES];
KIFTestCondition([textView isKindOfClass:[UITextView class]], error, @"The accessibility element is not a UITextView");
NSRange range = [[textView.textStorage string] rangeOfString:text];
KIFTestCondition(range.length > 0, error, @"The text '%@' was not found in UITextView with accessibility identifier: %@", text, identifier);
range.length = 1;
range = [textView.layoutManager glyphRangeForCharacterRange:range actualCharacterRange:nil];
CGRect rect = [textView.layoutManager boundingRectForGlyphRange:range inTextContainer:textView.textContainer];
rect = CGRectOffset(rect, textView.textContainerInset.left, textView.textContainerInset.top);
CGPoint point = CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect));
[textView longPressAtPoint:point duration:0.1f];
return KIFTestStepResultSuccess;
}];
}

关于ios - 使用 KIF 点击 UITextView 中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28201958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com