【发布时间】:2012-03-30 17:00:19
【问题描述】:
我必须使用 Windows 模拟包来执行重复性任务,每次使用的选项都略有不同。
由于我讨厌重复点击,基于懒惰和人类引入的错误数量,我想自动驱动这个程序。有问题的程序不支持脚本,没有 API,没有 COM,nada,nyet,nravin。据我所知,自动驱动该程序的唯一方法是模仿人类(即键盘和鼠标宏)。
我知道 AutoHotKey,但我认为它不能满足我的要求。 (或者它可能会做我想做的事,但它的脚本语言很糟糕。)
要求是:
-
必须允许动作之间的时间延迟,或事件检测来触发动作。
模拟最多可能需要十分钟才能运行,因此 GUI 驱动程序必须等到模拟完成才能开始新的模拟。
执行此操作的一种方法是等待十分钟,然后希望模拟已经完成。另一种方法是使其成为事件驱动的,即注意“模拟正在运行...”对话框消失并被“模拟完成”对话框取代。
-
必须允许组合复杂的键盘输入。
每次模拟运行所需的某些键盘输入都不同。例如,模拟描述可能采用
[Project name][Scenario name][Option 1][Option 2]...格式,并且必须为每个模拟输入。我知道 AutoHotKey 允许基本级别的输入自定义,但我对文档的随意阅读使脚本语言看起来像是某种可怕的恐怖。
这是用于工作的,因此任何解决方案都必须免费用于商业用途。
我会接受任何符合上述标准的解决方案,但我对可以从 Python 驱动的东西有强烈偏好。但是,我也会接受自动化的 GUI 测试工具,我可以自定义这些工具来做我想做的事——可能是 Win32 GUI 相当于 Selenium 的浏览器? - 将生成自定义输出的键盘宏记录器,或任何其他工作。
【问题讨论】:
标签: python winapi user-interface automation gui-testing