问题标签 [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.

0 投票
1 回答
300 浏览

earlgrey - 如何在同一个项目中同时使用 EarlGrey 和 XCTest?

因为,XCTest 要求它的实例使用如下代码片段启动:

EarlGrey 以不同的方式初始化应用程序实例。因此,当我尝试将两个代码交织在一起时,测试失败了,因为底层的钩子无法在它们之间切换。你能建议我如何进行吗?

0 投票
2 回答
54 浏览

earlgrey - 构建测试目标失败并出现此错误“此项目需要未定义 NS_Block_Assertions

尝试开始使用 EarlGrey,我按照步骤手动将 EarlGrey 添加到项目中。但是每次我尝试构建测试目标时,它都会因这个错误而失败

/EarlGrey-1.0.0/EarlGrey.pch:27:4:“该项目要求 NS_BLOCK_ASSERTIONS 未定义。”

其他人遇到这个问题并有建议吗?

0 投票
1 回答
150 浏览

ios - 在功能测试用例中,对元素是否存在的 nil 检查未按预期工作

假设我setup()在运行这样的测试用例之前在方法中使用了代码片段:

我遇到了一个错误。发现断言'assertWithMatcher: matcherForSufficientlyVisible(>=0.750000)' was not performed because no UI element matching (respondsToSelector(accessibilityIdentifier) && accessibilityID("TabBar-Navigation-Activity"))

其实我想检查一个元素的存在。如果元素存在,请执行某个步骤或执行其他操作。但是,尽管该元素不存在于该特定屏幕上,但循环内的代码并未执行。任何建议将不胜感激。

0 投票
0 回答
105 浏览

earlgrey - Include of non-modular header inside framework module 'EarlGrey'

I tried to run the FunctionalTests that comes packed with the EarlGrey demo project.

I ended up seeing this error. How do I resolve it.enter image description here

0 投票
1 回答
279 浏览

ios - (Swift, EarlGrey) 将滑块移动到中间

我正在编写一些测试,我需要转到滑块的中间。我想获得滑块的 minimumValue 和 maximumValue,如下图所示: 在此处输入图像描述

这些值可能会改变,所以每次我需要在我的代码中获取它们时。后来,我只想得到这两个值的平均值,并使用一种方法将滑块移动到中间

如何在我的代码中获取 minumumValue 和 maximumValue?这是最好的方法还是将播放头移动到滑块的中间有更好的方法?

0 投票
1 回答
811 浏览

ios - 在 EarlGrey 中随机选择

我正在使用 XCTest 编写相当复杂的 UI 测试,最近切换到 EarlGrey,因为它更快且更可靠 - 测试不会在构建服务器上随机失败,并且测试套件可能需要长达半小时才能运行!

我在 EarlGrey 中无法做到但我可以在 XCTest 中做的一件事是随机选择一个元素。

例如,在 calendar 上,我可以使用 'identifier'collectionView查询所有s ,然后随机选择一天使用来获取索引,然后.collectionViewCellNSPredicate[XCUIElementQuery count]tap

现在,我将对其进行硬编码,但我希望随机选择日期,这样如果我们更改应用程序代码,我就不必重写测试。

如果我能详细说明,请告诉我,期待解决这个问题!

0 投票
0 回答
74 浏览

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 英寸模拟器

0 投票
1 回答
821 浏览

objective-c - 无法使用 EarlGrey 向上滚动

我有一个“UICollectionView”,我可以在其中向下滚动,但不能向上滚动。我不确定我是否遗漏了一些非常简单的东西 - 下面是代码:

(格式很奇怪,所以这里是截图)

在此处输入图像描述

第一个块完美执行,但应用程序不会再次向上滚动,我需要点击的按钮仍然在屏幕外。

编辑:尝试grey_sufficientlyVisible按照@gran_profaci 添加,但仍然无法找到该元素。

no UI element matching (matcherForSufficientlyVisible(>=0.750000) && (respondsToSelector(accessibilityIdentifier) && accessibilityID("bar"))) was found.但是,它仍然存在于记录的层次结构中。

在此处输入图像描述

0 投票
0 回答
324 浏览

ios - 处理 Podfile 的预安装挂钩时出错。未定义的方法“install_gem”

我收到 pod 安装/更新错误。我正在尝试看一下EarlGrey演示。以下是 podfile 的内容。

抛出的错误:

0 投票
2 回答
257 浏览

ios - EarlGrey 冻结动画并且不回调

有一种方法以异步块作为参数。

应用程序第一次运行时,会调用这个方法,并且有一个覆盖整个屏幕的动画。该方法是进行网络调用,这可能需要相当长的时间,大约 7 秒左右。当块运行时,回调结束动画并且应用程序准备好再次与之交互。

当我在模拟器中运行应用程序并四处点击时,一切都按预期运行。当我运行 EarlGrey 测试目标时,动画冻结,测试最终失败,因为有一个元素找不到。在动画视图(的子类)后面UIView,一些步骤仍然成功执行,即使元素不可见。

最后,这仅在应用程序的第一次运行时发生,因为后续测试运行中的网络调用要短得多。

我尝试更改配置以禁用动画,但似乎没有什么对我有用。我不能真正粘贴代码,因为该应用程序是专有的。

我很高兴回答任何和所有澄清问题,并非常期待一些帮助!