在ReactJs中测试了相同数据的Radio Button的剧作家选择器



我需要用PlayWright测试一个流,在那里我需要更改选中的单选按钮。默认";我自己"并且需要改变为"0";其他人"。我通常使用数据测试来检查它,但问题是两者都有相同的数据测试。

这是html代码,

<div class="flex justify-center">
<div>
<div class="mt-2">
<div class="flex items-center flex-wrap -mt-2">
<div class="mt-2 mr-8">
<div class="flex items-center"><span class="pretty p-default p-round outline p-thick mr-0 "><input name="receiverType" type="radio" data-testid="value-card-receiver-type-radio-button" aria-label="Myself" value="myself" checked=""><span class="state p-primary-o"><span class="pretty-label">Myself</span></span></span></div>
</div>
<div class="mt-2 mr-8">
<div class="flex items-center"><span class="pretty p-default p-round outline p-thick mr-0 "><input name="receiverType" type="radio" data-testid="value-card-receiver-type-radio-button" aria-label="Someone else" value="someoneElse"><span class="state p-primary-o"><span class="pretty-label">Someone else</span></span></span></div>
</div>
</div>
</div>
</div>
</div>

这是我的PlayWright代码,

export class MValueCardReceiverModalModel {
private readonly page: Page;
private readonly doneButton: Locator;
private readonly backButton: Locator;
private readonly someoneElseButton: Locator;
constructor(page: Page) {
this.page = page;
this.doneButton = page.locator(
"data-testid=modal >> data-testid=value-card-receiver-modal-done-button >> visible=true"
);
this.backButton = page.locator(
"data-testid=modal >> data-testid=value-card-receiver-modal-back-button >> visible=true"
);
this.someoneElseButton = page.locator(
"data-testid=modal >> data-testid=value-card-receiver-type-radio-button >> visible=true"
);
}
async isAt(): Promise<void> {
await expect(this.doneButton).toBeVisible();
await expect(this.backButton).toBeVisible();
}
async selectForSomeoneElseButton(): Promise<void> {
await this.someoneElseButton.check();
}
async clickDone(): Promise<void> {
await this.doneButton.click();
}
}

在这里,当运行测试时,我在selectForSomeoneElseButton((中遇到了一个问题。

有人能说出我在选择器上做错了什么吗。

我找到了答案。当两个东西有相同的数据测试时,剧作家会抛出错误。在这里,我的两个收音机按钮都有相同的测试。我通过单独测试来修复它

最新更新