Selenium RC在单击元素后跳过onclick()事件

时间:2013-08-02 11:40:11

标签: java javascript selenium webdriver selenium-webdriver

我遇到了无法处理的问题。我试图在谷歌搜索答案,尝试了一些东西,但它没有任何作用。

问题在于:

我正在测试登录页面,我在其中键入登录名,密码并单击“登录”按钮。一切都还可以,我正在登录页面......但在登录之前(点击“登录”按钮后)会出现一个提示,其中包含一些信息和“确定”按钮,提示符是onclick()事件的“登录” “按钮。我不知道为什么提示没有出现,我真的需要这个提示(我有类似的问题提示“你想保存更改”也没有出现 - 我假设selenium.click(.. ,..)和webelement.click()以某种方式绕过onclick()事件。你知道如何让onclick()事件正常工作吗?我正在使用IE(我必须)和selenium webdriver。

Ps.如果我“手动”执行同样的动作,提示会出现,所以我不认为这是javascript中的错误。

Ps2:请帮帮我,我试着把它修好5小时...... :(

按钮代码:

<input id="loginForm:loginCmdTest" type="submit" onclick="showAlertAndSubmitForm    ();clear_loginForm();" value="Login" name="loginForm:loginCmdTest">

java代码:

selenium.type("id=loginForm:login", login);
selenium.type("id=loginForm:pass", pass);
selenium.click("id=loginForm:loginCmdTest");

Ps.3:任何人?有什么想法吗?

1 个答案:

答案 0 :(得分:4)

简单猜测:您使用的是旧的,已弃用的Selenium RC。如果将其转移到webdriver方法会发生什么?

示例代码:

WebDriver driver = new FirefoxDriver();
driver.get("http://your-test-site.com");
driver.findElement(By.id("loginForm:login")).sendKeys("login");
driver.findElement(By.id("loginForm:pass")).sendKeys("pass");
driver.findElement(By.id("loginForm:loginCmdTest").click();