所以这是一个自动化测试环境,我正试图找出。
我的愿景是:文章源自玩技e族-https://www.playezu.com/180518.html
- 定义:目标=运行UBOOT的arm linux
- 主机=Linux机器控制目标
- 方法=PyEXPECT或同等
- COMMS Method=linux上的USB串行,即:/dev/ttyUSB0示例
- 类GUI窗口=Linux XTERM(或其他类似窗口)
我想从Python开始:文章源自玩技e族-https://www.playezu.com/180518.html
- 使用PyExpect启动XTERM终端。
- 我想打开一个串行端口,即:/dev/ttyUSB0
- 我想发送到的串行端口(来自目标)有什么内容
XTERM, 和 在PyExpect中,我希望python成为;“中间的人”; - 人类在XTERM中输入的内容-转到串行端口
- PyExpect发送的内容通常应作为输入发送到目标
- 如果我能把事情直接交给XTERM,那就太好了,但不能
必修的。
用例示例:文章源自玩技e族-https://www.playezu.com/180518.html
PyExpect通过TCP/IP套接字和一种称为SCPI的协议控制多个设备-电源和示波器等文章源自玩技e族-https://www.playezu.com/180518.html
SCIPI的WIKIhttps://en.wikipedia.org/wiki/Standard_Commands_for_Programmable_Instruments文章源自玩技e族-https://www.playezu.com/180518.html
在启动期间-我们有时需要发送命令(“键入字母Q”)进入UBOOT控制台。这让我们可以停止/停止引导过程,并将命令插入到UBOOT中,以TFTP引导/刷新设备-希望将此作为PyEXPECT脚本过程的一部分。文章源自玩技e族-https://www.playezu.com/180518.html
HOWEVER - we also need to reasonably see the output from the target. Later in the process (when the application is running after target Linux boots) the target also outputs a number of ANSI-escape sequences to show a status screen - all of these ANSI sequences XTERM fully understands - hence the idea of using XTERM as the display window.文章源自玩技e族-https://www.playezu.com/180518.html
大多数情况下,目标的输出(通过/dev/ttyUSB0)需要(A)进入PyEXPECT流,以便它可以执行测试序列,但也需要转到(B)“未掺杂”的xterm窗口,以便人类可以观察测试序列期间发生的事情。是的,它还需要转到一个名为“的文件”;测验日志-但这是次要的。文章源自玩技e族-https://www.playezu.com/180518.html
此外,测试中有时会出现问题,为了调试问题,人们需要访问键盘(终端输入),这样他们就可以键入命令并找出出了什么问题,因此“测试”是“测试”;连接到串行端口的xterm“;是我最好的例子。或者类似MINICOM的东西-但在私有Xterm窗口中文章源自玩技e族-https://www.playezu.com/180518.html
如果我能通过,那太好了;pyexpect–以这种方式启动(N)xterm文章源自玩技e族-https://www.playezu.com/180518.html
如果我能指导所有人,那就太好了;io“;从xterm到连接到PyEXPECT的套接字,那么PyEXPECT可以是;“中间人”;在串行端口和XTERM之间
我的问题是,我还没有找到一种方法来做到这一点,我确信其他人已经做到了这一点,我正在寻找更好/更简单的替代想法,等等
或者一些我不知道的Python模块可以为我做很多这方面的工作。
我使用XTERM的目标是:它有一个ANSI解码器和一个显示引擎,足以满足我的目的(即:它解码转义序列以放置光标、擦除屏幕和绘制粗体颜色)。我没有嫁给XTERM。。。
问题是我真的需要同时使用多个xterm,所有这些都是从一个中心python脚本编排的
我使用PyEXPECT的目标是:它是测试自动化的一个很棒的工具