我们可以使用sikuli来自动生成http弹出窗口吗?

时间:2016-08-29 10:35:01

标签: java selenium automation sikuli

我正在使用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不是更好的选择,请建议除了切换到警报以外的其他内容。

先谢谢

1 个答案:

答案 0 :(得分:1)

如果您要访问具有htaccess / http弹出窗口的直接网址,则可以使用http://username:password@www.yoursiteurl模式。它将绕过登录弹出窗口。这样执行将比Sikuli实现更快。此外,您还必须在项目文件夹中添加Sikuli执行文件,Jars等。

此外,您可以使用AutiIt来处理htaccess弹出窗口,但它仅适用于Windows环境。 Sikuli将与Win / Linux / Mac一起使用。但是您必须为不同的OS /浏览器组合捕获不同的图像。即您为赢取Chrome 撰写的代码可能不适用于 Mac Chrome