最近自动化遇到一个问题,上传图片开发改成了使用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();
}