APP自动化搭建与应用

APP自动化环境搭建

用于做APP端UI自动化,adb连接手机设备。
需要的工具java编辑器:jdk、Android-sdk软件开发工具组、appium的python客户端、nodes.js、夜神模拟器、apk包、uiautomatorviewer
第一步:安装sdk,里面包含建立工具build-tools 、拓展的附加包extras、安装下载的所有Android平台platform-tools、开发工具tools。安装之后在电脑设置找到高级系统设置-环境变量,用户变量名ANDROID_HOME,变量值填入sdk文件夹的路径。然后添加环境变量,在路径下添加四个工具包路径和build-tools里的android-4.4W文件夹路径。添加%ANDROID_HOME%\tools.
第二步:安装appium软件,,找到应用程序创建桌面快捷方式,在pycharm下安装或dos下在线安装 python操作客户端(dos窗口下安装)。dos使用命令:pip install Appium-Python-Client==1.0.2
第三步:安装node.js。在dos中查看版本,命令node -v,然后app自动化测试环境检查:appium-doctor
第四步:安装夜神模拟器并创建桌面快捷方式。
第五步:用dos连接模拟器adb connect 127.0.0.1:62001,服务地址在appium应用查看。
第六步:安装apk包。adb install +包名的绝对路径,apk包就下载到模拟器中了。
第七步:查看包名和活动路径名:aapt d badging 包名的绝对路径。(卸载安装包:adb uninstall com.baidu.yuedu)(adb shell pm list packages 查看已安装的应用,查找第三方包)( adb shell pm list packages -3 查看第三方已安装的应用)(adb devices 查看当前连接设备)(adb shell 进入到shell ctrl+c 退出 )(adb logcat 查看日志 ctrl+c 退出)(windows往手机上sdk传递文件:格式:adb push 文件路径/文件名 手机存放的位置)(手机往本地传递文件:
格式:adb pull 手机文件路径/手机文件 本地文件路径)(截图:格式: adb shell screencap -p 文件/图片.后缀名)(启动adb server 命令:adb start-server)(停止adb server 命令 adb kill-server )(adb disconnect 断开无线连接)

实战流程:

1.打开模拟器、appium、uiautomatorviewer
2.dos中连接appium;adb connect 127.0.0.1:62001
3.安装apk测试包:adb install D:\测试课程记录\jenkins\搭建环境需要的安装包\baiduyuedu_3760.apk
4.appium勾选override existing session,右上角启动appium
5.用uiautomatorviewer定位插件,打开,点击左上角获取页面元素,查看定位
6.xpath没有的话更换jar插件,将新的jar包放在sdk\tools\lib和sdk\platforms\android-20 下,重新启动应用
7.在模拟器中查看平台系统、平台版本和设备名称,在dos中获取apk包名和活动路径名,在appium中查看服务地址,打开pycharm输入要执行的自动化代码,点击运行

一、app自动化测试环境和用途:

主要用于做app端UI自动化,熟悉adb命令(a表示安卓,d表示debug,b表示桥)
adb是连接手机设备

二、搭建环境的工具

(1)jdk 已安装的省略这步,java的一种编译器 (本地windows安装)
jdk安装和配置环境变量
在这里插入图片描述
(2)查看jdk版本
在dos中输入java -version查看1.8.0_60

(3)android-sdk 软件开发工具组,里面存放一些类和函数
在这里插入图片描述
路径:D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk
在这里插入图片描述
(3)appium-python-client appinm的python的客户端
在这里插入图片描述
在这里插入图片描述

(4)nodes.js
在这里插入图片描述

(5)模拟器(夜神模拟器和逍遥模拟器)
在这里插入图片描述

(6)apk包、抓取软件
在这里插入图片描述

app环境的搭建

1、安装sdk

第一步:装sdk
详解:SDK (Software Development Kit)翻译成中文就是"软体开发工具组"
是用来帮一个产品或平台 开发应用程式的工具组,由产品的厂商提供给开发者使用的。
通常是 某一家厂商针对某一 平台 或 系统 或 硬体 所发布出来用以开发应用程式的工具组,在这个工具包里面,可能包含了各式各样的开发工具,模拟器等。给 Android平台 使用的 Android SDK 就是用来开发 Android系统上面的应用程式。
sdk存放了类,函数
SDK下包的说明:
1、:build-tools :建立工具
2、:extras:扩展的附加包
3、:platforms:安装下载的所有Android平台,分版本存放
4、:platform-tools:平台相关的工具
5、:tools:应用Android平台进行开发所需要的一些开发工具
(1)步骤:打开sdk:
(2)查看sdk下文件夹
(3)添加环境变量
点击电脑右键-高级系统设置-环境变量
变量名:ANDROID_HOME
变量值:sdk安装的路径:D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk
在这里插入图片描述

在path下添加路径:
D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\build-tools
D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W
D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\platforms
D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\platform-tools
D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\tools

在这里插入图片描述

安装appium

在这里插入图片描述
在这里插入图片描述
pycharm下安装或dos下在线安装 python操作客户端(dos窗口下安装)
pip install Appium-Python-Client==1.0.2
在这里插入图片描述

安装nodes.js

在这里插入图片描述

dos查看版本node -v

在这里插入图片描述

app自动化测试环境检查:appium-doctor
在这里插入图片描述

安装模拟器(讲课用夜神:62001)

在这里插入图片描述

安装好夜神模拟器创建快捷方式

在这里插入图片描述
在这里插入图片描述

adb 命名(重点)

(1)adb connect 127.0.0.1:62001 连接模拟器设备
在这里插入图片描述
(2)模拟器的端口号
夜神模拟器 端口号 :62001
海马玩模拟器 端口号:26944
mumu模拟器端口号:7555
天天模拟器 端口号:6555
(3)adb install +包名的绝对路径 安装apk包
案例:adb install D:\测试课程记录\jenkins\搭建环境需要的安装包\baiduyuedu_3760.apk
“D:\测试课程记录\jenkins\搭建环境需要的安装包\baiduyuedu_3760.apk”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)活动路径名:

查询包名或活动路径名:aapt d badging D:\测试课程记录\jenkins\搭建环境需要的安装包\baiduyuedu_3760.apk
包名:
在这里插入图片描述
活动路径名:
在这里插入图片描述

(5)adb uninstall 包名:
包名name=‘com.baidu.yuedu’
卸载安装包:adb uninstall com.baidu.yuedu
在这里插入图片描述
(6)adb shell pm list packages 查看已安装的应用,查找第三方包

adb shell pm list packages -3 查看第三方已安装的应用
在这里插入图片描述
在这里插入图片描述
(7)adb devices 查看当前连接设备
在这里插入图片描述
(8)adb shell 进入到shell
在这里插入图片描述
ctrl+c 退出
(9)adb logcat 查看日志
在这里插入图片描述
ctrl+c 退出
(10)windows往手机上sdk传递文件:
格式:adb push 文件路径/文件名 手机存放的位置
案例:adb push E:\bb.txt /data
sdk文件
在这里插入图片描述
本地存放的文件路径–模拟器上的路径在这里插入图片描述
在这里插入图片描述

(11)手机往本地传递文件:
格式:adb pull 手机文件路径/手机文件 本地文件
案例:adb pull /data/bb.txt E:\
从模拟器上拉取文件到本地
在这里插入图片描述
(12)截图:
格式: adb shell screencap -p 文件/图片.后缀名
案例:adb shell screencap -p /data/user/j.png
在这里插入图片描述
在这里插入图片描述
(13)启动adb server 命令:
adb start-server
(14)停止adb server 命令
adb kill-server
(15)adb disconnect 断开无线连接

app自动化实战运用

一、打开模拟器

二、cmd中打开dos命令连接appium

adb connect 127.0.0.1:62001

三、安装测试包

adb install D:\测试课程记录\jenkins\搭建环境需要的安装包\baiduyuedu_3760.apk
下载好的jdk通过jenkins打包,通过URL或链接下载
在这里插入图片描述

四、打开appium

勾选session关闭,启动按钮开启appium
在这里插入图片描述
在这里插入图片描述
五、( 定位元素没有xpath的就删除原有uiautomatorviewer.bat,替换成新的)

开始定位,定位插件

“D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\tools\uiautomatorviewer.bat”
在这里插入图片描述
创建快捷方式
在这里插入图片描述

六、打开,连接获取页面元素

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、更换插件(原有插件)

(1)更换sdk下tools
路径:D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\tools
替换启动文件 bat
(2)将新的jar包放在sdk\tools\lib 下
路径:D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\tools\lib
在这里插入图片描述
(3)将jar放在sdk\platforms\android-20
路径:D:\测试课程记录\jenkins\搭建环境需要的安装包\adt-bundle-windows-x86_64-20140702\sdk\platforms\android-20
在这里插入图片描述
然后点击bat启动
查看是否有xpath元素
在这里插入图片描述
模拟器设置中查看型号
在这里插入图片描述
在这里插入图片描述

创建一个python文件,写入自动化代码

案例1:
from appium import webdriver
from time import *
cs={
‘platformName’:‘Android’, #平台系统:Android or Ios
‘deviceName’:‘OPPO R17’, #设备名称
‘platformVersion’:‘android-5.1W’, #平台版本
‘appPackage’:‘com.moji.mjweather’, #包名
‘appActivity’:‘com.moji.mjweather.LauncherActivity’, #activity
‘unicodeKeyboard’: True, #使用unicode编码方式发送字符串 }
‘resetKeyboard’:True} #是将键盘隐藏起来
dx=webdriver.Remote(“http://127.0.0.1:4723/wd/hub”,cs)
sleep(10)

dx.find_element_by_id(“com.moji.mjweather:id/jc”).click() #同意进入

dx.find_element_by_id(“com.moji.mjweather:id/azz”).send_keys(“北京市”)
查看所需的参数数据:
(1)app端查看设备和版本
‘platformName’:‘Android’, #平台系统:Android or Ios
‘deviceName’:‘SM­G9350’, #设备名称
‘platformVersion’:‘android­4.4W’, #平台版本

(2)dos查看包名和活动路径名(命令:aapt d badging D:\测试课程记录\jenkins\搭建环境需要的安装包\baiduyuedu_3760.apk)
‘appPackage’:‘com.baidu.yuedu’, #包名
‘appActivity’:‘com.baidu.yuedu.splash.SplashActivity’, #activity 活动路径名
(3)appium查看服务地址
dx=webdriver.Remote(“http://127.0.0.1:4723/wd/hub”,cs)
在这里插入图片描述

from appium import webdriver
from time import sleep
desired_caps={
‘platformName’:‘Android’, #平台系统:Android or Ios
‘deviceName’:‘SM­G9350’, #设备名称
‘platformVersion’:‘android­4.4W’, #平台版本
‘appPackage’:‘com.baidu.yuedu’, #包名
‘appActivity’:‘com.baidu.yuedu.splash.SplashActivity’, #activity
‘unicodeKeyboard’: True, #使用unicode编码方式发送字符串 }
‘resetKeyboard’:True} #是将键盘隐藏起来

driver=webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’,desired_caps)
(一) ‘platformName’:‘Android’, #平台系统:Android or Ios
‘deviceName’:‘OPPO R17’, #设备名称
‘platformVersion’:‘android­5.1W’, #平台版本

修改手机类型

在这里插入图片描述

执行成功,在app端可以查看

在这里插入图片描述

自动打开书架代码:

from appium import webdriver #导入appium模块
from time import * #导入时间
#连接参数 cs
cs={
‘platformName’:‘Android’, #平台系统:Android or Ios
‘deviceName’:‘OPPO R17’, #设备名称
‘platformVersion’:‘android-5.1W’, #平台版本
‘appPackage’:‘com.baidu.yuedu’, #包名
‘appActivity’:‘com.baidu.yuedu.splash.SplashActivity’, #活动activity
‘unicodeKeyboard’: True, #使用unicode编码方式发送字符串 }
‘resetKeyboard’:True} #是将键盘隐藏起来
dx=webdriver.Remote(“http://127.0.0.1:4723/wd/hub”,cs)
sleep(12)
dx.find_element_by_id(“com.baidu.yuedu:id/lefttitle”).click()

connect连接问题:

1、dos报错现象:
daemon not running. starting it now on port 5037 *
daemon started successfully *
** daemon still not running
error: cannot connect to daemon
解决方案:
(1)路径:adt-bundle-windows-x86_64-20140702\sdk\platform-tools下的adb.exe和nox_adb复制
(2)找到模拟器中的安装位置Nox\bin\Nox.exe,本身存在的改名,粘贴sdk的adb。
修改地方1:在这里插入图片描述
修改地方2:在这里插入图片描述
(3)重启下模拟器

uiautomatorviewer显示的界面为横屏解决方法:修改模拟器的分辨率,比如540:900

任务:

1、搭建appium 2、写app自动化5条 3、梳理appium自动化搭建流程并写文档 4.用pycharm+python+appium编写五条测试用例并生成测试报告

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值