【问题标题】:Selenium webdriver with tomcat带有 tomcat 的 Selenium webdriver
【发布时间】:2016-05-03 05:21:23
【问题描述】:

我有一个 java web 应用程序,我在其中集成了一些 selenium 代码,这些代码基本上可以完成以下工作: 我有一个带有用户名和密码的登录页面,所以一旦我填写详细信息并单击登录按钮,它就会调用 selenium 代码(通过 servlet 的 java 方法),它会打开另一个选项卡并在那里填写 URL 和相同的详细信息在其登录页面上。 这适用于一个系统。但是我必须在 tomcat 中部署 .war 文件,以便这应该以相同的方式适用于所有用户,但是当我从远程系统访问 URL 并登录时,它会打开浏览器我的 Apache 正在运行的服务器。

所以我的问题是我怎样才能做到这一点?如果任何用户访问我的 URL 并登录,它应该在他的系统而不是服务器上打开另一个选项卡。

我尝试使用 grid2,在服务器上创建集线器并在远程系统上创建节点,但是当我运行我的应用程序时,它仍然在服务器中打开浏览器。 我不知道如何才能做到这一点。

我发现有一个链接在 chrome 中使用带有 node.js 的 java 脚本

[http://aboutcode.net/2013/12/02/automating-chrome-on-windows-with-javascript-using-selenium-webdriverjs.html][1]

如何在 java 中执行 selenium java 脚本代码。

非常感谢您的任何帮助。

【问题讨论】:

  • 请提供您的脚本的代码片段。可能是您使用网格并将您的 PC 注册到网格中。
  • 这是你要找的东西吗:stackoverflow.com/questions/31147889/…
  • @Manu 是的,看起来是一样的,所以正如你所说,如果任何客户端从任何机器访问我的 URL,测试将在他的机器而不是服务器机器上开始。我对 selenium 完全陌生..让我试试你的步骤..我会用代码 sn-p 回来...非常感谢 Manu..
  • @Manu 你能不能分享一下这个场景的任何示例代码,如果可能的话可以帮助我......
  • 抱歉,无法分享任何示例代码。您可以从创建 Grid 和 run test 开始。如果您仍然无法做到,请相应地更新问题。

标签: javascript java selenium selenium-webdriver selenium-grid2


【解决方案1】:

这听起来像是对 Selenium TEST 框架的严重滥用,我敦促您重新考虑您的方法。您可以在您的应用程序中使用 javascript 实现您想要的一切,通过查询字符串将变量传递到新窗口请参阅JavaScript: location.href to open in new window/tab?

【讨论】:

    【解决方案2】:

    终于能够解决网格 2 的问题

    String nodeUrl = "http://"+ip+":5560/wd/hub";  
    
        DesiredCapabilities capability = DesiredCapabilities.internetExplorer();
        driver = new RemoteWebDriver(new URL(nodeUrl),capability);
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(2, TimeUnit.MINUTES);
    

    要在客户端打开浏览器,我们需要将该客户端的 IP 从 javascript 传递给服务器。 并且驱动程序和 selenium 应该在执行代码之前注册一个运行。

    特别感谢Manu.. :)

    【讨论】:

      猜你喜欢
      • 2020-12-21
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 2013-02-17
      • 1970-01-01
      相关资源
      最近更新 更多