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 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Java的Appium自动化测试教程 -> 正文阅读

[开发测试]Java的Appium自动化测试教程

环境配置需求:
1、jdk 这里使用的是jdk1.8
2、Android SDK
3、Appium 使用的是 Appium-desktop 这是款桌面集成的Appium 操作方便简单

4、开发工具 Eclipse
5、nodejs: https://nodejs.org/en/
6、夜神安卓模拟器
7、测试教程使用的微信 apk下载地址:http://gdown.baidu.com/data/wisegame/66fa6a9b0c42e77d/3f7e66fa6a9b0c42e77dda78f05e9812.apk
8、代码示例测试驾考宝典下载地址:https://www.wandoujia.com/apps/280597
点击普通下载,下载apk
9、这里网盘也提供一下一些安装包
链接:https://pan.baidu.com/s/1gDEOuKBiLRjLhu_XhBheMA
提取码:8q8w
如果链接失效请下面评论,会更新链接
在这里插入图片描述

环境变量配置自行百度这里就不在说了

安装完成后运行安装appium-doctor命令检测appium环境

npm install -g appium-doctor

在这里插入图片描述
bundletool.jar下载地址:https://github.com/google/bundletool/releases
在android sdk安装目录下面创建bundle-tool目录把bundletool.jar放入 文件名字必须改为bundletool
在这里插入图片描述
在系统环境变量和用户环境变量分别添加上目录
在这里插入图片描述
在这里插入图片描述
FFmpeg下载地址:https://github.com/FFmpeg/FFmpeg
gstreamer下载地址:https://gstreamer.freedesktop.org/download/
opencv4nodejs和mjpeg-consumer使用npm安装

npm install -g opencv4nodejs
npm install -g mjpeg-consumer

再次运行appium-doctor检测环境全部打钩就没问题了

以上环境安装完成后在你的\Android\Sdk\platform-tools目录下找到adb.exe
在这里插入图片描述
在夜神安卓模拟器目录Nox\bin下找到nox_adb.exe
把\Android\Sdk\platform-tools目录下找到的adb.exe改名为nox_adb.exe并且复制到Nox\bin下
在这里插入图片描述
打开模拟器设置为手机版
在这里插入图片描述
探测包名使用cmd进入\Android\Sdk\build-tools\29.0.2>目录下 我这里是29.0.2版本可能会不一样
输入aapt dump badging D:\baidu\wechat.apk 注意apk的地址不能有中文否则会报错 在这里插入图片描述
执行后获取包名为com.tencent.mm

在这里插入图片描述
找到应用启动入口的Activity
在这里插入图片描述

打开Appium 输入本地地址127.0.0.1 默认端口4723 把截图里面的内容勾选
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击Start Server启动Appium
在这里插入图片描述
点击放大镜进入配置页面
在这里插入图片描述

在这里插入图片描述

cmd 输入 adb cconnect 127.0.0.1:62001 夜神安卓模拟器运行端口为62001
在这里插入图片描述

在Appium里面配置选项填写配置
deviceName 为模拟器连接URL
platform 为测试的应用平台
appPackage为应用包名
appActivity为应用启动入口

{
  "deviceName": "127.0.0.1:62001",
  "platform": "Android",
  "appPackage": "com.tencent.mm",
  "appActivity": "com.tencent.mm.ui.LauncherUI"
}

在这里插入图片描述
点击 save保存配置方便下次使用不需要重新填写
在这里插入图片描述
Saved Capability Sets 可以看到刚才保存的配置
在这里插入图片描述
点击进入刚才的配置页
在这里插入图片描述
点击Start Session启动

在这里插入图片描述
错误原因为模拟器没有安装微信
在这里插入图片描述
直接鼠标拖拽apk到模拟器进行安装
在这里插入图片描述
在这里插入图片描述
每次开启模拟器必须要开启USB调试
设置>关于>连续点击版本号5次开启开发者模式
在这里插入图片描述
在设置里面找到开发者选项
在这里插入图片描述
找到USB调试打开
在这里插入图片描述

完成后点击Start Session
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
使用appium上面的Select Elements去选取按钮,获取按钮节点id
在这里插入图片描述

示例代码:
maven依赖包

<dependency>
    <groupId>io.appium</groupId>
    <artifactId>java-client</artifactId>
    <version>7.3.0</version>
</dependency>
package com.centent.appium;

import java.net.MalformedURLException;
import java.net.URL;

import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.TouchAction;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.touch.offset.PointOption;

/**
* @author ?????倾心????
* @version 创建时间:2021年7月11日 下午5:49:04
* @ClassName 类名称
* @Description 类描述
*/
public class AppiumTest {
	
	public static AndroidDriver<WebElement> androidDriver;
	public static void main(String[] args) throws MalformedURLException {
		// 创建配置对象
		DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
		
		// 添加配置
		// deviceName 可以找到我们测试的设备
		desiredCapabilities.setCapability("deviceName", "127.0.0.1:62001");
		// platformName: 测试平台 Android or Ios
		desiredCapabilities.setCapability("platformName", "Android");
		desiredCapabilities.setCapability("appPackage", "com.handsgo.jiakao.android");
		// appActivity 测试App启动入口
		desiredCapabilities.setCapability("appActivity", "com.handsgo.jiakao.android.splash.Login");
		desiredCapabilities.setCapability("unicodeKeyboard", true);//使用 Unicode 输入法  
		desiredCapabilities.setCapability("resetKeyboard", true);  //重置输入法到原有状态 如果不加输入不了中文
		// 传入两个参数
		//第一个参数: Appium通讯地址
		//第二个参数:配置对象
		androidDriver=new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"),desiredCapabilities);
		try {
			testJiaKao();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	public static void testJiaKao() throws InterruptedException {
		Thread.sleep(3000);
		
		TouchAction ta = new TouchAction(androidDriver);
		//触屏点击事件 输入
		ta.press(PointOption.point(605,1078)).release().perform();
		
		// 等待元素加载完毕
		Thread.sleep(20000);
		// 找到定位城市文本,并且点击
		androidDriver.findElementById("com.handsgo.jiakao.android:id/cityTv").click();
		//强制等待
		Thread.sleep(3000);
		//找到城市搜索框,并且输入福州
		androidDriver.findElementById("com.handsgo.jiakao.android:id/edt_search_q").sendKeys("福州");
		Thread.sleep(3000);
		//找到搜索结果中的福州,并且点击
		androidDriver.findElementById("com.handsgo.jiakao.android:id/item_title").click();
		//找到小车并且点击
		androidDriver.findElementById("com.handsgo.jiakao.android:id/itemCar").click();
		//找到下一步并且点击
		androidDriver.findElementById("com.handsgo.jiakao.android:id/okBtn").click();
	}

}


探测页面元素id建议使用sdk的uiautomatorviewer.bat在目录Android\Sdk\tools\bin下面
启动之后在cmd 使用连接命令
adb connect 127.0.0.1:62001
红色框的按钮是刷新模拟器页面 当然你也可以选择使用Appium的元素探测按钮,但是没SDK自带的方便在这里插入图片描述在这里插入图片描述
如果uiautomatorviewer.bat点击使用不了
请到我的网盘下载jar包 放入Android\Sdk\tools\lib目录下直接覆盖
链接:https://pan.baidu.com/s/1PflWyiBNXpQ6XxZBuAeZDw
提取码:ynyl
在这里插入图片描述

持续更新中。。。。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:47:30  更:2021-07-13 17:48:04 
 
开发: 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年5日历 -2024/5/6 1:31:24-

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