詳解搭建基于C#和Appium的Android自動測試環(huán)境
關于Appium環(huán)境搭建的例子網(wǎng)上比較多,不過都是關于Python,Java的,使用C#客戶端的資料比較少,公司現(xiàn)有的測試系統(tǒng)是基于C#構建的,因為要和現(xiàn)有系統(tǒng)集成,所以選擇的C#語言作為客戶端, 下載Appium 官網(wǎng)提供的C#例子,但是對應的Android 版本,Nunit 版本都比較舊,對于初次接觸手機測試的人來說,一步一個坑,把例子拿下來,折騰了一兩天,還是各種問題。最終通過百度,Google,終于搭建好了環(huán)境,現(xiàn)在分享一下過程,希望對于后來人會有些幫助。
默認大家是安裝了Visual Studio 的,如果沒有安裝,請百度如何安裝Visual Studio
搭建環(huán)境有三部分,模擬器環(huán)境準備,Appium服務器環(huán)境準備,C#單元測試工程環(huán)境準備,關于前兩部分騰訊課堂,網(wǎng)易課堂都有視頻資料,大家可以參考。
下面我們開始:
模擬環(huán)境搭建
模擬環(huán)境搭建建議用Android Studio ,這樣配置簡單,模擬器的性能也強一些。
下載地址:http://www.android-studio.org/ 最新版本是3.2
安裝完成后打開 Android Studio
在Tools菜單下找到 SDK Manager 菜單打開( Tools –>SDK Manager)顯示如下:
找到 Android SDK (Appearance & Behavior ->System Setting -> Android SDK)
安裝 Android SDK 例如:Android 6.0
接下來配置環(huán)境變量:
配置ANDROID_HOME 變量,對應的目錄可用從下面位置找,
我對位置做過調整,和默認安裝的位置不一樣。
將 E:\android-sdk 替換成自己機器的地址。
在Path 中追加:%ANDROID_HOME%\platform-tools; %ANDROID_HOME%\tools
安裝完SDK 后就可以安裝模擬器了,關閉SDK Manager ,打開 AVD Manager (Tools ->AVD Manager)
點擊左下角的Create Virtual Device 打開了 Virtual Device Configuration
選擇 phone ,找一個分辨率小一些的機型 例如 480X800 ,分辨率高了比較耗費資源。
點擊Next
選擇 other Images, 找到你剛才下載的SDK 對應的Image ,上面選了Android 5.0 我們就下 Android 6.0 對應的Image ,點擊Download 進行下載。完成后就可以點擊Next 到最后一個畫面了。
點擊Finish 就完成了虛擬機的創(chuàng)建。
點擊啟動,啟動虛擬機
這樣虛擬機就配置并啟動起來了,上面的鏡像使用的是arm 版本,如果你的機器是X86,Android Studio 建議你使用X86的虛擬機。如果想使用X86的虛擬機,需要在Bios中開啟 Virtualization Technology 設定為Enable ,操作系統(tǒng)可能也要做一些配置,這里就不細說了。
接下來我們安裝AppiumServer。可以到官網(wǎng)下載。
下載地址:https://github.com/appium/appium-desktop/releases/tag/v1.7.1
Windows 操作系統(tǒng) X86_64 處理器下載 appium-desktop-setup-1.7.1.exe 就可以了。
啟動Appium
點擊 Start Server v1.9.1
這樣Appium Server 就啟動了。
最后我們來配置單元測試工程。
啟動Visual Studio ,創(chuàng)建一個單元測試工程。
在 NuGet 中查找 Appium (Tools ->NuGet Package Manager -> Manage NuGet Package for Solution…)
找到 Appium.WebDriver ,選擇單元測試工程進行安裝。
完成后使用下面代碼替換自動生成的單元測試代碼。運行單元測試,就可以看到如下模擬器中的計算器被打開,并點擊了數(shù)字5。如下圖:
using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium.Remote; using System; namespace androidTest { [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.SetCapability("deviceName", "Android Emulator"); capabilities.SetCapability("automationName", "Appium"); capabilities.SetCapability("platformName", "Android"); capabilities.SetCapability("platformVersion", "6.0"); //可以根據(jù)自己的模擬器版版本進行修改。 capabilities.SetCapability("appPackage", "com.android.calculator2"); //安卓自帶計算器 capabilities.SetCapability("appActivity", ".Calculator"); RemoteWebDriver wd = new RemoteWebDriver(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities); try { var result = wd.FindElementById("digit_5"); result.Click(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { wd.Quit(); } } } }
上面代碼最重要的就是關于 capabilities.SetCapability 的參數(shù),具體參數(shù)可以看官方的文檔說明。官方說明如下:
http://appium.io/docs/en/writing-running-appium/caps/
好了,關于使用C#單元測試和Appium進行Android 測試環(huán)境的搭建就結束了。
以上就是詳解搭建基于C#和Appium的Android自動測試環(huán)境的詳細內容,更多關于搭建基于C#和Appium的Android自動測試環(huán)境的資料請關注腳本之家其它相關文章!
相關文章
Unity?UGUI的StandaloneInputModule標準輸入模塊組件使用示例
這篇文章主要為大家介紹了Unity?UGUI的StandaloneInputModule標準輸入模塊組件使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08word ppt excel文檔轉換成pdf的C#實現(xiàn)代碼
這篇文章主要介紹了word ppt excel文檔轉換成pdf的C#實現(xiàn)代碼,有需要的朋友可以參考一下2014-01-01C#學習筆記- 隨機函數(shù)Random()的用法詳解
下面小編就為大家?guī)硪黄狢#學習筆記- 隨機函數(shù)Random()的用法詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08在winform下實現(xiàn)左右布局多窗口界面的方法之續(xù)篇
這篇文章主要介紹了在winform下實現(xiàn)左右布局多窗口界面的方法之續(xù)篇 的相關資料,需要的朋友可以參考下2016-02-02