我們在做手機端自動化的時候有時候可能會遇到需要執行cmd命令完成用例,我們一起學習下,通過python腳本執行cmd命令
cmd是什么
cmd是command的縮寫.即命令提示行(CMD),是在OS / 2 , Win為基礎的操作系統(包括Windows 2000和XP中, Vista中,和Server 2003 )下的“MS-DOS 方式”。中文版Windows XP 中的命令提示符進一步提高了與DOS 下操作命令的兼容性,用戶可以在命令提示符直接輸入中文調用文件 ----來自百度百科
其實說白了就是windows中執行一些命令的地方。
python操作cmd
我們通常可以使用os模塊的命令進行執行cmd
方法1:
os.stsrem(執行的命令) # 源碼 def system(*args, **kwargs): # real signature unknown """ Execute the command in a subshell. """ pass
我們可以看到os.system成功的把我們輸入的內容給返回回來了,其中代碼0 表示執行成功。但是我們沒有辦法獲取輸出的信息內容
方法2:
os.popen(執行的命令) # 源碼 def popen(cmd, mode="r", buffering=-1): if not isinstance(cmd, str): raise TypeError("invalid cmd type (%s, expected string)" % type(cmd)) if mode not in ("r", "w"): raise ValueError("invalid mode %r" % mode) if buffering == 0 or buffering is None: raise ValueError("popen() does not support unbuffered streams") import subprocess, io if mode == "r": proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, bufsize=buffering) return _wrap_close(io.TextIOWrapper(proc.stdout), proc) else: proc = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, bufsize=buffering) return _wrap_close(io.TextIOWrapper(proc.stdin), proc)
可以發現輸出后的內容是一個對象,默認是以讀的方式打開
我們可以通過讀取文件對象,獲取返回的信息內容
我們可以在這里執行cmd的命令,獲取返回內容,進行對返回內容取出來,方便我們進行其他測試。取出返回信息參考appium---Android app資源監控
如果寫的對您有幫助,點個關注。持續更新中~~