如何在 Testcafe 断言中的 1 个可能参数上添加 2 个常量?

How can one add 2 constants on 1 possible parameters in a Testcafe assertion?

我正在使用 Testcafe 设置一个测试套件,它能够检查使用 XAF 框架制作的多个 Web 应用程序的界面。 问题是,同一位置上的一些具有相同功能的按钮确实有不同的名称(即 "Sortierung aufheben" 和 "Sortierung entfernen")。 现在我想给Testcafe这两个选项让其选择,让它使用测试中需要的那个。

我正在使用 VSC 在 Typescript 3.5 中编写测试,Chrome 到 运行 测试。 当我只在 withText() 选择器上添加一个选项时,Testcafe 运行 巧妙地表达了我的主张。如果我尝试在一个数组中添加两个(见下面的代码),它会首先检查第一个 - 如果一个网站是错误的 - 并且会失败。

我的测试是这样进行的:

// Functions_Library.ts
FindListMultipleElements(propertyName, elementNames: string[]): Selector {
        var selector = "[class^='dxm-"+propertyName+"']";
        for (var i=0; i < elementNames.length; i++) {
            var element = Selector('body').find(selector).withText(elementNames[i]);
            if (element != null) {
                        return element;
                    }
        }
// all_tests.ts
listViews.forEach(listView => {

        test(`${moduleName} - ${listView.navbarItem} - ColumnCheck Tests`, async t => {
            await t
        .click(lib.FindListMultipleElements('content', ['Sortierung aufheben','Sortierung entfernen']))
         });
});

我想让 Testcafe 跳过不合适的参数或者只选择正确的参数。这在某种程度上可能吗?

据我了解,您需要在单击元素之前检查它是否存在。使用 TestCafe 是可能的。请参阅此以获取详细信息。

因此,您可以创建一个 selectors 数组并遍历它们直到找到选择器。如果成功找到,您可以继续使用它。