appium简介

  • 优点:
    • 跨平台
    • 支持原生
    • 混合以及web移动的应用跨平台:Android & IOS
  • 跨语言:
    • java、python、Ruby
    • 支持多语言
  • Appium下载:
    • 1、打开官网
    • 2、有两种下载方式:直接点击Download Appium
    • 3、点击Get started 可以查看appium的相关介绍
  • 安装:
  • 1、找到下载的安装文件双击即可安装
  • 2、直接点击安装即可(我已经安装了所以会显示已经存在)
  • 3、安装成功后桌面会有个
  • 4、点击运行即可
  • APP自动化环境部署
    • 1、jdk的安装
  • 配置环境变量:我的计算机右击属性
  • classpath的配置和上图一样
  • 2、IDE-eclipse安装
  • 3、模拟器安装
  • 4、Android SDK安装/配置
    • 1、 Android SDK(Software Development Kit,软件开发工具包)被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。它提供了 Android API 库和开发工具构建,测试和调试应用程序。简单来讲,Android SDK 可以看做用于开发和运行 Android 应用的一个软件。
  • 2、下载SDK
    • 1.目前官网上已经没有单独的SDK下载安装包了。目前官网推荐的是下载包含有Android SDK的Android Studio。
    • Android Studio 的一个功能非常强大的用来做安卓开发试调的官方出品的工具。
    • 2.由于这个Android Studio 的安装包过大且官网下载需要翻墙,而咱们在用Appium 的时候实际上只需要用到SDK 工具而已。所以推荐大家去另外一个国内的Android 工具的下载网站下载。传送门
    • 进入页面后点击【Android SDK 工具】按钮,然后在弹出的选择框内点击【SDK Tools】按钮,然后界面会自动跳转到SDK 的下载界面,选择适合自己的版本进行下载
  • 下载后的解压到任意盘符
  • 解压后的目录如下:
  • 配置SDK环境变量:两种方式我是直接配置的,一种是定义变量接收
  • 夜神模拟器自带了一个adb所以需要替换
  • adb:步骤也很简单
  • 1、找到安装的SDK文件,复制adb.exe
  • 2、打开夜神模拟器
  • 把adb.exe重命名nox_adb.exe后粘贴到夜神模拟器的安装路径下,覆盖下列文件即可
  • appium页面的基本介绍:
    • simple配置:基本配置
  • advanced配置:高级配置
  • presets :就配置
  • appium运行操作页面:
  • 点击放大镜要保证模拟器或APP是开启或连接状态
  • 在cmd命令中使用adb命令查看连接设备的地址,如果是用模拟器的需要使用connect进行连接
  • 获取包名有两种方式:第一种就是通过SDK自带的解析包名命令,直接 cmd
  • aapt dump badging 安装包.apk 进行解析
  • 第二种:使用adb命令 adb shell dumpsys window | findstr mCurrentFocus
  • 首先得保证程序是启动的:
  • 这个也可以查看包名
  • 类名:
  • 程序的入口
  • 报这样的错就看一下模拟器中有没有测试的软件包
  • 执行成功的展示页
  • UIAutomatorViewer:SDK原生元素定位工具,不需要提供启动参数,效率高
  • 首先进入到SDK目录,然后bin目录找到uiautomatorviewer.bat 双击运行
  • uiautomatorviewer界面介绍:
  • 包名 & 类名的介绍:
    • PackageName(包名):
  • ActivityName(类名)
  • Native APP:
    • 原生态APPHybrid
    • APP:混合APP
    • web APP:不需要安装,有浏览器即可(H5)
  • adb help 查看基本命令
  • 查看链接设备
  • 下载文件 adb pull
  • 上传 adb push
  • 远程界面 adb shell
  • 没安装之前:
  • 使用adb命令进行安装
  • Windows
  • 卸载:首先的查询到包名,保证程序是运行状态 adb shell dumpsys activity | find "mFocusedActivity" 或 adb shell dumpsys window | findstr mCurrentFocus
  • 卸载命令 adb uninstall com.moretv.android
  • 启动和终止服务
  • 启动程序:微信
  • 清缓存
  • 获取指针位置
  • 启动浏览器
  • 启动浏览器命令 adb shell input tap 499 465
  • 打印日志
  • 配置maven环境变量
  • 查看maven版本
  • 修改仓库路径 D:\maven\repository\settings.xml
  • 镜像仓库 D:\maven\repository\settings.xml
  • 项目结构
  • 填写在pom.xml文件中Java-client版本 6.1.0 可以使用高版本的,我的是7.20
  • 搜索报名和
  • 使用命令查包名:aapt dump badging 安装包路径.apk |findstr package
  • 使用命令查程序入口 aapt dump badging 安装包路径.apk |findstr launchable-activity
  • 手机的链接设备名

AppuimTest.java文件内容

package com.test.firsAppium;//包名

import java.net.MalformedURLException;import java.net.URL;//第三方依赖包

import org.openqa.selenium.WebElement;//导入 selenium 包中的WebElement模块

import org.openqa.selenium.remote.DesiredCapabilities;//导入 selenium 包中的remote.DesiredCapabilities模块

import io.appium.java_client.android.AndroidDriver;//导入appium 的依赖包 java_client

public class AppuimTest { //定义变量属性

androidDriver public static AndroidDriver<WebElement> androidDriver;

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

//1、创建配置对象

DesiredCapabilities desiredCapabilities=new DesiredCapabilities();

//添加配置 //deviceName:可以找到我们测试的设备本地的127.0.0.1:62001,b672fcc5手机链接设备名称,端口好5555 desiredCapabilities.setCapability("deviceName", "b672fcc5:5555"); //platformName:测试平台

Android or IOS desiredCapabilities.setCapability("platformName", "Android"); //获取包名,找到要测试的

App appPackage desiredCapabilities.setCapability("appPackage", "com.handsgo.jiakao.android"); //automationName: uiautomator2来解决输入框输不了数据的 //自动化引擎 desiredCapabilities.setCapability("automationName", "uiautomator2"); //appActivity:测试app启动入口 desiredCapabilities.setCapability("appActivity", "com.handsgo.jiakao.android.splash.Login"); //3、创建驱动 //传入两个参数 //第一个参数:appium通信地址 //第二个参数配置对象

androidDriver=new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"),desiredCapabilities); //调用自定义方法 testJiakao();

}

public static void testJiakao() throws InterruptedException{

//设置等待时间 Thread.sleep(10000); //点击启动程序会弹出遮罩层让我们选择,点击我知道

androidDriver.findElementById("com.handsgo.jiakao.android:id/permission_btn").click();

//1、找到定位城市文本,并且点击,(使用SDK自带的定位元素作为辅助功能定位元素的识别方式)

androidDriver.findElementById("com.handsgo.jiakao.android:id/select_text").click(); //2、找到城市搜索框,并输入 "长沙"

androidDriver.findElementById("com.handsgo.jiakao.android:id/edt_search_q").sendKeys("长沙"); //3、找到搜索结果中的"长沙",并且点击

androidDriver.findElementById("com.handsgo.jiakao.android:id/item_title").click(); //4、点击长沙后回到首页,点击小车 Thread.sleep(1000);

androidDriver.findElementById("com.handsgo.jiakao.android:id/item_car").click(); //5、找到"下一步"并且点击

androidDriver.findElementById("com.handsgo.jiakao.android:id/ok_button").click(); //跳转页面可能需要等待,所以设置等待时间 Thread.sleep(2000); //6、点击男士

androidDriver.findElementById("com.handsgo.jiakao.android:id/gender_male_btn").click(); //7、点击未报名驾校

androidDriver.findElementById("com.handsgo.jiakao.android:id/jiakao_not_sign_up_btn").click(); //8、点击纯为拿本

androidDriver.findElementById("com.handsgo.jiakao.android:id/naben_btn").click(); //9、点击下一步

androidDriver.findElementById("com.handsgo.jiakao.android:id/btn_next").click(); } }

  • 执行代码前先保证appium正常运行,模拟器或手机正常链接,有时候用模拟器比较慢所以我换成手机
  • 驾考宝典的一些自动化脚本
  • 设置断言需要依赖testng
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值