我有两个单选按钮,第一个选中了。现在,在我的测试文件中,我想选中第二个单选按钮,然后继续进一步测试。我找不到这样做的方法。
以下是我的单选按钮:
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="RadioButton" (change)="some_func(true)" checked>
<label class="form-check-label" for="inlineRadio1">Radio1</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="RadioButton" (change)="some_func(false)">
<label class="form-check-label" for="inlineRadio2">Radio2</label>
</div>
我尝试了以下方法来更改单选按钮值,但不起作用:
let options: DebugElement[] = fixture.debugElement.queryAll(By.css('input[type="radio"]'));
options[1].triggerEventHandler('change', { target: options[1].nativeElement });
有人能帮我一下吗,我怎样才能选中第二个单选按钮?
2条答案
按热度按时间pjngdqdw1#
Cypress有自己的API用于与link元素交互
cy.get('[data-cy=form-check-label]').find('input').check()
假设div Package 了你的输入,你可以在它的子输入上使用
find()
并调用check()
,使用data-cy=some_name
给你的元素指定cypress选择器,然后你就知道如果元素属性改变了,比如类,你的测试不会受到影响。uurv41yg2#
我想你可以在这里找到解决办法:
Jasmine test for checkbox change handler function in angular 12
options[0].triggerEventHandler('change', { target: { checked: true } });
options[1].triggerEventHandler('change', { target: { checked: true } });