【问题标题】:Capture user input and actions with Selenium WebDriver using Java使用 Java 使用 Selenium WebDriver 捕获用户输入和操作
【发布时间】:2012-11-06 14:40:00
【问题描述】:

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

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

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

【问题讨论】:

  • + 收藏夹。在其他新闻中:我不知道这是可能的
  • 您只能在录制期间更改 Selenium IDE 中的格式。默认情况下,它以 HTML 格式记录。您可以将java的格式更改为Java / JUnit4 / WebDriver,它将为您以Java格式记录。

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


【解决方案1】:

我试图在Record Actions using Selenium 中提供一个可行的解决方案

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    您无法使用 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

    希望对您有所帮助。

    【讨论】:

    • 所讨论的要求有所不同。要求是在应用程序运行时模拟记录作为应用程序本身的一部分
    • 我明白了,据我所知,您不能像使用 Selenium IDE 那样只记录您的操作。
    • 答案与问题不匹配
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2014-10-15
      • 2018-09-05
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 2013-05-05
      相关资源
      最近更新 更多