我有一个已经使用Selenium Flex重新编译的Flash应用程序。
使用FlashFirebug我能够找到该应用程序的定位器,并且我已经使用Selenium Flex API与Selenium RC编写脚本,当我运行脚本时,这些定位器被识别但无法执行操作。
在selenium IDE中,也可以识别这些定位器,但无法执行单击等操作。在这里,我将user-extension.js附加到我的IDE。
答案 0 :(得分:3)
这就是我找到问题的根本原因:
document.getElementById(swfId)
ExternalInterface.addCallback("doFlexMouseDown", mouseCommands.doFlexMouseDown);
表示名为 doFlexMouseDown (在MouseCommands.as中定义)的Javascript函数已在swf中公开。执行Javascript表达式typeof document.getElementById('swfId').doFlexMouseDown
应评估为 function (不是 undefined )。您还应该能够在没有错误的情况下调用此函数 - document.getElementById(swfId).doFlexClick('idOfFlexObject')
其中idOfFlexObject
是swf中某个对象(例如按钮)的ID。答案 1 :(得分:0)
通过SFAPI(Slenium Flex API)单击flex应用程序非常简单 您必须使用SeleniumFlexAPI.swc文件编译您的Flex代码,您将在SFAPI文件夹中获取该文件,对于SFAPI的这些文件, 您需要按照以下步骤See here
执行