如何使用Selenium和Java处理普通Javascript警报对话框按钮?
我有这样的HTML页面如何使用Selenium和Java处理普通Javascript警报对话框按钮?,java,selenium,automation,webdriver,alert,Java,Selenium,Automation,Webdriver,Alert,我有这样的HTML页面 <input type="button" id="btnlogin" value="Login" onclick="goToRegister()"> 场景: 当我使用TestNG Suite执行这些脚本时,我将进入登录页面,脚本将凭证传递给用户名和密码,最后单击登录按钮 单击“登录”按钮后,会出现javascript警报…然后我会再次看到登录页面,而不是Register.html:( 问题:如何处理这种情况 谢谢, Karunagara Pandi G尝试w
<input type="button" id="btnlogin" value="Login" onclick="goToRegister()">
场景:
当我使用TestNG Suite执行这些脚本时,我将进入登录页面,脚本将凭证传递给用户名和密码,最后单击登录按钮
单击“登录”按钮后,会出现javascript警报…然后我会再次看到登录页面,而不是Register.html:(
问题:如何处理这种情况
谢谢,Karunagara Pandi G尝试window.location.assign(“);基本上,将http://添加到您的URLHi MikeJRamsey56,谢谢您的回复。我尝试了您的代码,但没有成功。我得到了登录页面。Karunagara,您的方法有点混乱。JS方法将页面重定向到
Register.html
。现在,在selenium@Test中,在alert.accept()之后
您自己正在进行html导航。是否应该有一个正确页面的断言而不是driver.get()
?如果我理解错误,请纠正我。
<script language="javscript" type="text/javascript">
function goToRegister()
{
alert("Login Successful!");
window.location.href="Register.html";
}
</script>
@Test
public void goToRegisterPage()
{
System.out.println("goToRegisterPage");
WebDriverWait wait = new WebDriverWait(driver,10);
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.accept();
driver.get("file:///X://selenium//Register.html");
}
@BeforeMethod
public void beforeMethod()
{
System.out.println("beforeMethod called " + visitcount++);
System.setProperty("webdriver.gecko.driver", "X:\\Selenium\\geckodriver-v0.17.0-win32\\geckodriver.exe");
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("file:///X://selenium//Login.html");
}