0

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

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

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

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

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

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

任何帮助将不胜感激,谢谢。

4

2 回答 2

0

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

于 2015-07-03T11:55:29.563 回答
0

终于能够解决网格 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 传递给服务器。并且驱动程序和硒应该在执行代码之前注册一个运行。

特别感谢Manu .. :)

于 2015-07-04T12:47:45.617 回答