appium+java搭建及簡單腳本


1.Appium Desktop下載,安裝成功,配置host

https://github.com/appium/appium-desktop/releases

https://testerhome.com/topics/680

 

 
 

2.安卓模擬器-夜神模擬器

https://www.yeshen.com/

安裝完成打開夜神模擬器,運行cmd,執行adb connect 127.0.0.1:62001,提示如下:

* daemon not running; starting now at tcp:5037

* daemon started successfully

connected to 127.0.0.1:62001

3.配置Appuim,以高德地圖為例,點擊:Start Session

 

 
 

配置信息

{

  "deviceName": "127.0.0.1:62001",

  "appPackage": "com.autonavi.minimap",

  "appActivity": "com.autonavi.map.activity.NewMapActivity",

  "platformName": "android",

  "platformVersion": "5.1.1"

}

可以用下面兩條命令,獲取當前app和當前Activity的名字

adb shell dumpsys activity | find "mFocusedActivity"

adb shell dumpsys window w |findstr \/ |findstr name=

3.代碼實現:

依賴jar包

<dependency>

<groupId>org.seleniumhq.selenium</groupId>

<artifactId>selenium-android-driver</artifactId>

<version>2.39.0</version>

</dependency>

<dependency>

<groupId>io.appium</groupId>

<artifactId>java-client</artifactId>

<version>7.0.0</version>

</dependency>


import org.openqa.selenium.remote.DesiredCapabilities;

import java.net.MalformedURLException;

import java.net.URL;

import io.appium.java_client.android.AndroidDriver;

public class TestAppuim {

public static void main(String[] args)throws MalformedURLException, InterruptedException {

        // TODO Auto-generated method stub

        //添加配置,創建DesiredCapabilities對象

        DesiredCapabilities desiredCapabilities =new DesiredCapabilities();

        //指定測試設備的名稱

        desiredCapabilities.setCapability("deviceName","127.0.0.1:62001");

        //添加操作系統配置

        desiredCapabilities.setCapability("platformName","Android");

        //添加操作系統版本設置

        desiredCapabilities.setCapability("platformVersion","5.1.1");

        //指定想要測試應用的包名

        desiredCapabilities.setCapability("appPackage","com.autonavi.minimap");

        //指定想要測試應用的入口activity

        desiredCapabilities.setCapability("appActivity","com.autonavi.map.activity.NewMapActivity");

        / /創建驅動...URL是appium的固定地址;指定appium通訊的地址,將相對應的配置傳入到驅動里邊

        AndroidDriver androidDriver =new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),desiredCapabilities);

        //加線程等待

        Thread.sleep(2000);

        //點擊:同意

        androidDriver.findElementById("com.autonavi.minimap:id/agree").click();

        //退出

        Thread.sleep(2000);

        androidDriver.quit();

}

}

附錄:筆者在連接模擬器的時沒有拷貝adb.exe文件

如果需要拷貝請參考以下步驟:

1.把Android SDK目錄下\platform-tools的adb.exe拷貝到Nox\bin目錄,粘貼替換adb.exe,打開模擬器,cmd輸入adb connect 127.0.0.1:62001

2. 如果夜神模擬器的adb版本和androidsdk的adb版本不一致

把Android SDK目錄下\platform-tools的adb.exe拷貝,

打開Nox\bin目錄,粘貼,不用替換adb.exe,重命名成nox_adb.exe,打開模擬器

cmd輸入adb connect 127.0.0.1:62001

如果調試發現以下錯誤,重新執行adb connect 127.0.0.1:62001,如果還有問題請檢查端口號占用情況,netstat -aon | findstr "5037"

 



作者:ch_hanjian
鏈接:https://www.jianshu.com/p/6be38f347ebd
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM