最近自动化遇到一个问题,上传图片开发改成了使用Flash控件上传。直接用selenium的sendKeys一直获取不到。找了一些资料才知道selenium不支持Flash控件上传,提到了几种方法,比如Action、autoit、sikuli。我用了Action模拟鼠标操作,但是也没有成功。有人说autoit其实也是借鉴sikuli的做法。所以就直接选择了集成sikuli工具。
先下载安装sikuli。把安装目录下的sikulixapi.jar引入。就可以直接使用了。
代码如下(java):
Screen s = new Screen();
try {
if(s.exists("F:/SVN/selenium/EducationPlatForm/src/main/java/image/selectPic.png") != null) {
fileLoads = s.findAll("F:/SVN/selenium/EducationPlatForm/src/main/java/image/selectPic.png");
while(fileLoads.hasNext()) {
s.click(fileLoads.next());
s.wait("F:/SVN/selenium/EducationPlatForm/src/main/java/image/openWin.png");
s.click("F:/SVN/selenium/EducationPlatForm/src/main/java/image/picture.png");
s.click("F:/SVN/selenium/EducationPlatForm/src/main/java/image/openPic.png");
}
}
} catch (FindFailed e) {
e.printStackTrace();
}
本文详细介绍了在遇到Selenium无法处理Flash控件上传问题时,通过集成Sikuli工具成功实现上传功能的过程。包括下载安装Sikuli、引入sikulixapi.jar文件、编写Java代码实现鼠标操作模拟,最终解决上传问题的步骤。此解决方案适用于需要在自动化测试中处理Flash控件上传的场景。
685

被折叠的 条评论
为什么被折叠?



