问题标签 [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.
earlgrey - 如何在同一个项目中同时使用 EarlGrey 和 XCTest?
因为,XCTest 要求它的实例使用如下代码片段启动:
EarlGrey 以不同的方式初始化应用程序实例。因此,当我尝试将两个代码交织在一起时,测试失败了,因为底层的钩子无法在它们之间切换。你能建议我如何进行吗?
earlgrey - 构建测试目标失败并出现此错误“此项目需要未定义 NS_Block_Assertions
尝试开始使用 EarlGrey,我按照步骤手动将 EarlGrey 添加到项目中。但是每次我尝试构建测试目标时,它都会因这个错误而失败
/EarlGrey-1.0.0/EarlGrey.pch:27:4:“该项目要求 NS_BLOCK_ASSERTIONS 未定义。”
其他人遇到这个问题并有建议吗?
ios - 在功能测试用例中,对元素是否存在的 nil 检查未按预期工作
假设我setup()
在运行这样的测试用例之前在方法中使用了代码片段:
我遇到了一个错误。发现断言'assertWithMatcher: matcherForSufficientlyVisible(>=0.750000)' was not performed because no UI element matching (respondsToSelector(accessibilityIdentifier) && accessibilityID("TabBar-Navigation-Activity"))
。
其实我想检查一个元素的存在。如果元素存在,请执行某个步骤或执行其他操作。但是,尽管该元素不存在于该特定屏幕上,但循环内的代码并未执行。任何建议将不胜感激。
ios - 在 EarlGrey 中随机选择
我正在使用 XCTest 编写相当复杂的 UI 测试,最近切换到 EarlGrey,因为它更快且更可靠 - 测试不会在构建服务器上随机失败,并且测试套件可能需要长达半小时才能运行!
我在 EarlGrey 中无法做到但我可以在 XCTest 中做的一件事是随机选择一个元素。
例如,在 calendar 上,我可以使用 'identifier'collectionView
查询所有s ,然后随机选择一天使用来获取索引,然后.collectionViewCell
NSPredicate
[XCUIElementQuery count]
tap
现在,我将对其进行硬编码,但我希望随机选择日期,这样如果我们更改应用程序代码,我就不必重写测试。
如果我能详细说明,请告诉我,期待解决这个问题!
objective-c - actionForTypeText 在 EarlGrey 中并不总是准确
我正在编写的 EarlGrey 测试的一部分包括保存用户名。这是代码行:
[[[EarlGrey selectElementWithMatcher:grey_accessibilityID(@"textField")] atIndex:0] performAction:[GREYActions actionForTypeText:name]]
name
保存到@"Thisisa UItest"
. 有时,输入的文本不准确:有随机的字母大写(我已将.lowercase
检查作为一种变通方法),以及有时省略的字母。例如,"Thisisa itest"
将被键入。它并不一致,但通常足以使测试不可靠。
在setUp
,我有一个我读过的论点会使打字变慢:
[[GREYUIThreadExecutor sharedInstance] drainUntilIdle];
让我知道!
编辑:根据@Gautam 的要求 - XCode 8.2.1、iPad Pro、9.7 英寸模拟器
objective-c - 无法使用 EarlGrey 向上滚动
我有一个“UICollectionView”,我可以在其中向下滚动,但不能向上滚动。我不确定我是否遗漏了一些非常简单的东西 - 下面是代码:
(格式很奇怪,所以这里是截图)
第一个块完美执行,但应用程序不会再次向上滚动,我需要点击的按钮仍然在屏幕外。
编辑:尝试grey_sufficientlyVisible
按照@gran_profaci 添加,但仍然无法找到该元素。
no UI element matching (matcherForSufficientlyVisible(>=0.750000) && (respondsToSelector(accessibilityIdentifier) && accessibilityID("bar"))) was found.
但是,它仍然存在于记录的层次结构中。
ios - 处理 Podfile 的预安装挂钩时出错。未定义的方法“install_gem”
我收到 pod 安装/更新错误。我正在尝试看一下EarlGrey演示。以下是 podfile 的内容。
抛出的错误:
ios - EarlGrey 冻结动画并且不回调
有一种方法以异步块作为参数。
应用程序第一次运行时,会调用这个方法,并且有一个覆盖整个屏幕的动画。该方法是进行网络调用,这可能需要相当长的时间,大约 7 秒左右。当块运行时,回调结束动画并且应用程序准备好再次与之交互。
当我在模拟器中运行应用程序并四处点击时,一切都按预期运行。当我运行 EarlGrey 测试目标时,动画冻结,测试最终失败,因为有一个元素找不到。在动画视图(的子类)后面UIView
,一些步骤仍然成功执行,即使元素不可见。
最后,这仅在应用程序的第一次运行时发生,因为后续测试运行中的网络调用要短得多。
我尝试更改配置以禁用动画,但似乎没有什么对我有用。我不能真正粘贴代码,因为该应用程序是专有的。
我很高兴回答任何和所有澄清问题,并非常期待一些帮助!