日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android自动化测试工具Appium环境搭建

發布時間:2025/4/5 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android自动化测试工具Appium环境搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

1、搭建Android環境

http://blog.csdn.net/jlminghui/article/details/39582895

注:需要設置系統變量“ANDROID_HOME”。

2、安裝Node.js

http://www.nodejs.org/download/

下載相關操作系統的版本

安裝過程,一路“Next”。

?

3、安裝Appium

(1)下載地址:http://appium.io/?下載完畢后解壓到pc本地,將壓縮包里有appium.cmd文件的路徑設置到環境變量path中。

(2)進入命令行,輸入appium-doctor?

?

另外也可在線安裝(可選,網絡不好還是選上面的好些)

(1)進入命令行

(2)輸入命令:npm install -g appium

注:翻墻下載比較靠譜

(3)等待更新完畢

(4)安裝后驗證:appium-doctor

?

4、創建虛擬機或使用實際設備

創建一個4.4.2的虛擬機

不熟悉這塊的朋友參考:http://blog.csdn.net/jlminghui/article/details/39582895

?

5、創建Java工程(Eclipse)

?推薦使用maven工程,直接可以maven導入。方法如下

1.創建一個maven工程

2.百度maven中央倉庫,在中央倉庫搜索selenium、appium、junit,找到對應的依賴加入到pom.xml,就可以不用再去對應的官網下載包了,又麻煩又慢

<dependencies>??<dependency>??<groupId>org.seleniumhq.selenium</groupId>??<artifactId>selenium-server</artifactId>??<version>2.48.2</version>??</dependency>??<dependency>??<groupId>org.seleniumhq.selenium</groupId>??<artifactId>selenium-java</artifactId>??<version>2.48.2</version>??</dependency>??<dependency>??<groupId>io.appium</groupId>??<artifactId>java-client</artifactId>??<version>3.2.0</version>??</dependency>??<dependency>??<groupId>junit</groupId>??<artifactId>junit</artifactId>??<version>4.12</version>??</dependency>??</dependencies>??

一般方法
(1)導入Selenium類庫

http://selenium-release.storage.googleapis.com/2.44/selenium-java-2.44.0.zip

http://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar

(確認2014.11.14有效,如無效請訪問http://docs.seleniumhq.org/download/?進行下載 )

?

注:需要導入兩個,一個是客戶端,一個是服務端,服務端庫不導入會導致運行時報錯。

(2)導入Appium類庫

https://search.maven.org/remotecontent?filepath=io/appium/java-client/1.2.1/java-client-1.2.1.jar?

(確認2014.11.14有效,如無效請訪問http://appium.io/downloads.html? 進行下載?)

注:此處如果選擇下載最新的2.0以上的版本,會導致編譯new?AppiumDriver時報錯。解決辦法見:

http://blog.csdn.net/zhubaitian/article/details/39717889?

?

?

6、運行Appium示列

(1)下載示例程序

https://github.com/appium/sample-code/tree/master/sample-code/apps/ContactManager

上面鏈接中下載ContactManager.apk

(點擊下方的RAW按鈕下載)

并將該apps放到當前項目的apps目錄下(目錄自行創建)

(2)下載示例程序測試

地址:https://github.com/appium/sample-code/tree/master/sample-code/examples/java/junit/src/test/java/com/saucelabs/appium

java文件為“AndroidContactsTest.java”

(點擊下方的RAW按鈕下載)

內容經過更改如下:

package?com.Demo;??import?io.appium.java_client.AppiumDriver;?? import?org.junit.After;?? import?org.junit.Before;?? import?org.junit.Test;?? import?org.openqa.selenium.By;?? import?org.openqa.selenium.WebElement;?? import?org.openqa.selenium.remote.CapabilityType;?? import?org.openqa.selenium.remote.DesiredCapabilities;??import?java.io.File;?? import?java.net.URL;?? import?java.util.List;??public?class?AppDemo?{??private?AppiumDriver?driver;??@Before??public?void?setUp()?throws?Exception?{??//?set?up?appium??File?classpathRoot?=?new?File(System.getProperty("user.dir"));??File?appDir?=?new?File(classpathRoot,?"apps");??File?app?=?new?File(appDir,?"ContactManager.apk");??DesiredCapabilities?capabilities?=?new?DesiredCapabilities();??capabilities.setCapability(CapabilityType.BROWSER_NAME,?"");??capabilities.setCapability("platformName",?"Android");??capabilities.setCapability("deviceName","Android?Emulator");??capabilities.setCapability("platformVersion",?"4.4");??capabilities.setCapability("app",?app.getAbsolutePath());??capabilities.setCapability("appPackage",?"com.example.android.contactmanager");??capabilities.setCapability("appActivity",?".ContactManager");??driver?=?new?AppiumDriver(new?URL("http://127.0.0.1:4723/wd/hub"),?capabilities);??}??@After??public?void?tearDown()?throws?Exception?{??driver.quit();??}??@Test??public?void?addContact(){??WebElement?el?=?driver.findElement(By.name("Add?Contact"));??el.click();??List<WebElement>?textFieldsList?=?driver.findElementsByClassName("android.widget.EditText");??textFieldsList.get(0).sendKeys("Some?Name");??textFieldsList.get(2).sendKeys("Some@example.com");??driver.swipe(100,?500,?100,?100,?2);??driver.findElementByName("Save").click();??}?? }??

(3)啟動android4.4.2虛擬機

(4)命令行啟動后輸入:appium?

(5)appium啟動到對應設備:appium -a 127.0.0.1 -p4723 -Uemulator-5554?(-a表示ip,-p表示端口,默認都是4723,-U表示設備的udid,可以通過adb devices查看)

(6)項目右鍵>“Run As”>“JUnit Test”(選擇Eclipse JUnit Launcher)

? ? ? ?以上步驟確認可以運行成功,但由于筆者也是剛接觸Appium,可能存在遺漏,也請大家幫忙指出,另外也可以使用maven和相關Eclipse插件會更方便些,網上例子很多可自行查找。

7、Appium遇到問題



問題一:
問題org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.

解決辦法:
(1)啟動appium

(2)運行cmd 輸入 adb devices ?查看UDID 如圖:

(3)再在cmd中輸入 appium -a 127.0.0.1 -p4723 -Uemulator-5554 (-a表示ip,-p表示端口,默認都是4723,-U表示設備的udid 可以通過appium -h查看更多命令)

(4)如果如下圖所示 就表示 appium服務啟動成功了,注意這個窗口不要關閉 因為這是appium的服務 關了就關了服務,后面過程無法執行,而且這個窗口也是 日志輸出的窗口用于排錯。


問題二:
問題:org.openqa.selenium.SessionNotCreatedException: A new session could not be created.
(Original error: Device ZX1C622BU3 was not in the list of connected devices)
(WARNING: The server did not provide any stacktrace information)

解決辦法:可能手機驅動未安裝成功,雖然在adb devices中可以正常查看到devices


問題三:
問題:org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: Waited 20 secs for selendroid server and it never showed up)

解決辦法:
查看包的簽名的和Activity
例如:APP從I5版本后啟動界面的capabilities.setCapability("appActivity", ".CordovaApp");
從I5版本后Acitivity變成了MainActivity
capabilities.setCapability("appActivity",".MainActivity");// 被測app的Activity類


問題四:
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. (WARNING: The server did not provide any stacktrace information)

解決方法:
查看設備上是否安裝Selendroid,或者升級Selendroid

IOS問題五:
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. (WARNING: The server did not provide any stacktrace information)
?

解決辦法:IOS_webkit_debug_proxy –c –[Udid] -d

?

問題六

error: Couldn't start Appium REST http interface listener. Requested port is already in use. Please make sure there's no other instance of Appium running already.

因為端口被node占用,可以用如下退出node

找出PID命令::netstat -ano|findstr "7922" ? (這個4723是被占用的端口,我們需要先找該占用該端口程序的PID)

停止PID命令:taskkill /pid 8828 /f

8、相關工具

工具一

? ? ? ? SDK\tools下的:uiautomatorviewer

? ? ? ? 作用:查看元素ID、Name、坐標

工具二

? ? ? ? SDK\build-tools\23.0.0下的:aapt

? ? ? ? 作用:查看啟動包名和首頁ACTIVITY

轉載于:https://my.oschina.net/u/2391658/blog/706576

總結

以上是生活随笔為你收集整理的Android自动化测试工具Appium环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日日射夜夜 | 女人私密又肥又大 | 欧美一区二区三区视频 | 成人福利在线视频 | 丁香花在线影院观看在线播放 | 国产精品免费一区 | 精品黑人一区二区三区观看时间 | 91超薄丝袜肉丝一区二区 | 韩国伦理片观看 | 成人av图片 | 国产视频一二区 | 宅男噜噜噜666在线观看 | 欧美 日韩 国产精品 | 色窝窝无码一区二区三区 | 中文字幕日韩精品无码内射 | 日本不卡123 | 中出一区 | 亚洲第一视频在线观看 | 天天免费视频 | 在线日韩国产 | 男女aa视频| 超碰福利在线观看 | 欧美日韩在线视频 | 免费观看的黄色网址 | 中文字幕高潮 | 美女福利视频一区 | 久久亚洲精少妇毛片午夜无码 | 国产成人无码精品亚洲 | 加勒比视频在线观看 | 亚洲一道本 | 婷婷中文 | av在线小说 | 折磨小男生性器羞耻的故事 | 粉嫩小泬无遮挡久久久久久 | 婷婷二区 | 欧州一级片 | 亚洲一区二区三区免费在线观看 | 亚洲va在线观看 | 午夜免费 | 亚洲成年人在线观看 | 一区二区三区在线免费观看视频 | 伊人导航 | 五月天免费网站 | 欧美久草| 91抖音成人 | 国产xxxx裸体xxx免费 | 精品国产91久久久久久 | 亚洲av无码久久忘忧草 | 国产人妻一区二区三区四区五区六 | 美女视频黄的免费 | 国产精品亚洲成在人线 | 狠狠综合久久av一区二区 | 精品美女在线 | 国产人妖ts重口系列网站观看 | 欧美日韩国产精品一区二区 | 91精品国产日韩91久久久久久 | 捆绑无遮挡打光屁股 | 国内成人av | 不卡av在线免费观看 | 国产自产精品 | 日本一区二区三区欧美 | 欧美 日韩 国产 成人 在线 | 狼人色综合 | 怡红院成人在线 | 少妇久久久久久久 | 国产精品综合久久 | 少妇高潮惨叫久久久久久 | 综合精品| 天天激情 | 男男一级淫片免费播放 | 痴汉电车在线播放 | 欧美一级片播放 | 国产吞精囗交免费视频网站 | 99在线无码精品入口 | 国产高清区 | 成人永久免费视频 | 黄色一极视频 | 国产盗摄一区二区三区在线 | 天天干夜夜艹 | 日韩有色 | 成年人网站黄色 | 欧美精品偷拍 | 亚洲精品888| 久久久久久网站 | 久热网 | 亚洲一区二区国产精品 | 成人午夜淫片100集 伊人久久国产 | 99久久久无码国产精品性黑人 | 色图自拍| 亚洲AV成人无码久久 | 欧美1区2区3区4区 | 人人妻人人爽一区二区三区 | 人妻一区二区三区免费 | 中文字幕欧美视频 | 欧美在线视频免费播放 | 国产113页 | 1000部做爰免费视频 | 2018国产大陆天天弄 | xxx精品 |