首页 文章

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

提问于
浏览
10

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

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

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

3 回答

  • 4

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

    严格来说,您可以使用所选语言的WebDriver API( C#, Java, PHP, Ruby. Python, Perl or JavaScript )捕获用户输入,并且它模糊地类似于使用DOM . 如果它符合您的要求,您可以使用配置文件来提供一些用户输入 .

    Navigate to a URL:

    WebDriver driver = new FirefoxDriver();
    
    driver.get('url')
    

    Click a link/button:

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

    Enter Text in a field:

    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 开始编写测试,那么'd be really useful to check out the page object pattern as I' ve发现它可以让您的测试在长期内更易于维护 . 此链接是一个很好的起点,因为它提供了一个概述,并通过遵循该模式可视化地表示您获得的内容:

    http://blog.josephwilk.net/cucumber/page-object-pattern.html

    希望有所帮助 .

  • 0

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

    希望这可以帮助 .

  • 0

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

相关问题