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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自动化测试---移动端自动化测试项目搭建(Appium+IDEA)

發布時間:2024/3/24 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自动化测试---移动端自动化测试项目搭建(Appium+IDEA) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自動化測試---移動端自動化測試項目搭建(Appium+IDEA)

  • 模擬器+Appium操作
    • IDEA項目搭建

模擬器+Appium操作

首先打開黑窗口
輸入命令

注:具體命令可看上一篇博客


第一步從機器人打開然后點擊choose把想測試的應用導進去(選擇路徑)
注:但是不推薦使用這種方式 因為可能會出現一些問題
注2:我們要一直把appium框架開啟 不能關閉可以小化但是不要叉掉


注3:上圖的aapt dump badging d:\android\yanxuan-aos_out_109.apk里面的\yanxuan-aos_out_109.apk是我這次要測的一個嚴選APP如果你們要測試其他的APP改一下路徑就好了

1、啟動idea
新建工程,file–new–project
選擇maven框架

2、projiect sdk 選擇java jdk的安裝;點擊new從安裝路徑中選擇; 例如:我的是安裝路徑為C:\Program
Files\Java\jre1.8.0_171

3、groupid 例如:com.zking 項目包名 artifactid 例如:appiumtest01 工程名字
version 使用默認的

確定后在當前窗口顯示,還是新開窗口;開啟后右下角會顯示一個連接,點擊第二連接;導入依賴的包;

4、在mpom.xml中添加appium java_client jar包

<dependencies><dependency><groupId>io.appium</groupId><artifactId>java-client</artifactId><version>4.1.2</version></dependency> </dependencies>

添加完成后在external libaries檢查一下是否添加成功 作用:測試頁面元素的操作,接口及方法都是從該jar包中獲取的

5、添加testing框架 在中添加testng框架

org.testng
testng
6.9.10
添加完成后在external libaries檢查一下是否添加成功 作用:用來做測試的優先級,調試、驗證等需要用該框架

6、了解SDK–tool ddms:啟動android調試工具 hierarchyviewer:元素識別工具
uiautomatorviewer:元素識別工具 monkeyrunner:ui自動化測試工具 mksdcard:模擬器SD映像的創建工具
emulator: SDK模擬器主程序 traceview:android平臺調試工具

7、使用元素定位工具uiautomator

8、什么是package package 包的意思。安卓系統的程序是已apk作為擴展名的,.apk就是 android
package的簡寫,package也就是這個app的唯一標識,其實這里的package和java程序中的包一個意思。一般去測試某個程序,都是從這個程序的package入手的,測試初始的代碼都會指定app的package
比如:capabilities.setCapability(“appPackage”,“com.android.androidui”)
這就告訴appium要測試的app是什么

什么是Activity? Activity
活動;活動是最容易吸引到用戶的地方了,它是一種可以包含用戶界面的組件,主要用于和用戶進行交互。一個應用程序中可以包含零個或多個活動。通俗講就是用戶看到的界面就是Activity。
標識:com.android.androidui.Activity,測試初始化代碼是這樣寫capabilities.setCapability(“appActivity”,“com.android.androidui.MainActivity”);

四種布局 布局–布局–控件 布局–控件

LinarLayout:會線性布局,一種非常常用的布局;這個布局會將它所包含的控件在線性方向上依次排列。
RelativeLayout:相對布局,也是比較常見的布局,相比較LinarLayout顯得更加隨意一些,它可以通過相對定位的方式讓控件出現在布局的任務位置。
FrameLayout 相比較前面兩種這種比較簡單,應用常見少,沒有任何定位方式,所有的控件都會擺放在布局的左上角。 ListView
是android最常見的控件之一,界面的收縮、展開

控件 TextView --文本域 Button—按鈕
EditText–是程序用于和用戶進行交互的另一種重要控件,它允許用戶在控件里輸入和編輯內容,并可以在程序中對這些內容進行處理。比如登錄頁面:用戶名/密碼輸入框
Alert Toast Bar Webview

9、啟動appium

程序設置: 設置: appium的端口使用4723 建議不去修改,將選項的√去掉 開發者設置 幫助

10、編寫用例 用腳本編寫連接appium與模擬器連接 用腳本檢查服務是否連接: adb devices 三種方式查看包名、activity
1、通過查看日志 獲取包名及activity:adb logcat

2、直接使用在當前窗口查看包名及activity adb shell dumpsys window |findstr
mCurrentFocus 3、使用aapt 首先進入到本機存放的apk 如我的存放在d盤 android文件夾下 在cmd中進入D盤
使用命令 d: 在進入android文件夾 使用命令 cd android 然后再執行命令 aapt dump badging d:\android\yanxuan-aos_out_109.apk

IDEA項目搭建

首先把你的JDK導進來

我的是在下圖的路徑里面

導進去之后就什么都不用搞直接點擊下一步

寫好包名和項目名之后點擊下一步 下一步它會幫我們把我們的項目名和路徑自動填好

然后點擊finish完成


然后在pom文件點擊我框出來的自動加載常用的包

再在pom文件里面加下圖代碼進行導包 沒報錯的話就看看左邊我標起來的地方有沒有把包導進去

<dependencies><dependency><groupId>io.appium</groupId><artifactId>java-client</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.9.10</version></dependency>

然后開始新建項目

建好了之后開始寫測試代碼

import io.appium.java_client.AppiumDriver; import io.appium.java_client.android.AndroidDriver; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.annotations.BeforeClass;import java.net.URL; import java.util.concurrent.TimeUnit;/*** @author 人間香奈兒* @site www.huangjie.com* @company 公司* @create Y E A R ? {YEAR}-YEAR?{MONTH}-06 14:39*/ public class AppiumTests {public AppiumDriver driver;@BeforeClass//放appium框架配置public void AppTest()throws Exception{//實例化一個類,用作appium參數連接DesiredCapabilities cap= new DesiredCapabilities();//設置一個android類型的測試項目cap.setCapability("platforName","Android");//設置模擬器的連接地址cap.setCapability("deviceName", "127.0.0.1:62001");//測試機的版本cap.setCapability("platformVersion", "4.4.2");//設置鍵盤的中英文輸入cap.setCapability("unicodeKeyboard", "true");//恢復鍵盤設置cap.setCapability("resetKeyboard", "true");//設置被測程序包cap.setCapability("appPackage", "com.netease.yanxuan");//設置被測程序的活動cap.setCapability("appActivity", "com.netease.yanxuan.module.splash.SplashActivity");//連接appium服務driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap);//設置等待時間;當網絡慢的時候可等待加載時間driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);} }

注:上面寫代碼的時候有一個設置被測程序的活動那一行代碼 它后面的value是可以改的 你測什么軟件就可以寫什么軟件的地址至于怎么看可以在黑窗口查看如下圖

然后我們選擇就開始寫測試腳本

打開我們下載的SDK文件夾

然后等一下下會進入下面的頁面 然后點擊我標出來的

會出現下面的畫面 和我們打開的模擬器是一個畫面

然后我重新打開了嚴選的APP選擇我們測試APP里面的分類

把我標出來的那個ID復制一下然后在idea里面寫代碼

@Testpublic void test01(){driver.findElementById("com.netease.yanxuan:id/txt_mainpage_tab_title").click();}

然后執行 只要執行通過就可以了
**注:一定要把appium開啟哈下圖框出來的那里 不然會報錯 **

總結

以上是生活随笔為你收集整理的自动化测试---移动端自动化测试项目搭建(Appium+IDEA)的全部內容,希望文章能夠幫你解決所遇到的問題。

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