我正在使用Selenium WebDriver语法。我知道,在基于Selenium服务器的语法中,您可以执行以下操作来触发javascript事件:
Selenium selenium = new DefaultSelenium("localhost", server.getPort(), "*iexplore", "http://www.eviltester.com"); selenium.fireEvent("lteq30", "blur");
如何在使用WebDriver(例如FirefoxDriver)创建的应用程序中执行相同操作?
不幸的是,Selenium WebDriver设计人员明确决定不在 Selenium 2中包含此功能。
明智的决定是不将此功能包含在WebDriver中,因为通常它是解决合成事件行为不正常的黑客。我们宁愿通过为本地事件提供强大的支持来消除这种需求,因此我们将继续改进这种情况。用户永远不会触发焦点事件,他们将单击表单控件。这就是您的测试也应该做的。
话虽如此,您 可以 执行所需的任何JavaScript代码。因此,您应该研究 如何使用javascript触发事件
然后,您可以执行以下操作:
FirefoxDriver driver = new FirefoxDriver(); driver.ExecuteScript("[your fire event javascript code]");
我敢肯定,您可以创建一个包装函数,以基本上完成与相同的操作fireEvent。
fireEvent