这是我的代码
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new FirefoxDriver();
//Open the URL
driver.get("http://www.toolsqa.com/automation-practice-form/");
//Maximize the window
driver.manage().window().maximize();
//Click on Button which will open file upload window
driver.findElement(By.xpath(".//*[@id='photo']")).click();
// Implementing Sikuli
ScreenRegion s = new DesktopScreenRegion();
Target target = new ImageTarget(new File("D://SELENIUM WORK-PLACE/File_upload//img//Capture.PNG"));
ScreenRegion r = s.wait(target, 20000);
r=s.find(target); // Locate the target on the screen.
//Create a Canvas object of the type DesktopCanvas.
Canvas test = new DesktopCanvas();
test.addBox(r);
test.addLabel(r, "I am present here");
test.display(5);
}
}
实际结果:点击网址元素,打开文件上传框。什么都没发生。 (但是,如果我关闭Box并手动重新打开它,那么它可以正常工作)
预期输出它应该在我们第一次打开文件上传框时工作。
答案 0 :(得分:0)
你的代码很好。修正路径:“D:// SELENIUM WORK-PLACE // File_upload // img // Capture.PNG”
然后,尝试使用下面的图像来获取文件名文本字段。因为图像的大小越大,Sikuli就越有可能无法检测到元素,因为即使像素的变化可能会妨碍Sikuli识别元素。: