问题描述
我正在尝试使用Selenium自动化网站,在该网站上,我单击文本为“基本身份验证”的链接。使用Java Robot类在“身份验证”弹出窗口的用户名和密码字段中输入文本。
下面是硒代码:
driver.get("http://the-internet.herokuapp.com/");
driver.findElement(By.linkText("Basic Auth")).click();
Thread.sleep(10000);
Robot r = new Robot();
// Move the mouse to the username field
r.mouseMove(420,377);
r.mousepress(InputEvent.BUTTON1_DOWN_MASK);
r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
// Enter "admin" inside the username field
r.keyPress(KeyEvent.VK_A);
r.keyrelease(KeyEvent.VK_A);
r.keyPress(KeyEvent.VK_D);
r.keyrelease(KeyEvent.VK_D);
r.keyPress(KeyEvent.VK_M);
r.keyrelease(KeyEvent.VK_M);
r.keyPress(KeyEvent.VK_I);
r.keyrelease(KeyEvent.VK_I);
r.keyPress(KeyEvent.VK_N);
r.keyrelease(KeyEvent.VK_N);
// Move the mouse to the password field
r.mouseMove(419,404);
r.mousepress(InputEvent.BUTTON1_DOWN_MASK);
r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
// Enter "admin" inside the password field
r.keyPress(KeyEvent.VK_A);
r.keyrelease(KeyEvent.VK_A);
r.keyPress(KeyEvent.VK_D);
r.keyrelease(KeyEvent.VK_D);
r.keyPress(KeyEvent.VK_M);
r.keyrelease(KeyEvent.VK_M);
r.keyPress(KeyEvent.VK_I);
r.keyrelease(KeyEvent.VK_I);
r.keyPress(KeyEvent.VK_N);
r.keyrelease(KeyEvent.VK_N);
// Press Enter key to login
r.keyPress(KeyEvent.VK_ENTER);
r.keyrelease(KeyEvent.VK_ENTER);
Thread.sleep(3500);
softassert.assertEquals(driver.findElement(By.cssSelector("h3")).getText(),"Basic Auth","Basic Auth message is not correct");
softassert.assertEquals(driver.findElement(By.cssSelector("p")).getText(),"Congratulations! You must have the proper credentials.","Credentials message is not correct");
输出:
It is throwing below error:
<<< FAILURE!
org.openqa.selenium.WebDriverException:
Failed to convert data to an object
它多次调用“需要身份验证”弹出窗口,而不仅仅是一次。另外,它既没有在用户名和密码字段中输入任何文本,也没有单击“确定”按钮。
请帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)