13

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

即当用户输入 URL、点击链接、填写文本框、点击按钮等时。

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

4

3 回答 3

4

我试图在使用 Selenium 的记录操作中提供一个可行的解决方案

希望这可以帮助。

于 2013-08-23T09:35:49.180 回答
1

您不能使用 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

希望有帮助。

于 2012-11-06T15:22:23.237 回答
0

据我所知,没有一种简单的方法可以做到这一点 - 但在 IDE 上录制并导出为 java 文件对我来说效果很好(文件 -> 将测试用例导出为...)。我通常对 c# 执行此操作,但已将其与 java 一起使用。

于 2017-02-09T08:30:28.767 回答