Testing cypress和select2未在选择时触发

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

我是cypress的新手,通过各种示例来支持我的应用程序测试

我有一个使用select2的选择框-我可以成功地从下拉框中选择项目,但cypress不会触发select事件,我的代码将从该事件中运行

如何让Cypress选择项目,然后触发select事件

以下是我的测试代码:

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种子动态添加测试值,因此不知道文本将包含什么,简化和添加的虚拟值我现在知道存在并且您的方法有效。这已在另一个问题中得到回答