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

Dav*_*ave 12 java testing automation selenium-ide selenium-webdriver

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

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

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

Nic*_*kel 0

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

严格来说,您可以使用所选语言 ( C#, Java, PHP, Ruby. Python, Perl or JavaScript) 中的 WebDriver API 来捕获用户输入,这与使用 DOM 有点相似。如果它适合您的要求,您可以使用配置文件来提供一些用户输入。

导航到 URL:

WebDriver driver = new FirefoxDriver();

driver.get('url')
Run Code Online (Sandbox Code Playgroud)

单击链接/按钮:

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

element.click();
Run Code Online (Sandbox Code Playgroud)

在字段中输入文本:

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

element.sendKeys('userinput');
Run Code Online (Sandbox Code Playgroud)

有关 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认同)
  • 答案与问题不符 (2认同)