詳解搭建基于C#和Appium的Android自動(dòng)測(cè)試環(huán)境
關(guān)于Appium環(huán)境搭建的例子網(wǎng)上比較多,不過(guò)都是關(guān)于Python,Java的,使用C#客戶端的資料比較少,公司現(xiàn)有的測(cè)試系統(tǒng)是基于C#構(gòu)建的,因?yàn)橐同F(xiàn)有系統(tǒng)集成,所以選擇的C#語(yǔ)言作為客戶端, 下載Appium 官網(wǎng)提供的C#例子,但是對(duì)應(yīng)的Android 版本,Nunit 版本都比較舊,對(duì)于初次接觸手機(jī)測(cè)試的人來(lái)說(shuō),一步一個(gè)坑,把例子拿下來(lái),折騰了一兩天,還是各種問(wèn)題。最終通過(guò)百度,Google,終于搭建好了環(huán)境,現(xiàn)在分享一下過(guò)程,希望對(duì)于后來(lái)人會(huì)有些幫助。
默認(rèn)大家是安裝了Visual Studio 的,如果沒(méi)有安裝,請(qǐng)百度如何安裝Visual Studio
搭建環(huán)境有三部分,模擬器環(huán)境準(zhǔn)備,Appium服務(wù)器環(huán)境準(zhǔn)備,C#單元測(cè)試工程環(huán)境準(zhǔn)備,關(guān)于前兩部分騰訊課堂,網(wǎng)易課堂都有視頻資料,大家可以參考。
下面我們開(kāi)始:
模擬環(huán)境搭建
模擬環(huán)境搭建建議用Android Studio ,這樣配置簡(jiǎn)單,模擬器的性能也強(qiáng)一些。
下載地址:http://www.android-studio.org/ 最新版本是3.2
安裝完成后打開(kāi) Android Studio
在Tools菜單下找到 SDK Manager 菜單打開(kāi)( Tools ?>SDK Manager)顯示如下:
找到 Android SDK (Appearance & Behavior ->System Setting -> Android SDK)
安裝 Android SDK 例如:Android 6.0
接下來(lái)配置環(huán)境變量:
配置ANDROID_HOME 變量,對(duì)應(yīng)的目錄可用從下面位置找,
我對(duì)位置做過(guò)調(diào)整,和默認(rèn)安裝的位置不一樣。
將 E:android-sdk 替換成自己機(jī)器的地址。
在Path 中追加:%ANDROID_HOME%platform-tools; %ANDROID_HOME%tools
安裝完SDK 后就可以安裝模擬器了,關(guān)閉SDK Manager ,打開(kāi) AVD Manager (Tools ->AVD Manager)
點(diǎn)擊左下角的Create Virtual Device 打開(kāi)了 Virtual Device Configuration
選擇 phone ,找一個(gè)分辨率小一些的機(jī)型 例如 480X800 ,分辨率高了比較耗費(fèi)資源。
點(diǎn)擊Next
選擇 other Images, 找到你剛才下載的SDK 對(duì)應(yīng)的Image ,上面選了Android 5.0 我們就下 Android 6.0 對(duì)應(yīng)的Image ,點(diǎn)擊Download 進(jìn)行下載。完成后就可以點(diǎn)擊Next 到最后一個(gè)畫(huà)面了。
點(diǎn)擊Finish 就完成了虛擬機(jī)的創(chuàng)建。
點(diǎn)擊啟動(dòng),啟動(dòng)虛擬機(jī)
這樣虛擬機(jī)就配置并啟動(dòng)起來(lái)了,上面的鏡像使用的是arm 版本,如果你的機(jī)器是X86,Android Studio 建議你使用X86的虛擬機(jī)。如果想使用X86的虛擬機(jī),需要在Bios中開(kāi)啟 Virtualization Technology 設(shè)定為Enable ,操作系統(tǒng)可能也要做一些配置,這里就不細(xì)說(shuō)了。
接下來(lái)我們安裝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 就可以了。
啟動(dòng)Appium
點(diǎn)擊 Start Server v1.9.1
這樣Appium Server 就啟動(dòng)了。
最后我們來(lái)配置單元測(cè)試工程。
啟動(dòng)Visual Studio ,創(chuàng)建一個(gè)單元測(cè)試工程。
在 NuGet 中查找 Appium (Tools ->NuGet Package Manager -> Manage NuGet Package for Solution…)
找到 Appium.WebDriver ,選擇單元測(cè)試工程進(jìn)行安裝。
完成后使用下面代碼替換自動(dòng)生成的單元測(cè)試代碼。運(yùn)行單元測(cè)試,就可以看到如下模擬器中的計(jì)算器被打開(kāi),并點(diǎn)擊了數(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ù)自己的模擬器版版本進(jìn)行修改。 capabilities.SetCapability('appPackage', 'com.android.calculator2'); //安卓自帶計(jì)算器 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(); } } }}
上面代碼最重要的就是關(guān)于 capabilities.SetCapability 的參數(shù),具體參數(shù)可以看官方的文檔說(shuō)明。官方說(shuō)明如下:
http://appium.io/docs/en/writing-running-appium/caps/
好了,關(guān)于使用C#單元測(cè)試和Appium進(jìn)行Android 測(cè)試環(huán)境的搭建就結(jié)束了。
以上就是詳解搭建基于C#和Appium的Android自動(dòng)測(cè)試環(huán)境的詳細(xì)內(nèi)容,更多關(guān)于搭建基于C#和Appium的Android自動(dòng)測(cè)試環(huán)境的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. jsp實(shí)現(xiàn)textarea中的文字保存換行空格存到數(shù)據(jù)庫(kù)的方法2. ASP實(shí)現(xiàn)加法驗(yàn)證碼3. asp知識(shí)整理筆記4(問(wèn)答模式)4. 詳解idea中web.xml默認(rèn)版本問(wèn)題解決5. jsp EL表達(dá)式詳解6. IntelliJ IDEA 統(tǒng)一設(shè)置編碼為utf-8編碼的實(shí)現(xiàn)7. JSP頁(yè)面實(shí)現(xiàn)驗(yàn)證碼校驗(yàn)功能8. java 優(yōu)雅關(guān)閉線程池的方案9. IntelliJ IDEA 2020最新激活碼(親測(cè)有效,可激活至 2089 年)10. 解決ajax的delete、put方法接收不到參數(shù)的問(wèn)題方法
