【问题标题】:How can I prompt for Input in selenium webdriver using java and use the result?如何使用 java 在 selenium webdriver 中提示输入并使用结果?
【发布时间】:2016-03-27 10:33:03
【问题描述】:

我想接受用户输入并根据他们的输入执行操作。假设以登录页面为例,用户需要输入登录凭据。我们如何将用户输入作为他的电子邮件和密码,然后使用该电子邮件 ID 和密码作为他的登录凭据。

【问题讨论】:

  • 我不知道我是否理解正确:基本上你想编写使用 Selenium 采取某些行动的 java 应用程序。该应用程序只要求我输入登录名和密码,并使用它为我登录。我说的对吗?
  • 那么我也看不到任何附加值。用户需要做的工作量与流程不是自动化的完全相同。请编辑您的问题并添加一些您需要它的真实用户故事...
  • 使用 Netty 库需要几百行代码才能使用回显服务器以与聊天服务器相同的方式回显提示您。这很困难,可以做到,但如果你问任何人,这不值得。

标签: java selenium webdriver selenium-webdriver


【解决方案1】:

独立于您对 Selenium 的使用从用户那里获取输入。您需要使用标准 Java 机制来获取用户输入(this question 显示了几个选项),将答案存储在变量中,然后将其传递给填写表单的 Selenium 代码。

【讨论】:

  • 我使用扫描仪从用户那里获取输入,它要求用户在控制台中输入输入。但是当我们使用以下代码打开 url 时,我想在浏览器中提示: driver.get(url);
  • 我认为您将不得不向我们提供一些有关您为什么这样做的更多信息。目前我不明白你为什么要这样做。
【解决方案2】:

据我了解您的问题,您只想从使用您的测试的用户那里获取登录凭据,并且您不想仅出于登录目的将其包含在自动化脚本中。

我认为这不能解决硒的用途。但是,如果你想这样做,我有一个建议。在您到达您的登录页面后,实现隐式等待的代码,直到您获得在用户提供凭据后单击登录后将出现的页面。您可以通过验证页面上是否存在处于等待状态的某些文本来检查这一点。

否则,如果您只是想提取凭据并担心在脚本中对其进行硬编码,那么您可以使用一些 spredsheets、文本文件或 MS-Excel 文件来存储您的数据,并可以将其用作资源文件通过定义的方法调用。

【讨论】:

    【解决方案3】:

    您甚至可以在脚本开始之前输入您的用户名和密码。见下面代码

    driver.findElementByXpath("xpath of username input box").sendkeys("Myusername");
    driver.findElementByXpath("xpath of password input box").sendkeys("Mypassword");
    

    这样您就可以为用户输入登录凭据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-05
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      • 2012-07-10
      相关资源
      最近更新 更多