我正在使用cypress.io测试Webform应用程序。我正在尝试测试Telerik Radcombobox,radcombobox使用Ajax回发从服务器获取公司列表。这是行为,请首先在建议输入框中单击3+个字符,例如'test1',然后等待建议列表加载,然后单击建议列表中的第二个元素。在这种情况下,服务器返回3家公司。所以我想单击列表中的第二个元素。
我的问题是该测试很不稳定,因为获取公司列表的响应时间有所不同。
我现在正在使用等待功能来等待列表加载。 cy.wait(500)// 500毫秒 https://example.cypress.io/commands/waiting
describe('Create a new delivery package', function(){
beforeEach(() => {
cy.visit('/NewDeliveryPackage.aspx');
});
it('Login as admin and create new delivery package', function() {
cy.login('username', 'password')
.get('#ctl00_ContentPlaceHolder1_CompanyComboBox_Input')
.type('test1')
.wait(500) // flaky test (sometimes server takes more than 500ms)
.get(#ctl00_ContentPlaceHolder1_CompanyComboBox_DropDown > div.rcbScroll.rcbWidth > ul > li:nth-child(2)')
.click()
})
})