我更像是服务器端和javascript程序员。我从未对Flash做过多少工作。
我有一个基于flash的swfuploader的强大html表单,我需要使用Selenium 2 / WebDriver进行测试。
问题是,
movieContent.CallFunction('<invoke name="selectFiles" returntype="javascript">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>');
Flash 10中不支持...
我们该怎么办?如果有可能我可以js.executeScript(script);
但是现在我必须在我的java junit / selenium测试中做某种movieContent.click()
,但它不会触发选择文件窗口,它不会做任何事情。
可以将鼠标移动到指定的坐标并使用MoveToOffsetAction单击,但我没有设法使用FirefoxDriver和chromeDriver 2.0b3 ...
答案 0 :(得分:0)
这是一项防止网站访问本地客户端文件系统的安全功能。文件系统只能通过堆栈跟踪中的用户交互进行访问。 IE:鼠标点击。
控制鼠标也会违反安全规定。
你最好的选择是用你的onclick事件从flash功能启动selenium。
此功能首先允许您选择要上载的“测试”文件,然后让该功能触发selenium测试。