我正在使用Cypress.io测试平台和Chrome浏览器/最新版本。
我有3个选择下拉菜单。默认情况下,第一个启用,因此我可以选择它。第二个和第三个禁用。手动进行选择并选择第一个下拉菜单时,将启用第二个下拉菜单,然后在选择第二个下拉菜单时,将启用第三个下拉菜单。我可以分别使用cy.get
的名称或索引0、1或2来分别对每个地址进行寻址。所以我只用这个问题的索引。
现在,当我使用赛普拉斯以编程方式选择第一个下拉菜单时:
cy.get('select').eq(0).select('Nursing', {force: true})
...第二个下拉列表保持禁用状态。在选择第一个下拉菜单后,我添加了cy.wait(2000)
[2秒],要花很多时间,然后我尝试选择第二个下拉菜单,例如:cy.get('select').eq(1).select('US - Alaska', {force: true})
,但出现此错误:>
CypressError: Timed out retrying: cy.select() failed because this element is currently disabled: <select id="course-finder-location-select" name="course_finder_location" data-select2-id="course-finder-location-select" disabled="" tabindex="-1" class="select2-hidden-accessible" aria-hidden="true"></select>
,这是第二选择。
如您所见,我通过eq(1)
使用了它的索引,它正确地将其标识为第二选择。
我试图弄清楚如何使用赛普拉斯测试命令启用第二个下拉菜单。我什至包括了一个不会引起错误的jQuery CDN。但是,当我尝试添加在控制台中运行的jQuery命令时[启用第二选择]:
jQuery("#course-finder-location-select").prop( "disabled", false )
,
我的赛普拉斯测试完全崩溃,没有错误。它似乎不喜欢jQuery命令,甚至不喜欢JavaScript-我也尝试过这样做:
document.getElementById("course-finder-location-select").disabled = false
[尽管我可以做一个window.alert("!")
]。
有什么想法可以让第二个选择启用赛普拉斯?我根本无法更改HTML文件。
提前感谢您的宝贵时间!如果您有任何建议可以更改此字词,请告诉我。我还没有设置赛普拉斯的沙箱。
答案 0 :(得分:0)
将此用于第二个下拉列表:
/* Bubble sort the given linked list */
void bubbleSort(struct Node *start)
{
int swapped;
struct Node *ptr1;
struct Node *lptr = NULL;
/* Checking for empty list */
if (start == NULL)
return;
do
{
swapped = 0;
ptr1 = start;
while (ptr1->next != lptr)
{
if (ptr1->data > ptr1->next->data)
{
swap(ptr1, ptr1->next);
swapped = 1;
}
ptr1 = ptr1->next;
}
lptr = ptr1;
}
while (swapped);
}