app自动化测试怎么做?实战分享app自动化测试全流程

在人间换酒钱 在人间换酒钱     2022-11-29     189

关键词:

一、什么是app测试?什么是app自动化测试?

概念:所谓app测试也称之为移动测试,通俗易懂的理解就是测试我们平时手机使用的程序。那什么是app自动化测试呢?

通常情况下是随app产品不断迭代更新,给测试员也增加了测试作量,特别是量繁琐的回归测试。动化测试是应对产品不断迭代更新的辅助测试段(主要是针对回归测试),最终的是为了保证产品质量。简而言之就是自动化的有点就是可重复、效率高,增加软件信任度。

二、app测试的主要内容有那些

1、功能测试

查看功能是否正常,主要针对每一个功能点进行一一测试,主要核心就是把验证的每个测试点都满足需求的对应功能,验证标准就是让预期结果和实际结果保持一致。

2、安装卸载测试

:首先要测试的点必须是软件可以正常的安装和卸载,并且保证最基本系统的正常运行。

3、升级测试

:测试点是软件的状态,就是更新迭代升级前后的区别和变化,确保旧版本功能正常实现,新功能不会出问题。

4、兼容性测试

:测试点:屏幕尺寸,以及系统适配等问题。主要对目前市场上比较流行的设备进行安装软件进行测试,保证可以正常的使用具体测试点如下:

Android系统版本
厂商二次开发版本
不同的分辨率
不同的网络
网络切换、中断测试
使用中来电话、短信
横竖屏切换
健壮性:电池耗电量、流量消耗情况、崩溃恢复等等

三、App测试如何搭建环境

1、首先我们需要安装环境java sdk的环境:版本jdk1.62以上,

2、配置 JAVA_HOME 和 PATH

右击“我的电脑”–>然后找到"属性"–>点击"高级系统设置"–>选择"高级"–>点击"环境变量"

在系统变量里新建"JAVA_HOME"变量,变量值为:D:\\Pro\\jdk1.8.0_60(具体根据jdk的安装路径配置)

在系统变量里新建一个"classpath"变量,变量值为:

:.;%JAVA_HOME%\\lib;%JAVA_HOME%\\lib\\tools.jar (需要重点注意变量值前面有一个.需要加到变量值里面去)然后找到path变量(如果已经存在了这个变量值,那就不需要去新建了)接下来就是进行添加变量值:%JAVA_HOME%\\bin;%JAVA_HOME%\\jre\\bin

3、安装Android的测试开发环境,到官网下载Android SDK进行安装

4、同样在自己电脑上面,配置 ANDROID_HOME 和 PATH路径

5、虚拟机安装**:**推荐使用-(夜神模拟器)

6、python环境安装:建议使用3.6版本,安装时切记勾选配置环境变量

手动配置:配置环境变量-电脑属性系统变量添加python根目录

温馨提示:以上所有安装包和环境,有需要可以私信我,可以分享安装包链接以及详情操作步骤。

关于使用手机模拟器的话也可以使用真机测试步骤如下:

a:手机通过usb线 连接到电脑

b:在手机上打开文件传输(通知栏,手机正在充电)

c:在电脑上会发现多了一个CD驱动器,里面是手机的驱动

d:安装驱动,电脑的设备管理器中就可以看到型号了

e:开启开发者模式: 手机 – 设置 – 关于手机 – 版本号 (多次点击)

f:打开USB调试: 手机 – 设置 开发者选项 – usb调试(打开)

四、app测试的ADB服务

1、定义

就是一个 Android Debug Bridge 安卓调试桥

即包含ADB服务,也包含了与服务对应的Client

2、关系
会在电脑上创建出来一个服务(ADB服务)
手机连上电脑后,都会与服务建立连接
要想发送指令给手机, 需要把指令发送到服务中。

3、作用
通过命令行去操作手机

4、主要命令
a:服务 (如果发现代码连不上手机了)
adb kill-server
adb start-server

b:查看设备
adb devices

c:进入手机终端
adb shell

d:获取信息
adb shell getprop ro.build.version.release 获取手机android版本
adb shell dumpsys window windows | findstr mFocusedApp 获取手机当前运行的程序和界面的名称

e:文件传输
adb push 电脑上的文件 手机上的位置
adb pull 手机上的文件 电脑上的位置

f:软件安装卸载
adb install 电脑上的apk文件路径 安装应用
adb uninstall 应用的包名

g:获取其他信息
adb shell am start -W 包名/.启动名

五、自动化测试工具

一般我们去做app自动化会选取 Appium测试工具

优点:支持的语言多、支持的平台多

环境搭建:

安装appnium的程序
在python中安装 Appium-Python-Client
安装selenium和appium的客户端
安装被测试app
六、编写python自动化代码

  1. 连接设备

组装一个字典,注明平台、系统版本、名称

#注明要打开的应用和界面的名称

from appium import webdriver

server 启动参数

desired_caps =

desired_caps[‘platformName’] = ‘Android’

desired_caps[‘platformVersion’] = ‘5.1’

desired_caps[‘deviceName’] = ‘192.168.56.101:5555’

desired_caps[‘appPackage’] = ‘com.android.settings’

desired_caps[‘appActivity’] = ‘.Settings’

从appium库里面导入driver对象

driver = webdriver.Remomte(‘appnium程序的地址’,‘一个字典,要获取设置的要求’)

driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’, desired_caps)

  1. 执行操作

driver.xxx

element = driver.find_element_by_xx()

element.xxx

退出

driver.close_app()

driver.quit()

七、风险评估和分析事项
自动化测试的主要风险分析主要有一下几点:

(1)测试用例的覆盖率

。测试人员开发的测试用例覆盖率是否足够全面,影响了最终的测试效果和测试执行效率。

(2)测试结果的准确程度

。测试结果的准确度直接影响最终产品的质量,以及后续对项目进行二次改动和调试的工作难度。

(3)自动化代码维护

。因为自动话的脚本需要进行编写和维护这个时间精力成本比较大。(一些数据和关键字驱动的自动化测试框架,应该尽可能的减少代码的更改和优化量。自动化框架的搭建和开发应该尽可能使用面向对象的编程思维进行搭建)。

(4)版本开发以及测试的时间进度

。一般如果项目比较稳定,功能更新和迭代周期较长的,都建议选择自动化测试,可以提高测试效率并且高精度的保障产品质量。

(5)开发对控件元素增修改的程度

。需开发人员尽可能地用name元素,并且尽量保证开发结果和UI设计保持一致,不要大幅度的修改。这样做的目的是测试工程师能够根据需求中的设计做准确性测试,也方便测试工程师编写自动化脚本提高工作效率。

最后:【可能给予你助力的视频教程】

这些资料,对于想从功能测试进阶到自动化测试的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助,需要的小伙伴点击下方插件进群免费领取:

技术分享|app自动化测试(android)–触屏操作自动化

原文链接导入TouchActionPython版本fromappium.webdriver.common.touch_actionimportTouchActionJava版本importio.appium.java_client.TouchAction;常用的手势操作pr 查看详情

app自动化测试很重要?一文带你搞懂怎么测app

现在是移动互联网的时代,移动端APP产品在不断推陈出新,相应的APP测试人员也变得炙手可热。今天小濠跟大家全面谈谈APP应该怎么做测试。一、首先,移动测试要注意以下几点:移动APP测试中如何设计TestCaseÿ... 查看详情

app自动化测试很重要?一文带你搞懂怎么测app

现在是移动互联网的时代,移动端APP产品在不断推陈出新,相应的APP测试人员也变得炙手可热。今天小濠跟大家全面谈谈APP应该怎么做测试。一、首先,移动测试要注意以下几点:移动APP测试中如何设计TestCaseÿ... 查看详情

app自动化测试是怎么实现h5测试的(代码片段)

移动端app自动化框架很多,但是有一些框架因为不支持混合应用测试,一直没有完全流行。比较典型的是经典的Python框架uiautomator2,这个框架简单好用,没有appium那样复杂的api调用,受到不少python自动化工程师的青睐。但是不管... 查看详情

技术分享|app自动化测试(android)–高级定位技巧

原文链接XPath高级定位技巧XPath简介XPath的英文全称为:XMLPathLanguage,意旨对XML中的元素进行路径定位的一种语言,它可适用XML标记语言,Html标记语言,appDom结构。XPath是自动化工具的定位基础,可适用于Selenium工具 查看详情

移动端app自动化测试超全基础汇总

 目录一.面试过程1.自动化岗位要求  2.面试流程,面试类型  3.沟通技巧,不同级别要求二.真实面试案例1.一个输入框的面试题(有人拿到高级岗位,有人连初级都没拿到,为什么)三.自我分析1.积累的知识决定了初入社... 查看详情

〖pythonapp自动化测试实战篇①〗-大话闲扯app自动化

订阅Python全栈白宝书-零基础入门篇可报销!白嫖入口-请点击我。推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V!说明:该文属于Python全栈白宝书专栏,免费阶段订阅数量4300+,购买任意白宝书体系化专栏可加入T... 查看详情

持续集成这样做,app自动化测试效率提高50%

...导团队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态,让产品可以快速迭代,同时还能保持高质量... 查看详情

appui自动化测试是鸡肋吗?

参考技术A最近与一个朋友聊到了APP的UI自动化,他问我如何做APP的UI自动化。我说了一下目前主流的方法是通过对UI的识别,然后触发操作,各种工具的原理差不多。当然,有更牛逼的,使用高清摄像头+机械臂,通过高清摄像头... 查看详情

移动app测试实战(书籍)学习

...深入到代码实现角度的深层次掌握和理解。(4)坚实的自动化测试理解以及实践积累。(5)对操作系统、网络等基础知识更深入的掌握和实践。(6)保持对测试行业新技术的不断探索 查看详情

app自动化测试

1.App自动化测试的技术体系   2.AndroidSDK环境搭建与常用命令Anddroid自动化测试前提条件是系统中有JDK环境,并且已经安装好AndroidSDKTools。此外,通常情况下,都是基于模拟器的自动化测试(除非做兼容性测试使用真机... 查看详情

移动端app自动化测试超全基础汇总

 目录一.面试过程1.自动化岗位要求  2.面试流程,面试类型  3.沟通技巧,不同级别要求二.真实面试案例1.一个输入框的面试题(有人拿到高级岗位,有人连初级都没拿到,为什么)三.自我分析1.积累的知识决定了初入社... 查看详情

移动app测试经验总结

...e3、让自己成为真实的用户4、关注用户体验测试5、少做UI自动化,多做后台接口的自动化6、测试你最终要发布给用户的APP版本7、HTTP,HTTPS都要覆盖8、进行网络异常,服务器宕机或出现404,502情况下的测试9、2G,3G,4Gwifi都要覆盖10... 查看详情

app自动化测试系列之desiredcapabilities详解(代码片段)

在上一篇APP自动化系列文章:APP自动化测试系列之Appium介绍及运行原理,主要介绍appium的运行原理。以下主要介绍Appium中DesiredCapabilities的作用、常用配置及实战。一DesiredCapabilities介绍1DesiredCapabilities概念DesiredCapabilities是... 查看详情

mock+proxy在sdk项目的自动化测试实战

项目背景广告SDK项目是为应用程序APP开发人员提供移动广告平台接入的API程序集合,其形态就是一个植入宿主APP的jar包。提供的功能主要有以下几点:-为APP请求广告内容-用户行为打点-错误日志打点-反作弊团队现状在项目推进... 查看详情

持续集成这样做,app自动化测试效率提高50%

...队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态,让产品可以快速迭代,同... 查看详情

持续集成这样做,app自动化测试效率提高50%

...队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态,让产品可以快速迭代,同... 查看详情

持续集成这样做,app自动化测试效率提高50%

...队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态,让产品可以快速迭代,同... 查看详情