从python运行并处理外部应用程序

时间:2017-11-05 14:10:49

标签: python windows selenium testing autohotkey

我想开发Python脚本,打开一些基于Windows的应用程序,然后输入一些使用键盘模拟用户的数据/命令:

  • 然后运行MS Calculator:“5”,“+”,“8”,“/”,“2”,“输入”,就是这样
  • 然后运行MS记事本:“Hello world!”,“Ctrl + s”,“我的文件”,“输入”,“Alt + F4”

当然,它可以在成功时返回退出的代码,例如1,并写一些日志。

我相信有一些库(可能用于UI测试用户)但我不知道。

我知道有Selenium,但我担心这只适用于网络浏览器应用。

2 个答案:

答案 0 :(得分:1)

为什么不直接使用AutoHotkey?

完整脚本:

RunWait, Calc.exe
sleep, 500
Send, 5{+}8{/}2{Enter}
ExitApp, 1337

此脚本可以编译为独立的.Exe并从Python脚本运行,该脚本可以通过StdInput检索它的退出代码1337。

答案 1 :(得分:0)

如果您喜欢用Python语言编写脚本,可以使用 Autopythonlauncher Click Here使用此软件,您可以使用Python脚本代码制作可点击的图片。然后,您可以简单地编写一个python代码来运行外部应用程序,然后您可以发送任何文本或任何键盘快捷键宏(无需关注Windows - 这意味着您可以发送它适用于任何Windows应用程序),并且它在3d中完成。选择一个图片并在命令编辑器中编写此示例代码。

这个Python脚本在没有Autopython启动器的情况下也可以工作。 (见下)

#run calc
#######################
import subprocess

cmd = "C:/Windows/System32/calc.exe"
process = subprocess.Popen(cmd, stdout=subprocess.PIPE, creationflags=0x08000000)
process.wait()
#######################




# you can send any text or Keyboard Shortcuts Combinations - pyautogui.hotkey('ctrl', 'c')
# send "5", "+", "8", "/", "2"
# send "Enter" 
#######################
import pyautogui
import time

time.sleep(.500)
pyautogui.press(['5','+','8','/','2']) 
pyautogui.hotkey('enter')
#######################

请参阅此介绍YouTube视频Click Here,您可以看到AutoPythonlauncher软件可以执行的操作。

注意: 如果你想在没有AutopythonLauncher软件的情况下进行测试。

你需要制作这个bat文件, 运行此命令以安装包pyautogui。 唯一的矛是你不能使用它(没有焦点Windows)

install.bat

C:\Python27\scripts\pip.exe install pyautogui
pause