问题标签 [expectj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
844 浏览

java - expectJ - 从 spawn.send() 读取 InputStream

使用以下代码,我想从spawn.send("ls | grep *.dat\n");. 我的 calss 实现Spawnable了它的方法getStdout(),但不知道如何使用它。ExpectJ 文档说:getStdout()- 获取一个流,从中可以读取 Spawn 的标准输出。但这并没有让我更进一步。

0 投票
1 回答
123 浏览

expectj - ExpectJ:如何脱离“互动”模式?

调用 Spawn.interact() 后如何离开?

TIA

狮子座

0 投票
1 回答
236 浏览

java - 如何在 Jython 中使用 ExpectJ?

在我们公司,我们出于某种原因使用 Jython。我需要用 ExpectJ 扩展它,但我不知道该怎么做。

我设法下载了expectj-2.0.7.jarexpectj-2.0.7-sources.jarexpectj-2.0.7-javadoc.jar文件,并使 Jython 和 Java 本身也可以访问它们。

所以我可以在我的 python 脚本中导入它,JVM 也可以找到 jars(通过使用类路径加载程序 hack)。但是根据ExpectJ 的文档,还是有问题。

这就是我卡住的地方。为什么 ExpectJ 对象没有spawn方法?有人对此有解决方案吗?

0 投票
1 回答
605 浏览

java - 在调用 spawn.send() 时读取输出文本

我是 ExpectJ Java 编程的新手。我下载了 jar 并且能够做一些send()expect()方法。send()将在控制台上触发命令并expect()识别任何提示,以便可以提供输入。期望只读取有提示,而不是其他信息。例如,如果要触发,spawn.send("ls")并获取所有文件名的列表等某些操作,这可能吗?

有没有办法让我可以读取 spawn.send("ls") 例如的正常输出,而不需要只捕获提示?

0 投票
0 回答
238 浏览

java - 如何在交互模式下使用 ExpectJ 发送控制字符?

一段时间以来,我一直在使用expectJ通过 ssh (jsch) 自动执行一些管理任务。它一直运作良好。

现在我面临一个接受由控制字符触发的命令的界面。比如CTRL+B。

对于非交互式自动化任务,如果我只发送 unicode 字符,效果很好,比如

问题是 expectJ “交互模式”,它将 stdin 和 stdout 连接到两个线程循环中(在一个名为 的未记录类expectj.StreamPiper中,正是这样做的,从一个流到另一个流的管道)。

从命令行运行,我只是不知道如何从 Java 命令行 (stdin) 发送 CTRL-B。

所以我的问题是:如何System.in在交互模式下将控制字符发送到 expectJ?

附言。似乎一种解决方法是以某种方式“重新映射”这些控制字符。例如,一个命令由 CTRL-Z 触发,但在 unix 环境中发出 CTRL-Z 将立即将当前进程发送到后台。在这种情况下,我该怎么做?

更新——我一直在用这个。我希望有更好的方法(当然,我不是在谈论重构这段代码)。片段来自expectj.StreamPiper

0 投票
2 回答
2262 浏览

reactjs - 当我尝试测试一个非常简单的组件时出现 contextTypes 错误

我是 reactjs 的新手,并试图为一个简单的函数编写单元测试。我正在使用酶,这是我的测试:

这是我的组件:

但是当我运行它时,我收到以下错误:

我不知道我是否缺少任何库,或者我是否在代码中做错了什么。任何人都可以帮忙吗?

0 投票
1 回答
117 浏览

java - expectinator.spawn 上的 ExpectJ 异常

我正在尝试将 ExpectJ 作为 bigginner。我从互联网上得到了以下代码。这是在第一级抛出异常。代码和异常如下。我在 Mac 电脑上使用它。

异常如下。

ExpectJ 2.0.7 也包括在内。“/bin/bash”路径也可以在 mac 中使用。我该如何解决这个问题?

0 投票
1 回答
124 浏览

java - Java expectj通过跳转框执行linux命令

我需要自动化一些 linux 控制台任务。可以通过基于 ssh 密码的身份验证访问这些框。

我有我的本地机器 (A)。一个 linux 跳转盒 (B)。和一个linux生产盒(C)。框“C”只能从跳转框访问。跳转框和生产框没有 java 或 Expect 模块。所以我选择从我的本地机器“A”进行自动化。

我尝试以下方法通过框“B”在框“C”上执行命令。但它没有用。

我的完整代码块如下

如何通过jumb box“B”执行linux命令到prod box“C”。以及如何将输出输出到 java 变量?