我正在尝试使用Sikuli和Eclipse在Mac上自动化桌面应用程序。
源代码:
import org.sikuli.script.FindFailed;
import org.sikuli.script.ImagePath;
import org.sikuli.script.Screen;
public class TextEditorExample {
public static void main(String[] args) throws FindFailed {
// TODO Auto-generated method stub
Screen s=new Screen();
System.out.println(ImagePath.getBundlePath());
s.click("spotlight_icon.png");
s.find("spotlight.png");
s.type("spotlight.png","finder");
s.click("applications.png");
s.click("texteditor_icon.png");
s.find("texteditor.png");
s.type("texteditor.png","Sikuli Example");
}
}
但我收到以下错误:
[error] Image: Image not valid, but TextSearch is switched off!
[error] RunTimeAPI: Wait: Abort: unknown
[error] RunTimeAPI: ImageMissing: spotlight_icon.png
sikuli脚本的路径:
/Users/adamin/Desktop/Automation/SikuliExample/src/TextEditorExample.java
图片路径:
/Users/adamin/Desktop/Automation/SikuliExample/src/spotlight_icon.png
/Users/adamin/Desktop/Automation/SikuliExample/src/spotlight.png
/Users/adamin/Desktop/Automation/SikuliExample/src/applications.png
/Users/adamin/Desktop/Automation/SikuliExample/src/texteditor_icon.png
/Users/adamin/Desktop/Automation/SikuliExample/src/texteditor.png
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
默认情况下,imagepath设置为项目根文件夹,并且只在那里查找模式。只需手动将捆绑路径设置为文件所在的位置:
<xx.xx.NonScrollListView
android:id="@+id/lv_nonscroll_list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</xx.xx.NonScrollListView>
或者,将文件放在以下所返回的文件夹中:
ImagePath.setBundlePath("fullpath");
答案 1 :(得分:0)
使用模式。
Pattern pattern = new Pattern(path+"spotlight_icon.png");
Screen s=new Screen();
try {
s.click(pattern);
} catch (FindFailed e) {
e.printStackTrace();
}
答案 2 :(得分:0)
当图像无法加载时,很可能出现此错误。同时,请使用此方法
try{
String path = "path of your image";
Pattern target = new Pattern(path);
Screen scr = new Screen();
scr.click(target);
}
catch(Exception e)
{
e.printStackTrace();
}
ý