Appium IOS 自动化测试初探

手机平台的自动化测试工具很多,之前研究过了安卓和苹果的原生自动化测试框架,经一些同事介绍,貌似Appium是个不错的工具。

想记录一下研究的结果,也算是篇干货的文章

在网上也看了一些视频,个人认为这个自动化测试的特点就是

1. 多编程语言支持

相对于传统的IOS UIautomation只能支持js语言,Appium起到了一个翻译的作用,它其实是一个CS架构,服务器和IOS模拟器或真机直接通讯,客户端和服务器之间用HTTP协议进行交互,所以客户端用什么语言其实不重要。下面会有一个python编程的实际例子。

2. 远程测试支持

正如上面说的,客户端和服务器之间用HTTP协议通讯,那么也就是说,客户端可以和服务器在同一台机器或者不同的机器。

3. 较好的录制功能

Appium提供了一个很好的录制工具,可以让程序员一步一步的把步骤进行精确的录制

4. 单步调试

程序员可以利用高级脚本语言,比如Python对被测程序进行单步调试,比如一条命令对应一个UI动作

如何使用appium,基于2014年5月份发布的appium 1.0来说,大约是这样的,

你必须要有xcode进行自动化测试的基础,如果没有的话,请先补习

A. 如果是模拟器测试

1. 选择应用安装包的位置

2. 再选择期望的模拟器平台,IOS版本,再点Launch就可以了

3. Launch之后会发现什么都没有,其实Appium已经运行了,请注意运行的窗口中有没有错误

4. 下面就是录测试用例,点击一个蓝色的底,白色的i的按钮

5. 过一段时间后就会出现inspector的窗口

6. 下面是一个例子,比如我要点一个按钮,

6.1 首先现在左边的树形窗口里面找到一个按钮的位置,有点类似Firebug找网页控件

6.2 然后在下面的动作框选择你想要的动作,点击就是Tap,然后你会发现这个按钮真的被点击了(这是一个单步调试很直观的例子)

7. 如何把录制变成脚本

7.1 首先要点击inspector窗口的Record按钮

7.2 选择你需要的编程语言

7.3 再继续重复你需要做的UI操作

7.4 最后就是把代码拷贝出去

8. 如何重录测试

8.1 关掉inspector,

8.2 代码需要稍微的修改,Python的代码录出来居然有语法错误,这里给个例子,对照看就好了(当然必要的python库必须安装)

from selenium.webdriver.firefox.webdriver import WebDriver
from selenium.webdriver.common.action_chains import ActionChains
import time
import os
import selenium

success = True
desired_caps = {}
desired_caps[‘browserName‘] = ‘iOS‘
desired_caps[‘platform‘] = ‘Mac‘
desired_caps[‘version‘] = ‘6.1‘
desired_caps[‘device‘] = ‘iPad‘
desired_caps[‘app‘] = os.path.abspath(‘/Users/marshall/Library/Developer/Xcode/DerivedData/TestAutomation-empzzpwyyxctxidnwdsrtlssueqi/Build/Products/Debug-iphonesimulator/TestAutomation.app‘)

wd = selenium.webdriver.Remote(‘http://0.0.0.0:4723/wd/hub‘, desired_caps)
wd.implicitly_wait(60)

def is_alert_present(wd):
	try:
		wd.switch_to_alert().text
		return True
	except:
		return False

try:
	wd.find_element_by_name("First").click()
	wd.find_element_by_name("Second").click()
finally:
	wd.quit()
	if not success:
		raise Exception("Test failed.")

8.3 运行代码,查看测试结果

B. 如果是真机测试

真机测试其实遇到了些问题,我大概说一下我的步骤

1. 配置应用的BundleID和设备的UDID

BundleID不知道怎么看的请用itools

UDID不知道怎么找的请用iTunes或itools

应用必须是你自己的开发者账号签名过的

2. Launch Appium

3. 点击inspector的按钮,接下来应用会显示在iPad上,但是过一会就会闪退(我试了好几个应用都有这个问题),我已经给Appium报告了一个bug,看看会不会有回复吧。

如果有人在真机上成功使用inspector的,也请留言分享一下

Appium IOS 自动化测试初探,布布扣,bubuko.com

时间: 2024-12-23 01:02:25

Appium IOS 自动化测试初探的相关文章

Mac下appium ios自动化测试(一)

mac下ios自动化测试,可以使用appium,也可以直接用facebook-wda库. 此篇先介绍appium: 开始之前先要知道测试app的bundleId,这是ios特有的.可以采用如下命令: ideviceinstaller -l 遇到问题: Could not connect to lockdownd. Exiting. 解决办法: 打开命令行一次输入如下代码: brew uninstall ideviceinstaller -gbrew uninstall libimobiledev

iOS自动化测试的那些干货

如果有测试大佬发现内容不对,欢迎指正,我会及时修改. 大多数的iOS App(没有持续集成)迭代流程是这样的 也就是说,测试是发布之前的最后一道关卡.如果bug不能在测试中发现,那么bug就会抵达用户,所以测试的完整性和可靠性十分重要. 目前,大多数App还停留在人工测试阶段,人工测试投入的成本最低,能够保证核心功能的使用,而且测试人员不需要会写代码. 但是,在很多测试场景下,人工测试的效率太低,容易出错.举两个常见的例子: 一个App的核心功能,在每一次发布版本前的测试必定会跑一遍所有的测试用

Appium IOS

在mac下配置appium的自动化测试环境因为查了下appium针对ios的自动化测试,网上的资料比较少,且说得不是很清楚,故这篇文章主要介绍怎样使用appium自动化测试自己的项目.这些操作步骤均是自己亲自操作并实践通过的 这里以自己实现的一个简单的ios app来一步步介绍这篇文章先介绍在模拟器下运行的情况 1.编译ios app $ cd /Users/xxx/Documents/lesFour/ $ xcodebuild -sdk iphonesimulator注:I.官网上的介绍中是这

RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难

Mac下Appium环境搭建: 消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为TestYao刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速把移动端自动化这块搞起来,试用几款目前流行的工具,腾讯的xtest定制版.神州数码的自动化测试平台.开源rf+appium框架. 经过一段试用最终还是选择了rf+appium主要原因有: 1.开源,网上社区活跃 2.扩展性强,针对不同项目不同的需求,封装

Appium移动自动化测试(四)--one demo

继续更新. -------------------------------------------- 第四节  安装Appium Client Appium Client是对webdriver原生api的一些扩展和封装.它可以帮助我们更容易的写出用例,写出更好懂的用例. Appium Client是配合原生的webdriver来使用的,因此二者必须配合使用缺一不可. 在本文档的开始已经介绍Appium支持多种编程语言编写自动化测试脚本,由于我个人熟悉Python语言,所以选择Python语言来编

Appium - iOS 各种问题汇总

作者: Max.Bai 时间: 2014/10 Appium - iOS 各种问题汇总  1. Appium 滑动: swipe 有三种方式: 第一种:swipe JavascriptExecutor js = (JavascriptExecutor) driver; HashMap<String, Double> swipeObject = new HashMap<String, Double>(); swipeObject.put("startX", sta

Python3+unitest自动化测试初探(中篇)

目录 6.生成测试报告 7.编写邮件发送工具 8.发送邮件 本篇随笔承接:Python3+unitest自动化测试初探(上篇) 地址:Python3+unitest自动化测试初探(上篇) 6.生成测试报告 6.1.下载HTMLTestRunner.py 原版下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 原版的只支持Python 2.x版本,Python 3.x版本需要做适配 适配后的下载地址:https://github.com

mac 下 配置appium +ios真机环境

mac系统:10.11.6 xcode:7 appium:1.5.3 iphone: 6 p 1.搭建 appium 安卓的环境: 1.jdk 2.sdk 3.appium 4.配置环境变量 mac下的环境变量是在 登录用户的 根目录下 cd ~/ 下的 .bash_profile中 没有自己 创建一个 8 # Setting PATH for Python 3.5 9 # The original version is saved in .bash_profile.pysave 10 PATH

Appium移动自动化测试(一)

Appium 自动化测试是很时之前就想学习和研究的技术了,可是一直抽不出一块完整的时间来做这件事儿.现在终于有了. 反观各种互联网的招聘移动测试成了主流,如果再不去学习移动自动化测试技术将会被淘汰. ==================== web自动化测试的路线是这样的:编程语言基础--->测试框架--->webdriver API--->开发自动化测试项目. 移动自动化的测试的路线要长一些:编程语言基础--->测试框架--->android/IOS开发测试基础----&g