IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Appium+Java+Android(真机)首次安装及首个测试用例 -> 正文阅读

[移动开发]Appium+Java+Android(真机)首次安装及首个测试用例

1.前言

我习惯先将所有工具下载下来,再逐个安装并配置环境变量

需要下载的工具:JDK,SDK,Appium-desktop(或Appium Server+Nodes.js),IDEA,Maven

关于Appium Server+Nodes.js和Appium-desktop装哪个的问题:

我是都尝试安装了,查询资料:Appium Server没有维护,版本没再更新,安装完后是三色图标Logo,比较旧,需要找到.bin文件配置环境变量;Appium-desktop安装后是紫色图标,没有网上所说的.bin文件,我刚开始以为下的包有问题,但是多次尝试后确认就是没有.bin文件

关于环境安装完后appium-doctor检查问题:

我刚开始一直纠结appium-doctor检查没有网上所说的All Checks were successful,现在的结论如下:

Appium Server+Nodes.js:不要过于纠结一定要appium-doctor返回Checks were successful,有Warning也属于正常,只要没有Manully Fix的环境错误就行

Appium-desktop:只要该下的工具都下了,环境变量都配对了就行,appium-doctor不是内部命令不识别什么的都正常,可以无视它。

最终结论:其实只要确保环境配得正确,我们完全没必要用appium-doctor检查

2.工具下载+安装&环境配置

工具下载:

JDK下载链接:Java SE - Downloads | Oracle Technology Network | Oracle 中国

SDK下载链接(SDK Tools下载.zip):AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载

Appium Server+Nodes.js 或 Appium-desktop

Appium Server下载链接:appium / Appium.app / Downloads — Bitbucket

Nodes.js下载链接:Node.js

Appium-desktop下载链接:https://github.com/appium/appium-desktop/releases

IDEA下载链接(下载社区版本):IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains?

Maven下载链接:Maven – Download Apache Maven

这是我下完所有工具的截图:

?

安装&环境配置

关于安装顺序:只要JDK和Node.js先装上,其他顺序无所谓:

安装目录:我专门新建一个文件夹专门放这些工具

JDK-->SDK-->Appium-desktop(Nodes.js-->Appium Server)-->IDEA-->MAVEN

JDK安装

更改安装目录,其他下一步

环境配置:JAVA_HOME: JDK路径?

? ? ? ? ? ? ? ? ? PATH: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

SDK安装

解压到目标目录,打开SDK Manager.exe下载Packages

Tools+Android+Extras最小安装,截图是我的安装,有些没下下来,Android 10下全了就没在意了

?

环境配置:%ANDROID_HOME%: android-sdk-windows路径

? ? ? ? ? ? ? ? ? PATH: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;

?Nodes.js安装

.msi文件安装,更改安装路径,其他下一步

我更改了配置路径,新建两个文件夹node_global和node_cache存放node_modules文件和缓存(可改可不改,默认路径在C盘)

npm config set prefix "node_global路径"
npm config set cache "node_cache路径"

环境配置:%NODE_PATH%: node_global\node_modules路径

? ? ? ? ? ? ? ? ? PATH: \node_global路径 (默认是已经配好的)

Appium_desktop安装

.exe默认安装,下一步到完成

环境配置:%APPIUM_HOME%: C:\Users\名字\AppData\Local\Programs\Appium

? ? ? ? ? ? ? ? ? PATH: %APPIUM_HOME%;

?IDEA安装

安装是更改目录,截图页选项我全选上了,其他都下一步,不需要环境配置

?Maven安装

解压配置一下环境变量就行

环境配置:%MAVEN_HOME%: apache-maven路径

? ? ? ? ? ? ? ? ? PATH: %MAVEN_HOME%\bin;

3.首个用例

Maven本地仓库配置

新建文件夹maven-repository放本地仓库

Maven下conf-->Settings.xml中配置:?<localRepository>本地仓库路径</localRepository>

IDEA中新建项目

配置Maven路径

新建项目-->类,示例代码:

import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import io.appium.java_client.android.AndroidDriver;

public class TestAndroid {

? ? private AndroidDriver driver;

? ? @BeforeTest
? ? public void beforeMethod() throws MalformedURLException {

? ? ? ? DesiredCapabilities capabilities = new DesiredCapabilities();
? ? ? ? capabilities.setCapability("deviceName", "真机标识号");
? ? ? ? capabilities.setCapability("automationName", "Appium");
? ? ? ? capabilities.setCapability("platformName", "Android");
? ? ? ? capabilities.setCapability("platformVersion", "安卓版本号");
? ? ? ? capabilities.setCapability("deviceReadyTimeout", 30); ?//设备超时时间
? ? ? ? capabilities.setCapability("unicodeKeyboard", true); ?//向应用输入中文
? ? ? ? capabilities.setCapability("resetKeyboard", true); ? ?//关闭中文键盘
? ? ? ? capabilities.setCapability("appPackage", "app包名");
? ? ? ? capabilities.setCapability("appActivity", "app活动名");
? ? ? ? capabilities.setCapability("noReset", "true"); //设置每次运行不重新启动被测试app
? ? ? ? capabilities.setCapability("fullReset", "false");
? ? ? ? // ? ? capabilities.setCapability("browserName", "chrome");//设置HTML5的自动化,打开谷歌浏览器

? ? ? ? driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
? ? }

? ? @AfterTest
? ? public void afterMethod() {
? ? ? ? driver.quit();

? ? }

? ? @Test
? ? public void testCalculator() throws MalformedURLException, InterruptedException {
? ? ? ? String user="用户名";
? ? ? ? String pwd="密码";
? ? ? ? Thread.sleep(8000);
? ? ? ? driver.findElement(By.id("元素ID")).sendKeys(user);
? ? ? ? Thread.sleep(5000);
? ? ? ? driver.findElement(By.id("元素ID")).sendKeys(pwd);
? ? ? ? Thread.sleep(5000);
? ? ? ? driver.findElement(By.id("元素ID")).click();
? ? ? ? Thread.sleep(3000);
? ? }
}

代码中缺包,maven下载依赖包,pom.xml

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.8.7</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
    </dependency>

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.1.22</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/io.appium/java-client -->
    <dependency>
        <groupId>io.appium</groupId>
        <artifactId>java-client</artifactId>
        <version>7.5.1</version>
    </dependency>
</dependencies>

注意事项:下载的包版本号如果不对,会存在selenium-java 和java-client不匹配问题,需要下相匹配的包,下载依赖包代码链接:https://mvnrepository.com/

代码中文待替换部分补充

真机标识号:adb devices

app包名:adb shell am monitor ; 打开手机APP

app活动名:打开App ; adb shell ;?dumpsys package app包名?(找到包含“category.LAUNCHER" 字样的Activity即可)

?元素ID:Appium Server下Inspector元素定位

? ? ? ? ? ?

**成功截图**----普天同庆

?

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:23:14  更:2021-09-13 09:23:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:59:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码