在python3.6中使用unittest测试pyautogui函数

时间:2018-07-06 13:41:34

标签: python-3.x python-unittest pyautogui

我需要测试使用pyautogui的函数。例如,如果按键盘键“ a”实际上是按“ a”。我该如何重现?有没有办法捕获被按下的键?

理想的,如果它适用于Windows和Linux

1 个答案:

答案 0 :(得分:0)

PyAutoGUI单元测试具有类似的内容。 See the TypewriteThread code for details.设置一个线程以等待一秒钟,然后调用pyautogui.typewrite(),然后调用input()接受文本。通过按Enter(\ n字符),确保窗口焦点对准typewrite()线程。

import time
import threading

import pyautogui

class TypewriteThread(threading.Thread):
    def __init__(self, msg, interval=0.0):
        super(TypewriteThread, self).__init__()
        self.msg = msg
        self.interval = interval

    def run(self):
        time.sleep(0.25)
        pyautogui.typewrite(self.msg, self.interval)

t = TypewriteThread('Hello world!\n')
t.start()
response = input()
print(response == 'Hello world!')