问题标签 [earlgrey]
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.
automated-tests - 我在哪里可以找到 EarlGrey 的 xctest 捆绑包?
如标题所示,EarlGrey 框架生成的 XCTest 包的路径是什么?
earlgrey - 在 EarlGrey 中,我如何访问正在与之交互的元素对象?
在 EarlGrey 中,我如何访问正在与之交互的元素对象,例如,我想访问我刚刚点击的 UIButton。
earlgrey - 如何检查 UI 层次结构中是否存在元素?
如何检查 UI 层次结构中是否存在元素?如果一个元素不存在,我不希望 EarlGrey 失败,而只是检查它是否存在,我需要 UITableView 使用它,我必须不断滚动到顶部并向下滚动搜索元素,但该元素有时已经在当前视图中开始.
earlgrey - 我可以看到 EarlGrey 用于定位元素的确切 UI 层次结构吗?
我正在编写一个失败并出现以下错误的测试:
错误域 = com.google.earlgrey.ElementInteractionErrorDomain 代码 = 0“未找到元素。” UserInfo={NSLocalizedDescription=未找到元素。}
我可以在生成的屏幕截图中看到我尝试匹配的元素存在。我单步执行了代码,发现 earlgrey 使用了元素提供程序。当我的测试失败时,我看到了一个 ui 层次结构转储。我想在特定断点处打印完全相同的 ui 层次结构。我怎样才能做到这一点?
earlgrey - 如何检测我是否在我的应用程序中运行 EarlGrey 测试?
出于测试目的,我想绕过我的应用程序的登录屏幕。我可以通过注释掉在运行测试时推送视图控制器的代码来做到这一点。然而,这并不理想。我想出了一种在我的方案中设置环境变量的更好方法,然后执行:
if ([NSProcessInfo processInfo].environment[@"TEST"]) {
// Running EarlGrey test.
}
我想知道是否有更好的方法来检测我是否正在运行 EarlGrey 测试?
earlgrey - 测试在 iPhone 6s Plus 上运行良好,但在 iPhone 5s 上失败
我有一个在我的应用程序中选择特定提要的测试。它在 iPhone 6s 上运行良好,但在 iPhone 5s 上因找不到元素错误而失败。经过进一步调查,视图层次结构中似乎缺少提要。我想出了一个解决方法,例如:
虽然这看起来不错,但我想知道如果在屏幕上找不到元素,是否有更好的方法来有条件地滚动。
ios - GREYActionBlock 返回特定元素属性不起作用
我正在关注标题下的 Swift 示例是否有办法从常见问题解答中返回特定元素以尝试从元素中检索属性。
我直接从常见问题解答中复制了示例,但在调用 performAction 之后,textValue 仍然具有其原始值。事实上,无论我在操作块中将 inout 参数设置为什么,一旦操作返回,变量就会保留其原始值。
我错过了什么?这是我的代码:
并在测试方法中:
印刷
我正在使用 XCode 版本 7.3.1
xctest - 在 EarlGrey 中,等待元素出现的非轮询方式是什么?
目前我等待一个元素出现如下:
持续轮询 20 秒以填充集合视图。有没有更好的非轮询方式来实现这一目标?
xctest - gray_accessibilityLabel("Login") 与 UI 层次结构中具有相同可访问性标签的元素不匹配
我正在使用此代码单击登录按钮:
但是,它失败并出现以下错误:
未找到任何元素
失败时转储的 UI 层次结构中的相关元素如下所示:
点击登录按钮的正确方法是什么?
ios - EarlGrey 有没有办法让我自动重置应用程序?
假设我有以下应用程序结构:
在 EarlGrey 中,我通过以下方式定义了这个测试:
但是现在,当我想测试时[View Controller 3]
,我注意到应用程序仍然卡在[View Controller 2]
. 是否有我错过的电话可以让我返回第一个屏幕或重置应用程序以进行下一次测试?