App自动化测试_Appium(一)

第一章 App自动化测试 

自动化测试的思考

自动化测试实际上并没有节省测试人员和管理团队所期望的时间

测试中的某个流程没有自动化,增加的自动化测试的维护成本

什么情况下自动化测试可以帮助测试团队以及什么情况下自动化测试会阻碍他们的工作?

测试人员 : 应该自动化什么,自动化的程度有多少

测试经理: 测试自动化需要的开发成本,运维成本, 测试用例的编码成本如何投入获得最大收益

原则 :在考虑投入成本和维护成本的前提下, 应该百分之百的实现那些能够自动化的测试;不能实现自动化的不可强求

1. Android系统 

官网简介    https://developer.android.google.cn/

APP的分类 

  1. 原生应用程序: 系统原生的应用
  2. 混合应用程序:H5+后台应用 
  3. Web版APP: 浏览器的应用

2.Android SDK 

下载地址 : https://www.androiddevtools.cn/

安装SDK

设置环境变量 ANDROID_HOME

3.UIAutomator

  系统自带获取界面元素的工具

4.夜神模拟器

    https://www.yeshen.com/

5. ADB命令

官网 : https://developer.android.google.cn/studio/command-line/adb?hl=zh_cn

网站 :https://adbshell.com/

 

查看设备

adb device

连接模拟器

adb connect   127.0.0.1:62001

安装:

adb install  {apk-path}

覆盖安装

adb  -r install  {apk-path}

制定设备安装

adb  -s {device-name}  install  {apk-path}

卸载 

报名需要在

adb shell   

cd /data/app/

获得

adb uninstall com.best.android.zsww

查看所有包

adb shell   

pm list package 

过滤

pm list package  | grep  “xxx”

传输文件

adb push   {本地目录}     {模拟器目录} 

adb pull   {模拟器目录}    {本地目录}

截图

adb shell screen  {保存路径/名字.jpg}

重启

adb kill-server

adb start-server

6.package和activity

 Package

      在我们的app中这个Package是唯一的,  做app自动化时,需要知道他的Package,就知道我们需要对哪个app做自动化。 注意和.apk文件包名不同。

Activity

      Android中,activity是所有程序的根本,所有程序的流程都运行在activity之中,activity可以算是开发者遇到的最频繁,也是android当中最基本的模块之一。在android的程序中,activity一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么activity就相当于一个网页。在activity当中可以添加一些Button、Checkbox等控件,可以看到activity概念和网页的概念相当类似。

一般一个android应用是由多个activity组成的,这多个activity之间可以进行相互跳转。例如,按下一个Button按钮后,可能会跳转到其他的activity,与网页跳转稍微有点不一样的是,activity之间的跳转有可能返回值。

Tips:activity的生命周期:即“产生、运行、销毁”,但是这其中会调用许多方法onCreate(创建) 、onStart(激活) 、onResume(恢复) 、onPause(暂停) 、onStop(停止) 、onDestroy(销毁) 、onRestart(重启)。

Activity获取

    aapt工具获取

    aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件。获取命令如下:

    aapt dump badging xxxx.apk | find "launchable-activity"

Activity页面布局元素

FrameLayout

     FrameLayout是最简单的布局了。所有放在布局里的控件,都按照层次堆叠在屏幕的左上角。后加进来的控件覆盖前面的控件。

LinearLayout

      LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;如果是水平排列,那么将是一个单行N列的结构。如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个LinearLayout进行水平排列。

RelativeLayout

     RelativeLayout相对布局允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。

AbsoluteLayout

      AbsoluteLayout是绝对位置布局。在此布局中的子元素的android:layout_x和android:layout_y属性将生效,用于描述该子元素的坐标位置。屏幕左上角为坐标原点(0,0),第一个0代表横坐标,向右移动此值增大,第二个0代表纵坐标,向下移动,此值增大。在此布局中的子元素可以相互重叠。在实际开发中,通常不采用此布局格式,

TableLayout

    TableLayout 为表格布局,适用于N行N列的布局格式。一个TableLayout由许多TableRow组成,一个TableRow就代表TableLayout中的一行。

TextView

    通常用于显示文字用的。

ImageView

   通常用于显示图片用的。 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值