在Jenkins的Python腳本中模擬用戶輸入

        這個需求很少見,但是好不容易試驗成功了,所以要記錄下來備忘。

        我們使用Jenkins+TexturePacker進行資源的自動打包和轉換。

        TexturePacker首次運行需要在命令行中輸入agree進行版權聲明的用戶確認。而Jenkins的系統環境是獨立於桌面系統的,所以在Jenkins裏面要再一次輸入agree。於是就有了一個非常噁心的情況,Jenkins裏面運行TexturePacker命令行沒有給用戶輸入agree的地方。

        幸好有萬能的python腳本。它可以模擬用戶的輸入。這樣只需要在Jenkins裏面執行一下這個腳本(建立一個Job,Execute Shell裏面運行如下腳本)

#!python.exe
import subprocess
halls = subprocess.Popen([r'D:\Workspace\TexturePacker\bin\TexturePacker.exe'], stdin=subprocess.PIPE, stdout=subprocess.PIPE) 
result = halls.communicate(input=r'agree')[0] 
print halls.returncode
print halls.communicate()


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章