自动化测试

1.1 自动化测试简介
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。从广义上来讲,一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化测试。从狭义上来讲,自动化测试就是通过工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。

1.2 自动化测试的优点
1)提高效率:通过运行自动化测试脚本,就可以在夜间、午休等时间进行测试用例回归,实现无人值守测试,大大提高了测试效率。
2)避免重复工作:每发布一个新的版本,其中大部分功能和界面都和上一个版本相似或完全相同,这部分功能就可以用自动化测试,避免人工重复劳动。
3)避免人为出错:例如忘了执行某些用例,用例执行步骤出错,输入数据出错等。
4)保证每次测试的一致性和可重复性:由于每次自动化测试运行的脚本是相同的,所以每次执行的测试具有一致性,这一点手工测试是很难做到的;而且,由于自动化测试的一致性,很容易发现被测软件的任何改变。
5)节省人力资源:减少人工,降低成本。
6)克服手工测试的局限性:许多死锁、资源冲突、多线程等有关的问题 ,通过手工测试很难捕捉到;系统压力、性能测试,以及需要模拟大数据或大并发用户等各种测试场景,很难通过手工测试执行;系统可靠性测试,需要模拟系统长时间运行,以验证系统能否稳定运行,难以通过手工测试执行。

1.3 哪些测试需要用自动化测试解决
并不是所有项目都适合自动化测试,适合自动化测试的项目一般具有如下特点:首先项目周期要长,需求不会频繁变更;其次系统中多数对象要可以被识别。

你不能指望自动化测试去帮你发现新的bug,自动化测试本身是不具备想象力的(相对于手工测试)。它的优势在于反复迭代,它的价值产出在于长期的回归测试,以保证被测产品在版本更新时的稳定性。
一般来说,具备如下特点的测试可以考虑使用自动化测试:
1)大量机械的、重复性的回归测试;

2)结果的正确性不依赖主观判断的测试;

3)需要模拟大量数据、大量并发量的测试;

  1. 需要不间断执行的测试;

5)需要短时间内完成的大量测试用例执行(比如完整的功能回归测试);

2 appium 简介和特点

2.1 appium介绍
Appium 是一个开源的自动化测试工具,其支持iOS和安卓平台上的原生的,基于移动浏览器的,混合的应用。

2.2 appium 的特点
1)Appium在不同平台中使用了标准的自动化APIs,所以在跨平台时,不需要重新编译或者修改自己的应用。
2)Appium支持Selenium WebDriver支持的所有语言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure,或者Perl语言,更可以使用Selenium WebDriver的Api。Appium支持任何一种测试框架.Appium实现了真正的跨平台自动化测试。

3 appium 环境搭建(Android)

3.1 安装Python 3以及编译器
直接登录官网,下载即可。https://www.python.org/
编译器用的是pycharm也是直接安装即可。

3.2 安装Python 3的apium 库

打开python的安装目录,控制台cmd,输入命令pip install Appium-Python-Client。出现下方提示说明安装成功。

android 自动化测试工具 android app自动化测试_手工测试

3.3 安装 jdk
官网下载,安装JDK记得配置环境变量(安装路径避免中文)。 java_home(jdk的安装路径)和path(%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin;)。
检验成功cmd输入javac或者 java -version

3.4 安装 android SDK

官网下载,安装SDK时记得配置环境变量。android_home(sdk的安装路径.)、在path中添加(%ANDROID_HOME%\platform-tools; %ANDROID_HOME%\tools;) 验证输入adb以及android-h

android 自动化测试工具 android app自动化测试_手工测试_02


3.5 安装node.js

直接下载安装即可,将node.exe的路径添加到path变量中去。3.6 安装appium

Appium Desktop,把 nodejs 运行环境、Appium Server 和一些工具 打包在里面了,只需要简单的下载安装就可以了。

android 自动化测试工具 android app自动化测试_手工测试_03

android 自动化测试工具 android app自动化测试_appium_04


3.7 安装模拟器

这里使用的是夜神模拟器,官网下载即可。首次连接夜神(固定):adb connect 127.0.0.1:62001

*为防止出错,将sdk中的adb.exe复制改名更换到夜神bin下方的nox_adb.exe.

检查appium Android环境下所有的配置正确,cmd中输入 appium-doctor
若出现不是内部命令,输入cnpm install -g appium-doctor

4.Appium与模拟器的连接使用

4.1appium设置。

android 自动化测试工具 android app自动化测试_手工测试_05


android 自动化测试工具 android app自动化测试_自动化测试_06


*simple 最基础的配置信息

Host 主机信息 本机设置为 127.0.0.1

Port 端口号 appium工作默认监听的端口号

*advanced 高级配置

Server Address 主机信息

Server Port 端口

Logfile Path 存储的日志所对应的路径

Log Level 日志级别 默认是debug

Override Temp Path 覆盖临时的路径

Node Config File Path 节点配置文件

Local Timezone 当前时区

Allow Session Override 允许对话的覆盖

Log Timestamps 日志的时间戳

Supress Log Color 日志颜色

*presets 对应的预制配置

打开的正常画面显示。

android 自动化测试工具 android app自动化测试_手工测试_07

4.2 连接模拟器的使用
1.确保夜神模拟器的正常开启。
2.Appium 要自动化手机应用,同样需要工具查看界面元素的特征。
常用的查看工具是: Android Sdk包中的 uiautomateviewer 和 Appium Desktop 中的 Appium Inspector

第一种方法 Appium Desktop

点击appium中的探测模式(放大镜图标)

android 自动化测试工具 android app自动化测试_手工测试_08

Desired Capabilities填写的内容有:deviceName / platformName / appPackage (aapt dump badging apk路径包 )/

appActivity /

android 自动化测试工具 android app自动化测试_自动化测试_09


android 自动化测试工具 android app自动化测试_手工测试_10


android 自动化测试工具 android app自动化测试_appium_11


配置好简单的之后就可以点击start session。

第二种,不用appium desktop也能启动连接定位方法。
安卓查看APP界面元素,最常用的就是 Android SDK 中的工具 uiautomateviewer ,它在SDK目录目录 的 tools\bin 目录中或者tools中。

接下去就可以配合pycharm来做自动化的操作了。