gpt4 book ai didi

Detox - 如何在不使用 expect 的情况下检查元素是否存在

转载 作者:行者123 更新时间:2023-12-01 22:02:39 25 4
gpt4 key购买 nike

有没有一种方法可以在不使用 Detox 的情况下检查元素是否存在?现在,我必须将我的逻辑嵌套在 try/catch block 中以控制测试流程,以减轻在继续测试之前检查屏幕状态时的不稳定。我更愿意使用 if/else。

提前感谢您的任何建议。

最佳答案

这不是最优雅的解决方案,但我使用了以下内容来简化我的代码。

在帮助文件中,我创建了包装 try/catch 并返回 true/false 的函数:

例如:

const expectToBeVisible = async (id) => {
try {
await expect(element(by.id(id))).toBeVisible();
return true;
} catch (e) {
return false;
}
};

module.exports = { expectToBeVisible };

然后,当我执行取决于该元素是否可见的测试时,我可以执行以下操作:

import { expectToBeVisible } from './helpers';

describe('Test', () => {

...

it('If button is visible do X else do Y', async () => {
let buttonVisible = await expectToBeVisible('button');

if (buttonVisible) {
// do something with that button
} else {
// do something else as the button isn't visible
}
});

...
});

这不是最好的解决方案,但在 Detox 提出 if/else 的能力之前,它在紧要关头就足够了。

关于Detox - 如何在不使用 expect 的情况下检查元素是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53245252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com