是否可以使用 Selenium WebDriver 捕获用户输入/操作,就像您可以使用 Selenium IDE 记录/创建测试一样?
即当用户输入 URL、点击链接、填写文本框、点击按钮等时。
我希望能够使用 WebDriver 而不仅仅是使用 Selenium IDE 来捕获这些操作,因为我想与我的 Java 应用程序中可用的其他类集成。
是否可以使用 Selenium WebDriver 捕获用户输入/操作,就像您可以使用 Selenium IDE 记录/创建测试一样?
即当用户输入 URL、点击链接、填写文本框、点击按钮等时。
我希望能够使用 WebDriver 而不仅仅是使用 Selenium IDE 来捕获这些操作,因为我想与我的 Java 应用程序中可用的其他类集成。
我试图在使用 Selenium 的记录操作中提供一个可行的解决方案
希望这可以帮助。
您不能使用 Selenium WebDriver“记录”一组操作,您需要手动编写这些步骤。
严格来说,您可以使用所选语言 ( C#, Java, PHP, Ruby. Python, Perl or JavaScript
) 的 WebDriver API 来捕获用户输入,这与使用 DOM 有点相似。如果它符合您的要求,您可以使用配置文件来提供一些用户输入。
导航到一个 URL:
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
希望有帮助。
据我所知,没有一种简单的方法可以做到这一点 - 但在 IDE 上录制并导出为 java 文件对我来说效果很好(文件 -> 将测试用例导出为...)。我通常对 c# 执行此操作,但已将其与 java 一起使用。