4

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

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

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

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

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

4

1 回答 1

2

Playwright 元素句柄具有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.

于 2021-07-24T22:37:52.937 回答