【发布时间】:2019-12-18 20:11:21
【问题描述】:
我正在使用 Testcafe 设置一个测试套件,该套件能够检查使用 XAF 框架制作的多个 Web 应用程序的界面。 问题是,同一位置上具有相同功能的某些按钮确实具有不同的名称(即“Sortierung aufheben”和“Sortierung entfernen”)。 现在我想给Testcafe这两个选项供选择,让它使用测试中需要的那个。
我正在使用 VSC 和 Chrome 在 Typescript 3.5 中编写测试来运行测试。
当我只在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 跳过不合适的参数,或者只选择正确的参数。这有可能以某种方式实现吗?
【问题讨论】:
-
你控制html吗?如果按钮具有相同的功能,我会添加一个类
my-button-type并找到它。这样一来,您就可以放心地应对未来的措辞变化。 -
遗憾的是没有,一位前辈正在使用 XAF-Framework 来生成它。
标签: typescript automated-tests e2e-testing assertion testcafe