我正在使用Appium为IOS自动化编写Python代码,但是却遇到了这个问题: 检查点检查tableView中的某些单元格,更改设备位置设置(单元格将不同,数字和文本),如果文本和图像正确显示在单元格中,并且图像与文本匹配,如足球图标匹配“足球”,我试图找到webdriver api来捕获单元格的快照,但我找到的所有方法都是针对驱动程序的,它只能捕获整个屏幕。
so we found a way to check this: first we capture the correct screenshot for the cells manually, then running the automation script, use the correct cell_screenshot to check if it appears in the screen
import org.sikuli.api.DesktopScreenRegion;
import org.sikuli.api.ImageTarget;
import org.sikuli.api.ScreenRegion;
import org.sikuli.api.Target;
public class SnapShot {
static DesktopScreenRegion sr = new DesktopScreenRegion();
static Target image;
static ScreenRegion result;
static String fileURL;
private static String getImageURL(String fileURL){
return "screenshots/" + fileURL;
}`enter code here`
public static boolean imageExists(String fileURL, Double similar, int timeout){
timeout = timeout * 1000;
image = new ImageTarget(new File(getImageURL(fileURL)));
image.setMinScore(similar);
result = sr.wait(image, timeout);
if (result == null){
System.out.println("Can not find image");
return false;
}
return true;
}
}
此代码可以使用imageExists判断图像是否可以在另一个图像中找到 我为python搜索sikuli api,但找不到任何东西,看起来只有java api 现在我被困在这里,有人可以帮忙吗?非常感谢!
答案 0 :(得分:0)
Sikuli也支持Jython。事实上,这是Sikuli的默认脚本语言。所以你可以在Jython中编写类似的逻辑,然后从Python调用该脚本(如果可以的话)。我见过用户使用Java来调用sikuli脚本。有关Sikuli的详细信息,请参阅here。