我正在POS应用程序上运行一些自动化测试,其中使用for循环输入大量销售。在测试期间,有时候应用程序窗口可能会失去焦点,当发生这种情况时,我们会弹出一个窗口,这会导致测试停止。
我目前在代码中有很多检查以在循环中的多个步骤之后查找此窗口,但是我添加的每个都增加了销售时间并减慢了测试速度。有没有办法在python中不断检查这些窗口之类的东西。
要注意我正在使用TestComplete,我已经查看了事件处理程序,但由于应用程序的开发方式,我似乎无法使用它们。
我建议你尝试使用中断计划。基本的想法是,只要某个计数器达到某个值,就会触发一个函数(在这种情况下,您的函数会检查意外的窗口)。
如果您不需要在非常具体和短时间间隔进行检查,那么使用像time.clock()
这样的东西就足够了。我需要上面提到的库,特别是signal
模块或更高级的sched
,它们都是标准库的一部分(据我所知,Documentation of signal,Documentation of sched)。
还有其他(外部,非标准)模块可以工作,但sched
和/或signal
应该足够了。
随意询问是否应该出现任何进一步的问题。
这篇SO帖子也可能有所帮助:real time interrupts in python