当前位置: 首页 > 知识库问答 >
问题:

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

易琛
2023-03-14

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

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

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

共有2个答案

庾和昶
2023-03-14

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

严格地说,您可以通过使用您选择的语言(C#、Java、PHP、Ruby.Python、Perl或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#indroading-the-selenium-webdriver-api-by-example

如果您要从Selenium IDE开始编写测试,那么查看page object模式将非常有用,因为从长期来看,它使测试更易于维护。这个链接是一个很好的起点,因为它提供了一个概述,以及通过遵循以下模式所获得的内容的可视化表示:

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

希望能有所帮助。

欧阳乐生
2023-03-14

我试图提供一个可行的解决方案,记录动作使用硒

希望这有帮助。

 类似资料:
  • 我正在尝试播放以下网站的视频(使用JUnit)-Day01。http://www.itelearn.com/live-training/security-testing-live-training我试图实现的是,在播放视频后,我将拍摄一张屏幕截图,以证明视频播放正确。点击Day01视频后,它会在一个新窗口中打开——当我查看代码时,我意识到他们使用了iFrame。我可以关闭此视频窗口,但无法播放/暂

  • 问题内容: 我正在尝试让扫描仪在循环中进行输入。一旦用户想要完成操作,他就可以退出此循环。我尝试了许多不同的方法来执行此操作,但始终存在一些问题。这是代码: 上面代码的问题(在我尝试的其他方法上也会发生)是,当用户键入 Y时 ,将跳过名字的第一个输入,并跳转到姓氏。如果用户键入 N, 则循环将正确停止。有人可以解释发生这种情况的原因,以及如何克服使用课堂的问题? ps:执行类似的操作,将导致循环终

  • 我做了一个程序,要求我输入一个名字,这个名字应该在一个名为的数组中。看起来是这样的: 我在这里做错了什么?

  • 本文向大家介绍Java使用Scanner类获取用户输入实例详解,包括了Java使用Scanner类获取用户输入实例详解的使用技巧和注意事项,需要的朋友参考一下 创建 Scanner 对象的基本语法: Scanner 类的 next() 方法 运行结果如下,会发现空格后面的英文没有被打印出来: Scanner 类的 nextLine 方法 在以上基础上修改代码: 运行结果,空格后面的英文也可以被打印

  • 基本上,我正在使用TestNG开发Selenium automation,我想为一个字段获取用户输入,而要获取用户输入,我需要scanner类的帮助。但如果没有主要阶层,它就不起作用。有人能帮我吗?

  • 当用户在扫描器中输入任何整数时,我试图捕捉一个异常。我理解使用字符串item=scan。nextLine()将允许进行任何输入,包括整数。我创建了一个自定义异常来捕捉数字1。但是如果用户输入999或任何其他整数会发生什么呢。我如何捕获这些其他整数作为异常的一部分? import java.util.Scanner;import java.lang.Exception; 公共类示例一{ } 公共类T