我正在用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?