我正在使用selenium来实现Web应用程序的自动化。但是我在自动化期间在某些网页上获得了http登录(询问用户名和密码)弹出窗口。为此,我使用sikuli自动化那些弹出窗口。我正在使用以下代码:
private void loginWithSikuliInFirefox(){
try{
Screen screen=new Screen();
Pattern image1=new Pattern("Pictures/Uname.png");
Pattern image2=new Pattern("Pictures/Passwrd.png");
Pattern image3=new Pattern("Pictures/Ok1.png");
screen.wait(image1,10);
screen.type(image1,userName);
screen.type(image2,password);
screen.click(image3);
}
catch(Exception e){
System.out.println("There is no alert");
}
}
private void loginWithSikuliInChrome(){
try{
Screen screen=new Screen();
Pattern image1=new Pattern("Pictures/Username.png");
Pattern image2=new Pattern("Pictures/Password.png");
Pattern image3=new Pattern("Pictures/Login.png");
screen.wait(image1,10);
screen.type(image1,userName);
screen.type(image2,password);
screen.click(image3);
}
catch(Exception e){
System.out.println("There is no alert");
}
}
我制作了两个不同的功能,以便它可以在Firefox和Chrome中使用。这些都很完美。
所以,使用sikuli是更好的选择还是我应该使用其他东西?我尝试切换到警报,但这不适用于chrome。如果sikuli不是更好的选择,请建议除了切换到警报以外的其他内容。
先谢谢
答案 0 :(得分:1)
如果您要访问具有htaccess / http弹出窗口的直接网址,则可以使用http://username:password@www.yoursiteurl
模式。它将绕过登录弹出窗口。这样执行将比Sikuli实现更快。此外,您还必须在项目文件夹中添加Sikuli执行文件,Jars等。
此外,您可以使用AutiIt来处理htaccess弹出窗口,但它仅适用于Windows环境。 Sikuli将与Win / Linux / Mac一起使用。但是您必须为不同的OS /浏览器组合捕获不同的图像。即您为赢取Chrome 撰写的代码可能不适用于 Mac Chrome 。