自动运行python GUI测试的简单方法

时间:2018-04-05 12:00:00

标签: python-3.x gdb automated-tests pyqt5

我使用python 3.5.2PyQt5编写了一个小型模拟程序。我以前使用PyQt4并且在Qt内发生了间歇性分段错误的问题。因此,测试要求程序运行大约20次,以确保故障不会发生。

现在我想知道是否有一种简单的方法来编写我可以使用gdb run运行的脚本,它可以执行以下操作:

for i in range(20):
    run MyProgram.py
    wait(startup time)
    input keyboard commands with appropriate intervals

    wait for program to run
    if error occurs:
        force kill MyProgram.py
        continue loop
    elif runtime > some value:
        input more keyboard commands
        continue loop

如果没有安装任何昂贵的软件,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

  

测试要求程序运行大约20次以确保   故障没有发生

您不必仅在gdb中测试程序,因为如果崩溃,您需要查看回溯。通常,如果程序接收到SIGSEGV信号,则程序的进程终止并且核心被转储。稍后您可以在gdb中打开核心转储并查看崩溃进程的回溯:

gdb program core
...
(gdb) bt
...

请参阅How to generate a core dump in Linux when a process gets a segmentation fault?如何在Linux上启用核心转储保存。