自動化測試 四 自動解除安裝軟體

2022-06-26 21:18:18 字數 2035 閱讀 1901

平常的測試工作中,經常要安裝軟體,解除安裝軟體,  即繁瑣又累。  安裝和解除安裝完全可以做成自動化。 安裝軟體我們可以通過自動化框架,自動點選next,來自動安裝。  解除安裝軟體我們可以通過msiexec命令列工具自動化解除安裝軟體

閱讀目錄

用msiexec 命令來解除安裝軟體

登錄檔中查詢productcode

c#中自動解除安裝軟體

c#查詢登錄檔中的productcode

平常我們手動解除安裝軟體都是到控制面板中的"新增/刪除"程式中去解除安裝軟體, 或者通過程式自帶的解除安裝軟體來解除安裝。

我們可以通過 msiexec.exe /x 命令來解除安裝程式。

關於msiexec.exe 請看 

productcode是windows 安裝程式包的全域性唯一識別符號 (guid), 我們可以通過登錄檔來獲取productcode

例項:  用msiexec.exe 自動解除安裝xmarks.

xmarks 是乙個用來同步收藏夾的工具, 我平常用來同步ie,firefox,chrome的收藏夾。

先用登錄檔開啟如下位置,

32位作業系統: hkey_local_machine\software\microsoft\windows\currentversion\uninstall\

注意: 如果是64位作業系統:  

64位的程式還在: hkey_local_machine\software\microsoft\windows\currentversion\uninstall\

32位的程式而是在: hkey_local_machine\software\wow6432node\microsoft\windows\currentversion\uninstall\

uninstall下面的登錄檔子鍵很多, 你需要耐心地乙個乙個去查詢"displayname", 從而找到程式的productcode, 如下圖。

從登錄檔中我們找到uninstallstring這個鍵值:  msiexec.exe /x, 那麼productcode就是

我們可以通過 msiexec.exe /x 命令來解除安裝程式. 

那麼解除安裝的命令應該為 msiexec.exe /x

然後在cmd中直接呼叫這個命令, 會彈出乙個對話方塊,點選"是" 後, 軟體就能被解除安裝了。

在自動化測試中,我們不想彈出這個對話方塊,而是希望直接解除安裝。同時也不希望系統重啟 只要加個兩個引數 /quiet /norestart 就可以了

現在的解除安裝的命令是: msiexec.exe /x /quiet

c#的解除安裝**比較簡單, 當然你也可以用其他語言。

process p = new process();

p.startinfo.filename = "msiexec.exe";

p.startinfo.arguments = "/x /quiet /norestart";

p.start();

最麻煩的在於,如何到登錄檔中獲取productcode。 如果做非web程式的自動化測試,經常需要跟登錄檔打交道。

**為:

public static string getproductcode(string displayname)

' });

productcode = strs[1];

return productcode; }}

catch

}return productcode;

}

附: 自動化測試 系列教程, (**中, 敬請期待)

自動化測試 (一) 12306火車票**自動登入工具

自動化測試 (二) 連連看外掛程式

自動化測試 (三) web自動化測試原理

自動化測試 (四) 自動解除安裝軟體

自動化測試 (五) 讀寫64位作業系統的登錄檔

軟體測試自動化

只有當系統的介面元素不會頻繁的變化 系統功能基本穩定,已經通過一至兩輪的手工測試,確定系統不會存在重大缺陷時,才可以考慮自動化的實施。使用自動化測試工具代替手工完成一些測試任務,現在國內主流的測試工具是loadrunner 和qtp。lr 效能測試工具 和qtp 自動化測試工具 的區別 1 lr 基...

自動化測試 web自動化測試

自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...

自動化測試selenium(四)

三 用例的執行順序 四 unittest斷言 unittest 各元件的關係為 test fixture 初始化和清理測試環境,比如建立臨時的資料庫,檔案和目錄等,其中 setup 和 setdown 是最常用的方法 test case 單元測試用例,testcase 是編寫單元測試用例最常用的類 ...