ios自动化测试之Java + testng +maven + appium 框架及脚本编写和运行

1、背景介绍
为了在自动化测试中节省时间节省真机的成本,并且更高效的覆盖全部的IOS版本,避免兼容性问题和实现全面自动化测试,我采用saucelabs(https://saucelabs.com)平台提供的虚拟设备。使用简单易书写的Java语言和appium开源框架以及单元测试testng,建立maven工程(为了避免在工程中引入jar包),将须要的jar写入pom .xml 文件中,最后使用jenkins 构建自动运行实现IOS全自动化测试。这样一来就彻底不用人为干预,只须要关注测试结果就行了。java

2、环境搭建
2.1 Mac OS X
要进行IOS自动化测试的前提是须要一台mac设备,mac os <=9.3, 不然你要修改appium 的system.js,具体请查考(https://stackoverflow.com/questions/40129794/how-to-fix-error-could-not-detect-mac-os-x-version-from-sw-vers-output-10-12/40168992#40168992,由于appium 截止1.5.3都默认不支持Mac os >10。apache

2.2 安装Xcode
在Apple 官网注册Apple Id,用Apple Id 登陆开发者网站(https://developer.apple.com/download/)下载xcode并安装便可(以下图):vim

 

 


###2.3 安装 Xcode command line toolsxcode

Xcode安装完成后启动终端,在终端输入xcode-select - - install,在弹出的界面选择安装,等待安装成功:bash

 

 


###2.4 安装Homebrewapp

在终端输入以下命令,等执行完成便可:
框架

安装完成后执行检查命令安装是否成功:
eclipse

###2.5 安装ideviceinstallermaven

执行以下命令安装便可:
ide

执行以下命令检查是否安装成功:

2.6 安装 JDK & 配置环境变量
在官网下载jdk 版本,并配置系统环境变量(以jdk 1.8.0_111为例)。

打开jdk的dmg文件,双击安装,安装完成后打开终端输入以下命令查看当前使用的java:

 

 

 

终端输入vi ~/.bash_profile 进入编辑模式:

保存并退出(实际就是vim的命令)
按下键盘键Esc
按下 shift + :
输入 wq
使得环境变量生效执行以下命令:

查看当前设置的JDK信息,确保环境变量设置成功:

 

 

 

2.7 安装 Appium
下载(https://bitbucket.org/appium/appium.app/downloads/)appium dmg 文件(以下图),打开Appium的dmg包,复制Appium.app到Applications文件夹中,即完成安装。

 

 

 


2.8 安装 Eclipse & 给Eclipse 安装testng插件
在官网下载Eclipse 安装便可。
安装 testng:
打开eclipse进入界面后,点击菜单中的"Help",弹出下拉菜单中进行选择为install new software的选项。进入到了install的选项界面中,点击菜单中的add的选项, 在location 一栏里输入插件地址(http://beust.com/eclipse/)点击下一步下一步便可完成安装。
2.9 安装 maven
官网下载(https://maven.apache.org/download.cgi)maven 包。
打开终端(Terminal),输入如下命令,设置Maven classpath:

添加下列两行代码,以后保存并退出Vi:

输入命令以使bash_profile生效:

输入mvn -v查看Maven是否安装成功。
若有异常,从新编辑bash_profile文件,加入export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home后,并从新运行$ source ~/.bash_profile便可。
2.10 检查以上环境是否设置成功
打开appium的doctor 查看以下图:

 

 

 

获得以下结果说明环境搭建成功:

 

 

 


3、使用 appium 的inspector 获取界面元素书写testCase
启动Appium并打开iOS的设置页面,使用模拟器不要勾选UDID。注意App Path路径的正确性以及设备的系统版本号的设置,以及在General Setting里把 Server Address 从0.0.0.0 改到127.0.0.1。

 

 

 


设置完成后,点击Launch按钮,以启动Appium Server。

 

 

 

 


启动Inspector:
启动AppiumServer后,(若是真机要链接好真机,并确保Appium的参数设置正确(与设备保持一致)),本文采用的为模拟器,点击Inspector按钮启动Inspector。此时Appium Server会自动安装app并启动被测App并经过instruments抓取页面元素展现到Inspector页面,就能够开始得到页面元素信息开始自动化脚本的编写工做了 。

 

 

 

 

 

 

4、写好testCase 如何在模拟器上运行
选择在本地运行:
点击Launch按钮,以启动Appium Server;
选中testcase文件右击–》 Run As --》 TestNG test (以下图1),因为本文建立的是maven 工程也能够执行选中pom.xml ->Run As–>Maven test (以下图2);
图片1:

 

 

图片2:

 

 


选择在saucelabs 平台运行,它能够提供各个版本的模拟器,多设备并行运行:
只须要把注册的帐号写入testCase中以下:

 

 


选中pom.xml ->Run As–>Maven test 运行,或者在jenkins 中创建maven 项目,配置pom.xml路径、触发时间、testng 做为测试结果报告,出错发邮件等。这时就能够实现IOS全自动化测试。你只须要关注测试结果就行了,固然你能够去saucelabs 查看 测试过程当中录制的视频,结合测试结果报告,很快找到testCase fail的缘由,用于修改testCase或提bug。

PS:

 

 


//查看devices id命令:
instruments -s devices

//命令行安装*.app
//启动模拟器:
xcrun instruments -w 'iPhone 6 Plus'
//在已经启动的模拟器中安装.app:
xcrun simctl install booted /User/liangwang/DownLoad/Spotlight.app(要提供.app的安装路径)

//卸载*.app的命令:
xcrun simctl uninstall booted com.quest.Spotlight (应用的包名)

//查看应用程序的包名:
用itools,终端命令行或者其余工具打开,而后在相应的程序包中找info.plist,打开后ctrl+f搜索:CFBundleIdentifier,在CFBundleIdentifier下面就是包名。

//mac截图:
command+shift+4 鼠标拖动就能够选择要的图
command+shift+3 截取全屏

//把.app打包成.ipa文件:
打开iTunes,而后把.app拖进去,选择在Finder中查看,该文件就变成了.ipa文件啦
5、总结经过上面的实践会发现,IOS 使用 Java + testng +maven + appium 进行自动化测试和 Android 十分类似,惟一区别就是 IOS 必须使用 mac 进行操做,须要具有必定的 mac 使用基础

相关文章
相关标签/搜索