如何使用剧作家或柏树选择蚂蚁设计选择选项

时间:2021-07-14 22:28:31

标签: reactjs selenium ant-design-pro playwright e2e

如何使用任何 e2e 自动化框架在 ant design Select 组件中选择选项? (我将能够将您的解决方案重写为我个人使用的剧作家)

我知道这个问题可能看起来很简单,所以您可能会想提出类似 await click('#option-id') 之类的建议,我真的希望它会那么简单。我尝试了几乎所有方法,从简单的点击、绝对鼠标定位、virtual={false}、分派自定义鼠标和键盘事件、超时/悬停/强制点击的组合以及此列表中列出的所有其他内容,不幸的是没有任何效果。

我相信只有在当前维护的代码中具有此选项选择逻辑的人才能回答这个问题,因为组件会不断更新,并且您现在所做的任何假设在一年左右后都会有所不同。

我还阅读了有关此问题的所有问题,维护人员/开发人员似乎并不在意,因为他们没有使用此类测试。

我不想阻止任何人回答,只是为了让您知道我已经尝试过了。

1 个答案:

答案 0 :(得分:2)

剧作家元素句柄具有 Query All Selector。如果 xpath 的至少一部分保持不变,您可以使用 $$ 选择器。

该函数将返回 <Promise<Array<ElementHandle>>>,然后您可以将其解析并挂钩到您要进行的选择的索引。

例如 -

const selector = "//div[contains(@attribute, 'selection-options-partial-id-text')]"    
const allSelectionOptions = await page.$$(selector);
await allSelectionOptions[index].click();

这将起作用,假设 Select 下的所有选项在它们的 xpath 中必须有一个公共部分,或者如果定义了,它们的 data-test-id