Chrome浏览器在点击网址后会抛出白色身份验证框



我正在用selenium,java框架编写UI自动化测试用例。 我能够毫无问题地运行所有测试用例,直到没有实施身份验证。在实施身份验证后,他们引入了用户名和密码以及登录按钮。现在我无法在 chrome 浏览器中运行任何 UI 自动化测试,当我通过自动化脚本点击 URL 时,我收到一个白色的身份验证框,说服务器 xxxx 需要用户名和密码。它可以防止硒脚本单击网页上的任意位置。

同时,我能够在chrome浏览器中手动正常工作。我可以点击登录图标。

嗨,

要使网络驱动程序正常工作,您必须在身份验证框中传递用户名和密码,您可以像下面这样操作

方式1:使用硒警报

Alert alt = driver.switchTo().alert();   
alt.authenticateUsing(new UserAndPassword(uid, pwd));

方式2:直接在url中传递用户名和密码

driver.get("http://username:password@yoururl.com");

方式3:使用java的机器人类

 Robot rb = new Robot();
     //Enter user name by ctrl-v
     StringSelection username = new StringSelection("username");
     Toolkit.getDefaultToolkit().getSystemClipboard().setContents(username, null);            
     rb.keyPress(KeyEvent.VK_CONTROL);
     rb.keyPress(KeyEvent.VK_V);
     rb.keyRelease(KeyEvent.VK_V);
     rb.keyRelease(KeyEvent.VK_CONTROL);
     //tab to password entry field
     rb.keyPress(KeyEvent.VK_TAB);
     rb.keyRelease(KeyEvent.VK_TAB);
     Thread.sleep(2000);
     //Enter password by ctrl-v
     StringSelection pwd = new StringSelection("password");
     Toolkit.getDefaultToolkit().getSystemClipboard().setContents(pwd, null);
     rb.keyPress(KeyEvent.VK_CONTROL);
     rb.keyPress(KeyEvent.VK_V);
     rb.keyRelease(KeyEvent.VK_V);
     rb.keyRelease(KeyEvent.VK_CONTROL);
     //press enter
     rb.keyPress(KeyEvent.VK_ENTER);
     rb.keyRelease(KeyEvent.VK_ENTER); 

希望这对你有帮助

您是否尝试过在基本URL链接中添加用户和密码,例如:http://user:password@your_domain?

相关内容

最新更新