java - Selenium ,Java,waitForCondition

标签 java flash selenium

我想检查以下内容(在 ie8 上):

点击链接后,弹出窗口启动,然后我想检查里面的 flash 内容是否已加载。

由于某种原因 waitForPopUp 不起作用,它一直在等待并超时,但我已经通过这种方式解决了:

selenium.waitForCondition("selenium.getAllWindowTitles().length > 1;", "30000");
String windowID = selenium.getAllWindowTitles()[1];
selenium.selectWindow(windowID);

然后我想在检查任何内容之前检查 flash 内容是否存在(网页非常慢,弹出窗口需要一段时间才能显示内容)

selenium.waitForCondition("selenium.isElementPresent(\"//*[@id='flashcontent']\");",
"30000");
FlashSelenium flashApp = new FlashSelenium(selenium, "flashClient");
assertTrue ( flashApp.PercentLoaded() == 100 );

我已经尝试了数百种方法来做到这一点,但没有一种有效, 我也试过检查文本是否存在但没有,即使网页已完全加载也总是超时。

出于某种原因,如果我在调试器中逐步执行,一切正常 :S

最佳答案

我再考虑了一下。
没有办法测试对象是否真正加载并且 Flash 应用程序已准备就绪并已初始化。
让 selenium 知道 flash 对象已加载并准备就绪的唯一真正方法是让 flash 使用 ExternalInterface 方法并调用将分配 var 的 JavaScript 函数,然后让 selenium 在计时器上测试该 var。

Example<br/>
// in JavaScript
var isFlashLoaded = false;
function cbIsLoaded( ){
   isFlashLoaded = true;
}


// in AS3 
var retVal:int = ExternalInterface.call("cbIsLoaded");

关于java - Selenium ,Java,waitForCondition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6216712/

相关文章:

java - AuthzForce XACML 响应不确定

java - 从java中的xpath表达式中提取所有变量引用的最安全方法

colors - 在不同显示器之间实现颜色一致性

python - 当使用 Selenium 和 Python 传递值时,动态下拉列表不会填充 https ://www. nseindia.com/上的自动建议

java - 给物体补水是什么意思?

java - 如何让 Java 应用程序以更多内存运行?

javascript - Facebook 应用程序中的图表

flash - 扩展 Class 类是否合法?

python - 将渲染的页面从 Selenium 传递到 Scrapy

java - Jenkins 将浏览器 URL 作为 Maven Selenium Java 测试的参数传递