APP自动化搭建与应用

news/2024/12/21 22:33:23/

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()

任务:

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


http://www.ppmy.cn/news/1536300.html

相关文章

信息学奥赛使用的编程IDE:Dev-C++ 安装指南

信息学奥赛(NOI)作为全国性的编程竞赛,要求参赛学生具备扎实的编程能力,而熟练使用适合的编程工具则是学习与竞赛的基础。在众多编程环境中,Dev-C IDE 因其简洁、轻量、支持C编程等特点,成为许多参赛者的常…

项目配置说明

文章目录 零、预安装0.1 在Ubuntu 系统中安装 git0.2 在Ubuntu 系统中安装 cmake 一、下载 vscode 并安装相应扩展1.1 下载 vscode1.2 安装扩展 二、git 项目三、git 提交流程3.1 确定要提交的代码 四、git 拉新流程 零、预安装 0.1 在Ubuntu 系统中安装 git 在 Ubuntu 桌面&…

ML 系列:【13 】— Logistic 回归(第 2 部分)

文章目录 一、说明二、挤压方法三、Logistic 回归中的损失函数四、后记 一、说明 ​ 在这篇文章中,我们将深入研究 squashing 方法,这是有符号距离方法(第 12节)的一种很有前途的替代方案。squashing 方法通过提供增强的对异常值…

【Web】复现n00bzCTF2024 web题解(全)

目录 File Sharing Portal 方法一: 方法二: Focus-on-yourSELF Passwordless File Sharing Portal 附件的Dockerfile给了这么一段 # Add the cron job to the crontab RUN mkdir /etc/cron.custom RUN echo "*/5 * * * * root rm -rf /app…

C++11--默认成员函数控制 模板的可变参数

默认成员函数 之前学习C类中,有6个默认成员函数: 构造函数析构函数拷贝构造函数拷贝赋值重载取地址重载const 取地址重载 最重要的是前4个,默认成员函数就是我们不写编译器会生成一个默认的。在C11中新增了两个函数:移动构造函…

苹果盛宴:iPhone 16系列领衔,智能穿戴新潮流来袭

在科技界备受瞩目的苹果秋季发布会上,众多新品悉数亮相,从全新的Apple Watch系列到AirPods系列,再到备受期待的iPhone 16系列,每一款产品都以其独特的创新和卓越的性能,再次定义了智能设备的高标准。 本文将带您领略这…

UE5数字人制作平台使用及3D模型生成

第10章 数字人制作平台使用及3D模型生成 在数字娱乐、虚拟现实(VR)、增强现实(AR)等领域,高质量的3D模型是数字内容创作的核心。本章将引导你了解如何使用UE5(Unreal Engine 5)虚幻引擎这一强大…

scaling 的作用

scaling 控制适应程度指的是对原始模型权重的修改幅度。让我用具体例子解释: 假设我们有一个原始的权重矩阵: 原始权重 [[1000, 2000],[3000, 4000]]现在看两种不同的 scaling 值如何影响更新: 当 scaling 2 (alpha8, r4) 时&#xff1a…