正在测试基于CEF的单页应用程序,并且存在一些问题。因此,我的应用程序可以在许多不同的配置中生成输出文件,这些配置可以根据彼此的下拉列表进行选择。
尝试通过模拟适当的点击为所有可能的选项生成文件:显示列表选择第一个可能的选项->与列表2->再次与列表3相同->继续->导出文件->回到开头。
for (WebElement material : materialList) {
displayMaterialList.click();
material.click();
for (WebElement size : sizeList) {
displaySizeList.click();
size.click();
for (WebElement thickness : thicknessList) {
displayThicknessList.click();
thickness.click();
//Exporting file:
nextStepButton.click()
nextStepButton.click();
exportFileButton.click();
copyPasteText("filename" + "_" + currentDataTime);
previousStepButton.click();;
}
}
}
这些循环工作良好,无需导出嵌入最深循环中的文件片段,使用它们来显示所有可能选项的组合。但当我添加文件命名和导出片段测试项目时生成文件后的StaleElementReferenceException
,在第二次迭代开始时。我想它找不到thickness.click();
,但不知道为什么。
根据异常文档Selenium
常见原因
在以下两种情况中的一种情况下会抛出过时的元素引用异常,第一种情况比第二种情况更常见:
The element has been deleted entirely.
The element is no longer attached to the DOM.
请检查一下,如果看不到你试图在相当困难的情况下测试的html,请给出合适的答案。