java - 使用 Selenium Webdriver 运行基于 Web 的 SSH CLIENT PLUGIN 脚本的自动化

标签 java selenium ssh selenium-webdriver automation

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

我安装了一个名为 FireSSH 的 Firefox 插件。现在,我已经能够使用 key 和相关参数手动连接我的远程服务器。我想实现使用 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");
    }
}

低于错误

: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIWebNavigation.loadURI] Command duration or timeout: 212 milliseconds Build info: version: '2.41.0', revision: '3192d8a', time: '2014-03-27 17:18:15' System info: host: 'pcs-PC', ip: '192.168.1.76', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_25' Session ID: c8915b04-23b3-455d-8e33-3bc72f886344 Driver info: org.openqa.selenium.firefox.FirefoxDriver Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, cssSelectorsEnabled=true, databaseEnabled=true, browserName=firefox, handlesAlerts=true, browserConnectionEnabled=true, webStorageEnabled=true, nativeEvents=false, rotatable=false, locationContextEnabled=true, applicationCacheEnabled=true, takesScreenshot=true, version=30.0}] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193) at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:595) at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:300) at erewards2.putty_Connection.main(putty_Connection.java:44) Caused by: org.openqa.selenium.remote.ErrorHandler$UnknownServerException: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIWebNavigation.loadURI] Build info: version: '2.41.0', revision: '3192d8a', time: '2014-03-27 17:18:15' System info: host: '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 info: driver.version: unknown

最佳答案

@HarshNigam 您的做法是正确的,但我建议这是有点长的方法和基于程序的流程

工作解决方案:

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

关于java - 使用 Selenium Webdriver 运行基于 Web 的 SSH CLIENT PLUGIN 脚本的自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29692826/

相关文章:

java - setString 不支持PreparedStatement 中的国家字符(Oracle 12)

Java G1 垃圾收集器生成 Java 不一致?

java - MySQL 支持的基于 Hibernate 的 Java Servlet 应用程序中的 Hibernate 通信链路故障

selenium - 在selenium webdriver中什么是manage() [driver.manage()]

python - selenium 和 python 单击下拉列表中的元素

java - 从 -D 变量设置 Spring 单元测试配置文件

python - Selenium Python 等待文本出现在元素错误显示需要 3 个参数 2 给出

git - 在 centos : problems with ssh keys and git 上设置 Jenkins

linux - Docker容器中的Docker未映射.ssh卷

linux - scp 进入 Linux 机器时失去连接