使用 Detox 测试与超时相关的测试,例如 Popups/Tooltips 等
Testing timeout-related tests, such as Popups/Tooltips etc with Detox
我已经使用 detox
一段时间了,但是在升级到 17.5.+
之后,我开始面临弹出窗口测试的问题。我没有找到有关堆栈溢出和排毒问题的有用信息。
这里的问题如下:我有一个测试来检查是否显示了正确的弹出窗口。看起来像:
it('expect to see "Answer correct" popup', async () => {
await openQuestionnaire('theory_questionnaire_learn_button');
await scroll('questionnaire_scroll_view', 150);
await element(by.id('select_1_button')).tap();
await element(by.id('questionnaire_answer_button')).tap();
// @ts-ignore
await expect(element(by.id('questionnaire_simple_popup'))).toBeVisible();
// @ts-ignore
await expect(element(by.id('questionnaire_simple_popup'))).toHaveLabel('correct');
await delay(500);
// @ts-ignore
await expect(element(by.id('questionnaire_simple_popup'))).toNotExist();
});
背景:点击 questionnaire_answer_button 后,会出现弹出窗口。它可见 500 毫秒,然后消失。对于这 500 毫秒,我使用 setTimeout({ () => dismiss() }, 500)
.
弹出窗口在模拟器上可见,但我的测试失败 Test Failed: No elements found for “MATCHER(identifier: == “questionnaire_simple_popup”)”
正在检查层次结构我在那里找不到这个元素。也许其他人已经遇到过这个问题并且知道解决方案?
如果没有找到标识符,则表示标识符没有正确设置为原生视图的无障碍标识符。与弹出窗口开发人员核实 testID 是否已正确转发到本机视图。
好的,我尝试了几次后发现了什么。它在将超时时间从 500 毫秒增加到 3000 毫秒后开始工作。 2500还是不行,2750没试过。关于匹配器。 by.id
和 by.text
也适用。
所以原因可能是超时持续时间。
我已经使用 detox
一段时间了,但是在升级到 17.5.+
之后,我开始面临弹出窗口测试的问题。我没有找到有关堆栈溢出和排毒问题的有用信息。
这里的问题如下:我有一个测试来检查是否显示了正确的弹出窗口。看起来像:
it('expect to see "Answer correct" popup', async () => {
await openQuestionnaire('theory_questionnaire_learn_button');
await scroll('questionnaire_scroll_view', 150);
await element(by.id('select_1_button')).tap();
await element(by.id('questionnaire_answer_button')).tap();
// @ts-ignore
await expect(element(by.id('questionnaire_simple_popup'))).toBeVisible();
// @ts-ignore
await expect(element(by.id('questionnaire_simple_popup'))).toHaveLabel('correct');
await delay(500);
// @ts-ignore
await expect(element(by.id('questionnaire_simple_popup'))).toNotExist();
});
背景:点击 questionnaire_answer_button 后,会出现弹出窗口。它可见 500 毫秒,然后消失。对于这 500 毫秒,我使用 setTimeout({ () => dismiss() }, 500)
.
弹出窗口在模拟器上可见,但我的测试失败 Test Failed: No elements found for “MATCHER(identifier: == “questionnaire_simple_popup”)”
正在检查层次结构我在那里找不到这个元素。也许其他人已经遇到过这个问题并且知道解决方案?
如果没有找到标识符,则表示标识符没有正确设置为原生视图的无障碍标识符。与弹出窗口开发人员核实 testID 是否已正确转发到本机视图。
好的,我尝试了几次后发现了什么。它在将超时时间从 500 毫秒增加到 3000 毫秒后开始工作。 2500还是不行,2750没试过。关于匹配器。 by.id
和 by.text
也适用。
所以原因可能是超时持续时间。