Java 等待ExtJS对话框加载Selenium
当使用Selenium(WebDriver)测试ExtJS应用程序时,我有一个按钮可以打开一个对话框。然后,测试会填写一些表单字段、单击按钮等。问题是selenium在对话框完全构建完成之前就开始执行这些操作Java 等待ExtJS对话框加载Selenium,java,extjs,selenium,webdriver,Java,Extjs,Selenium,Webdriver,当使用Selenium(WebDriver)测试ExtJS应用程序时,我有一个按钮可以打开一个对话框。然后,测试会填写一些表单字段、单击按钮等。问题是selenium在对话框完全构建完成之前就开始执行这些操作 我知道我可以告诉硒等待一个特定的元素出现,但是如果我想把这个案例推广到“等待对话框完成加载”,有没有办法做到这一点呢? < P>简短的回答是,“不,没有简单的方法来做这件事”。是在下载最后一个关闭标签时吗?当它被解析并添加到DOM中时?是当文档readyState属性为“交互式”、“con
我知道我可以告诉硒等待一个特定的元素出现,但是如果我想把这个案例推广到“等待对话框完成加载”,有没有办法做到这一点呢?
< P>简短的回答是,“不,没有简单的方法来做这件事”。是在下载最后一个关闭标签时吗?当它被解析并添加到DOM中时?是当文档readyState
属性为“交互式”、“contentReady”或其他值时?那么通过JavaScript添加的DOM元素呢?如果该JavaScript是通过setTimeout()
触发的呢?处理XmlHttpRequests怎么样?对于这个问题,没有一个一刀切的答案在所有用例中都是100%正确的
等待元素是正确的方法。使用extJs时,由于生成的ID,识别正确的元素可能很困难。我经常发现在特定的JavaScript框架中使用类属性更有效简短的回答是:“不,没有简单的方法。”要理解为什么会这样,考虑一下:你如何定义“整个DOM被加载”?是在最后一次关闭<代码> <代码>标签下载的时候吗?当它被解析并添加到DOM中时?是当文档readyState
属性为“交互式”、“contentReady”或其他值时?那么通过JavaScript添加的DOM元素呢?如果该JavaScript是通过setTimeout()
触发的呢?处理XmlHttpRequests怎么样?对于这个问题,没有一个一刀切的答案在所有用例中都是100%正确的
等待元素是正确的方法。使用extJs时,由于生成的ID,识别正确的元素可能很困难。我经常发现在特定的JavaScript框架中使用类属性更有效 对话框和其他元素之间有什么区别?为什么不检查一些dialog的DOM元素呢?我想知道整个DOM是否已经加载完毕,而不仅仅是一个特定的元素。你可以编写更复杂的条件(检查一些变量、弹出状态等),然后用WebDriverWait包起来。我想问题更多的是extjs在生成某些组件时使用动态ID,很难找到它们,也很难知道等待什么对话框和其他元素之间有什么区别?为什么不检查一些dialog的DOM元素呢?我想知道整个DOM是否已经加载完毕,而不仅仅是一个特定的元素。你可以编写更复杂的条件(检查一些变量、弹出状态等),然后用WebDriverWait包起来。我想问题更多的是extjs在生成某些组件时使用动态ID,很难找到它们,也很难知道要等待什么。我想你用生成的ID抓住了要点。我们将进一步了解类属性。我认为您在这里用生成的ID抓住了要点。我们将进一步了解类属性。