使用Java捕获Selenium WebDriver的用户输入和操作

时间:2012-11-06 14:40:01

标签: java testing selenium-webdriver automation selenium-ide

是否可以使用Selenium WebDriver捕获用户输入/操作,就像使用Selenium IDE录制/创建测试一样?

即。当用户输入URL,单击链接,填写文本框,单击按钮等等。

我希望能够使用WebDriver捕获这些操作,而不仅仅是使用Selenium IDE,因为我想与我的Java应用程序中可用的其他类集成。

3 个答案:

答案 0 :(得分:4)

我试图在Record Actions using Selenium

中提供可行的解决方案

希望这有帮助。

答案 1 :(得分:1)

您无法使用Selenium WebDriver“记录”一组操作,您需要手动编写这些步骤。

严格来说,您可以使用所选语言(C#, Java, PHP, Ruby. Python, Perl or JavaScript)中的WebDriver API捕获用户输入,并且它模糊地使用DOM。如果它符合您的要求,您可以使用配置文件来提供一些用户输入。

导航到网址:

WebDriver driver = new FirefoxDriver();

driver.get('url')

点击链接/按钮:

WebElement element = driver.findElement(By.id("coolestWidgetEvah"));

element.click();

在字段中输入文字:

WebElement element = driver.findElement(By.id("coolestWidgetEvah"));

element.sendKeys('userinput');

有关API Selenium HQ的更多信息非常明确:

http://seleniumhq.org/docs/03_webdriver.html#introducing-the-selenium-webdriver-api-by-example

如果您从Selenium IDE开始编写测试,那么查看页面对象模式非常有用,因为我发现它可以使您的测试在长期内更易于维护。这个链接是一个很好的起点,因为它提供了一个概述,并通过遵循该模式直观地表达了您所获得的内容:

http://blog.josephwilk.net/cucumber/page-object-pattern.html

希望有所帮助。

答案 2 :(得分:0)

据我所知,没有一种简单的方法可以做到 - 但在IDE上录制和导出为java文件对我来说效果很好(文件 - >导出测试用例为......) 。我通常用它来做c#,但是已经将它用于java。