【问题标题】:Automation of Web based SSH CLIENT PLUGIN script running using Selenium Webdriver使用 Selenium Webdriver 运行基于 Web 的 SSH CLIENT PLUGIN 脚本的自动化
【发布时间】:2015-04-17 07:24:03
【问题描述】:

我正在尝试自动化以下场景:

我安装了一个名为 FireSSH 的 firefox 插件。现在,我已经手动并且能够使用密钥和相关参数连接我的远程服务器。我想实现这个使用 selenium 连接到远程客户端的手动过程的自动化。因为,selenium 用于基于 Web 的自动化,因此我安装了基于 Web 浏览器的插件来使用 Web 浏览器进行 SSH。我面临的问题是我想点击 Firefox 右上角的“打开菜单”按钮,在该对话框中我需要点击 FireSSH 插件。它会提示您之前配置的所有凭据。我只需要单击那里的连接按钮,然后我将作为 SSH 客户端登录。

此外,我需要在这个 SSH 客户端界面上执行某些命令。

请告诉我,该怎么做。

请找到我正在使用但无法这样做的脚本。

package erewards2;

<imports ...>

public class putty_Connection {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        FirefoxDriver d1 = new FirefoxDriver();

        d1.get("chrome://firessh/content/firessh.xul#account=SIB2");

        d1.findElementByXPath("html/body/div[2]/div[25]").sendKeys("hello");
    }
}

遇到错误

:组件返回失败代码:0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIWebNavigation.loadURI] 命令持续时间或超时:212 毫秒构建信息:版本:'2.41.0',修订:'3192d8a',时间: '2014-03-27 17:18:15' 系统信息:主机:'pcs-PC',ip:'192.168.1.76', os.name:'Windows 7',os.arch:'x86',os.version:'6.1',java.version: '1.7.0_25' 会话 ID:c8915b04-23b3-455d-8e33-3bc72f886344 驱动程序 信息:org.openqa.selenium.firefox.FirefoxDriver 功能 [{平台=XP,acceptSslCerts=true,javascriptEnabled=true, cssSelectorsEnabled=true, databaseEnabled=true, browserName=firefox, handleAlerts=true, browserConnectionEnabled=true, webStorageEnabled=true,nativeEvents=false,可旋转=false, locationContextEnabled=true,applicationCacheEnabled=true, 需要屏幕截图 = true,版本 = 30.0}] 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193) 在 org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:595) 在 org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:300) 在 erewards2.putty_Connection.main(putty_Connection.java:44) 引起 作者:org.openqa.selenium.remote.ErrorHandler$UnknownServerException: 组件返回失败代码:0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIWebNavigation.loadURI] 构建信息:版本:'2.41.0',修订: '3192d8a',时间:'2014-03-27 17:18:15' 系统信息:主机:'pcs-PC', ip: '192.168.1.76', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_25' 驱动信息:driver.version: 未知

【问题讨论】:

  • 插件是否安装在你的代码打开的浏览器中?
  • 不,我无法访问该插件。
  • 你不能在 webdriver 中使用插件
  • 我正在尝试一种新方法...例如,如果我们可以使用 selenium webdriver 执行 javascript,并且在 javascript 的帮助下,我们可以以某种方式访问​​所需的浏览器组件..
  • 试试吧,我的 JavaScript 太差了 :) .. 如果你成功了,请告诉我

标签: java selenium ssh selenium-webdriver automation


【解决方案1】:

@HarshNigam 你做的是正确的,但我建议这是有点长的路和基于流程的流程

工作解决方案:

您为什么不深入研究一下PhantomJS?当您想要连接而不是 FF 插件时,我发现它在 SSH 场景中非常有用。 我希望你会得到更好的结果。 一切顺利!

【讨论】:

  • phantomjs 将如何提供帮助?这只是另一个驱动程序
猜你喜欢
  • 1970-01-01
  • 2022-01-07
  • 2021-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-06
  • 2016-04-23
相关资源
最近更新 更多