问题标签 [kif]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1331 浏览

ios - 在 KIF 中按下后退按钮(backBarButtonItem)?

KIF 是否为点击后退按钮提供任何特殊支持,还是我必须做这样的事情?

后者有点不幸,因为我的代码目前根本没有后退按钮,self.navigationItem.backBarButtonItem并且通常可以保留nil(参见此处):故事板中的描述到目前为止就足够了。

0 投票
2 回答
3532 浏览

ios - KIF 输出:AX Exchange 错误:错误域 = 辅助功能代码 = 0“远程服务不响应 _accessibilityMachPort”

在装有 iOS 8.1.3 的设备上运行 KIF 集成测试时,我收到许多以下类型的诊断消息作为控制台输出:

AX Exchange 错误:错误域 = 辅助功能代码 = 0“远程服务不响应 _accessibilityMachPort” UserInfo=0x1a55de50 {NSLocalizedDescription=远程服务不响应 _accessibilityMachPort}

这发生在调用waitForAccessibilityElement:view:withElementMatchingPredicate:tappable:.

否则测试会按预期工作,只是看起来有点冗长。所以我想知道:这种诊断输出是功能还是错误?怎么解释?如果有的话,我可以或应该做些什么?

0 投票
3 回答
1495 浏览

ios - 如果 KIF 是其 UITableView 的唯一一个,则 KIF 无法点击 UITableViewCell 内的 UIButton

如果该单元格是表格的唯一单元格,我无法自动点击UIButton嵌入在 a中的单元格。UITableViewCell这是在使用 KIF 进行 UI 自动化的背景下。

这是我的相关电话:

这是我正在观察的:

  • 如果我将可访问性标签放在UITableViewCellKIF 上,KIFUITestActor - waitForAccessibilityElement:view:withLabel:traits:tappable:返回的是UITableView,而不是单元格。不知何故,该表似乎继承了其唯一孩子的可访问性标签,并让 KIF 在其递归搜索期间首先遇到它。

  • 如果我将可访问性标签放在UIButton相反的位置,KIF 会找到它,但确定它是不可点击的(即UIView-KIFAdditions -tappablePointInRect:返回NO),大概是因为它在按钮标签的细字体线之间主要是透明的(点击改为 a UITableViewCellContentView)。

一种解决方法可能是通过它来敲击该行,NSIndexPath但也许还有更好的方法来克服我所面临的所描述的障碍。那么我怎么能指示 KIF 通过调用来点击这样的按钮tapView...呢?

0 投票
1 回答
1087 浏览

ios - KIF 3.2.0 因 arm64 配置失败

我正在尝试使用 KIF v3.2(截至 2015 年 3 月 18 日的最新版本)。它抱怨 UIEvent+KIFAdditions.o 的 arm64 的未定义符号

错误:架构 arm64 的未定义符号:“_IOHIDEventCreateDigitizerEvent”,引用自:-[UIEvent(KIFAdditions) kif_setIOHIDEventWithTouches:] in UIEvent+KIFAdditions.o -[UIEvent(KIFAdditions) kif_setIOHIDEventWithTouches:] in libKIF.a(UIEvent+KIFAdditions.o) “_IOHIDEventCreateDigitizerFingerEventWithQuality”,引用自:-[UIEvent(KIFAdditions) kif_setIOHIDEventWithTouches:] in UIEvent+KIFAdditions.o -[UIEvent(KIFAdditions) kif_setIOHIDEventWithTouches:] in libKIF.a(UIEvent+KIFAdditions.o) “_OBJC_CLASS_$_SenTestCase”,引用自: l_OBJC_$_CATEGORY_SenTestCase_$_KIFAdditions in SenTestCase-KIFAdditions.o "_IOHIDEventAppendEvent",引用自:-[UIEvent(KIFAdditions) kif_setIOHIDEventWithTouches:] in UIEvent+KIFAdditions。o -[UIEvent(KIFAdditions) kif_setIOHIDEventWithTouches:] in libKIF.a(UIEvent+KIFAdditions.o) ld:未找到架构 arm64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

有谁知道这里发生了什么。似乎只有该文件在构建 arm64 时存在问题。如果有人在他们的项目中成功构建了 KIF v3.2.0,请告诉我。谢谢!

0 投票
1 回答
348 浏览

ios - How to test for an empty table using KIF?

I'm using the KIF test framework. Currently, I'm able to detect that a table is not empty by the following line:

#xA;

However, I need to be able to test if a table is completely empty. What is the best way to accomplish this using KIF?

0 投票
1 回答
766 浏览

ios - 如何设置我的应用在 XCTest 下运行时将看到的标志?

KIF 就像魔术一样,最近让我很困惑。这就是 KIF 和 XCTest 的工作原理。

在 WWDC 2014 & 2013 中说过:测试代码作为插件注入到宿主应用程序中,那么主应用程序作为插件可以窃听哪些信息?主机应用程序插件之间的关系是什么?

使用 KIF,我们可以感知通知和 URL 请求,但它是如何工作的?我的第一个想法是主机应用程序中的所有上下文都与插件共享但是为什么在测试中,我们不能修改主应用程序中的变量?

例如:

我们有两个目标:

魔法计划

-- 魔法应用

-- MagicUITest <- KIFTest 目标

假设我有一个名为 MagicClass 的文件:

如果我想在 MagicUITest 中修改该变量,这可能吗?

我现在面临的问题是如何将不同的 UIViewController 注入到 RootViewController 中,以便我可以从每个单独的 ViewController 运行 KIF 测试,并且不需要一直经历登录过程。我的猜测是:

在魔术应用程序中:

在 KIFTest 的 setUp() 中:

但不工作..

一件事是 Magic.a = 2 不会改变 MagicApp 中的 Magic.a,二是 application(..,..,..) 函数将在调用 setUp() 之前结束..

任何想法 ?

0 投票
1 回答
93 浏览

ios - 我们可以在 KIF 测试类中创建模型类的实例吗

在 KIF 测试框架中,在 KIF 验收类中,我们可以创建控制器类或模型类的实例以从特定类中获取功能和视图吗?还是可访问性标签是识别视图的唯一方法?如果后者是唯一的选择,那么我们如何才能在 KIF 测试类中访问我们的模型类?

0 投票
1 回答
470 浏览

ios - 我们如何检查 KIF 中的 UILabel 值

我有一个值为“文本”的 UILabel。

现在在 KIF 中,我尝试使用以下方法检查其值:

但它没有说:

该步骤在 10.00 秒后超时

我找到了一个带有标签“myLabel”的可访问性元素,但其值为“(null)”,而不是“text”。

谁能帮我?

谢谢

0 投票
2 回答
1446 浏览

ios - 在模拟器中运行应用程序时删除本地通知的 iOS 权限警报

我正在尝试在KIF中编写一个应用程序的验收测试,该应用程序很早就要求本地通知权限。不幸的是,由于 iOS 模拟器的安全原因,无法使用 KIF 自动接受 iOS 权限警报。根据https://stackoverflow.com/a/28443743/62,似乎有办法禁用位置、通讯录、日历和照片的权限警报,但我找不到禁用本地通知权限的方法. 我尝试了链接问题中的权利方法,但以下键均无效:

还有其他想法吗?现在,我正在通过更改我的生产代码以在运行验收测试时有条件地禁用本地通知来解决此问题,但理想情况下我不必这样做。

0 投票
1 回答
1497 浏览

ios - 如何使用 KIF 测试框架自动确认系统警报?

我使用KIF来测试 UI 以实现持续集成。当应用程序在设备(或iOS 模拟器)上首次启动时,系统将显示一些警报视图以确保安全。KIF 如何自动确认系统警报以防止测试失败?