Testing cypress和select2未在选择时触发
我是cypress的新手,通过各种示例来支持我的应用程序测试 我有一个使用select2的选择框-我可以成功地从下拉框中选择项目,但cypress不会触发select事件,我的代码将从该事件中运行 如何让Cypress选择项目,然后触发select事件 以下是我的测试代码:Testing cypress和select2未在选择时触发,testing,jquery-select2,cypress,Testing,Jquery Select2,Cypress,我是cypress的新手,通过各种示例来支持我的应用程序测试 我有一个使用select2的选择框-我可以成功地从下拉框中选择项目,但cypress不会触发select事件,我的代码将从该事件中运行 如何让Cypress选择项目,然后触发select事件 以下是我的测试代码: cy.get('select[name=people] > option') .eq(3) .then(element => cy.get('select[name
cy.get('select[name=people] > option')
.eq(3)
.then(element => cy.get('select[name=people]').select(element.val(), {force:true}));
这将成功选择下拉列表中的第三项
然后,我有以下代码,它根据选择采取操作:
$('#people').on("select2:select", function (e) {
var selectId = $(this).select2('data')[0].id;
var castName = $(this).select2('data')[0].text;
$('option:selected', this).prop('disabled', 'disabled');
addCastTableRow(selectId, castName);
initRemoveCastButton();
$(this).select2();
});
有什么想法吗
谢谢你一些对我有用的东西:
cy.get('#select2-dummy-valuer').click()
cy.get('.select2-results').contains('foo').click()
如果您可以添加数据属性作为选择框和选项的一部分,或者尝试类似于cy.get'people.的操作,那么这将非常简单。单击cy.get'people.包含'option'。单击还,你能添加你得到的错误吗?我使用类似于cy.get的'select2-dummy-valuer'。单击cy.get'。select2 results'。包含'dummy option'。单击hi-第三个选项成功了,谢谢。我一直在尝试使用db种子动态添加测试值,因此不知道文本将包含什么,简化和添加的虚拟值我现在知道存在并且您的方法有效。这已在另一个问题中得到回答