如果量角器无法在视图中定位元素,如何在量角器测试中执行自动滚动到元素?

实验

我有一套测试,如果量角器无法在当前视图中找到元素,我想自动滚动到页面上的元素。

这些测试是在对 UI 进行一些更改以修复标题之前编写的。这导致很少的 e2e 测试失败。

目前,我必须访问每个失败的“it ​​阻止”并使用辅助函数滚动到元素。

如果无法定位元素,我希望指示量角器再次查找元素。

这可能吗?

炼狱0

您可以创建一个 wait(ExpectedCondition),例如在单击元素或执行任何其他操作之前等待元素超时。

等待 waitUntilPresenceOfElement(element(by.id('some id')));

export async function waitUntilPresenceOfElement(element: ElementFinder, timeout: number = 5000): Promise<any> {
    return await browser.wait(ExpectedConditions.presenceOf(element),
        timeout,
        'Waiting for element ' + element.locator() + 'to be PRSENCE with timeout ' + timeout + 'ms'
    ); }

如果找不到超时定义的元素,则说明有问题。

第二种解决方案是使用异常句柄并创建一些重试函数。

export async function clearText(textBox: ElementFinder) {

    try {
        await textBox.clear().then(() => {
            console.log('Text field has been cleared.');
        });
    } catch (error) {
        // example for no such element exception
        if (error instanceof NoSuchElementError) {
            // retry function
        } else {
            console.log('Error wile trying to clear text from element.');
            throw error;
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法使用茉莉(量角器)定位元素

来自分类Dev

如何在量角器中按跨度值定位元素?

来自分类Dev

量角器未滚动到测试元素

来自分类Dev

量角器 - 通过 className 和 text 定位元素

来自分类Dev

量角器自定义定位器无法定位元素

来自分类Dev

向下滚动到带有量角器的元素

来自分类Dev

如何在量角器中查找元素定位器

来自分类Dev

如何在量角器中识别此元素?

来自分类Dev

量角器:如何定位给定元素的同级?

来自分类Dev

在量角器中定位父元素的推荐方法

来自分类Dev

量角器元素无法点击

来自分类Dev

无法定位量角器 UI 导航测试的 Angular 元素

来自分类Dev

单击元素-量角器

来自分类Dev

在量角器中测试材料设计元素

来自分类Dev

用量角器在ng重复中测试元素计数

来自分类Dev

量角器-如何获取刚刚执行动作的元素?

来自分类Dev

量角器-如何获取刚刚执行动作的元素?

来自分类Dev

量角器:如何访问兄弟元素?

来自分类Dev

验证元素在量角器中消失

来自分类Dev

量角器等待元素在DOM中

来自分类Dev

量角器-滚动到无限滚动器中的问题

来自分类Dev

如何在量角器中定位 Ngrx/Store

来自分类Dev

无法在量角器中单击循环中的元素

来自分类Dev

如何在量角器中等待直到启用元素

来自分类Dev

如何在量角器中等待直到启用元素

来自分类Dev

如何检查量角器中DOM元素的存在?

来自分类Dev

如何单击量角器中的隐藏元素?

来自分类Dev

如何检查量角器中是否存在元素?

来自分类Dev

如何单击量角器中的隐藏元素?