gpt4 book ai didi

java - Selenium ,Java,waitForCondition

转载 作者:搜寻专家 更新时间:2023-11-01 03:44:16 26 4
gpt4 key购买 nike

我想检查以下内容(在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com