是否可以使用Selenium WebDriver捕获用户输入/操作,就像使用Selenium IDE录制/创建测试一样?
即。当用户输入URL,单击链接,填写文本框,单击按钮等等。
我希望能够使用WebDriver捕获这些操作,而不仅仅是使用Selenium IDE,因为我想与我的Java应用程序中可用的其他类集成。
答案 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。