【appium】appium自动化入门之ios软件如何测试

上篇文章写到appium在Mac上的环境搭建,这篇进入正文,如何在Mac端的appium上测试你的ios产品

app端的文章如下:
第一类:【appium】appium自动化入门之环境搭建(上)
第二类:【appium】appium自动化入门之API(上)
书接上文:【appium】appium自动化入门之Mac端(苹果电脑的福音)

看前提醒一下,本章安装环境居多,因为ios和安装环境的去呗,有的配置需要改动代码
如果有不懂的地方记得点击并输入暗号:CSDN,提出你的详细问题(环境截图),会有大佬给你解答的

3.3 启动 ios 上 safari 浏览器

前言

在 mac 使用 appium去做ios软件的测试,记得一定一定要保证版本一致

环境准备:

1.OS 版 本 号 10.12
2.xcode 版本号 8.3.2
3.appium 版本号 1.6.4(appium-desktop1.1.0)
4.ios 模拟器版本号 10.3

3.3.1 OS10.12

1.这里 Mac 上的 OS 系统一定要升级到 10.12,低于 10.12 是无法安装 8.3.2 的 xcode 版本的
在这里插入图片描述

2.下载地址:https://www.apple.com/macos/sierra/

3.3.2 xcode
1.== Xcode 版本号下载 8.3 以上==,同事的电脑是 8.3.2 的版本: 在这里插入图片描述

  1. xocde 在sppstore 就能搜索下载,但是太慢了,这里直接去苹果开发者官网 下载:https://developer.apple.com/support/xcode/
    在这里插入图片描述

3.3.3 appium

  1. appium 的依赖环境,参考我上一篇【appium】appium自动化入门之Mac端(苹果电脑的福音)

  2. 这 里 主 要 是 下 载 一 个 客 户 端 的 包 , 下 载 地 址 : https://pan.baidu.com/s/1cSZAYYQmonTLGI8z-3mBug 暗号i4ok
    如下图,下载那个 dmg 文件就能傻瓜式安 装了
    在这里插入图片描述

  3. 安装好后,启动界面如下,不用做任何的修改,直接点 ==Start Server 1.6.4 ==
    在这里插入图片描述

3.3.4 ios 模拟器 Simulator

  1. 启动 xcode,新建一个项目,随便设置下,在屏幕左上角找到 Simulator,这里就带一个百度的一个正确答案
  2. 我这里选的是== iOS10.3 的版本==,iPhone SE
    在这里插入图片描述

3.3.5 pycharm 安装

  1. 先去 pycharm 官网下载一个 dmg 包,官网地址

  2. 选中 mac 版的 Professional 专业版就行,下载完之后傻瓜式安装
    在这里插入图片描述

  3. 打开软件,在 License server address 中填入http://xidea.online,然后 点击 Activate 即可顺利破解!
    接下来开始你的 hello world!之旅吧

3.3.6 启动 Safari

  1. 打开 pycharm,写如下代码
# coding:utf-8

fron appium import webdriver

cop = {
    
    
 "platformName":"iOS",
 "platformVersion":"10.3",
 "deviceName":"iphone SE"
 "browserName":"safari"
 }
driver = webdriver.Remote("http//127.0.0.1:4723/wd/hub",cap)
driver.get("https//m.baidu.com")
  1. appium 要是开着的

3.3.7 WebDriverAgent

  1. 第一次启动脚本,会在手机上自动安装一个 WebDriverAgent,如下图所示, 一定要看到这个,要不然肯定不成功
    在这里插入图片描述

  2. WebDriverAgent 在 iOS 端实现了一个 WebDriver server ,借助这个 server 我们可以远程控制 iOS 设备

3.4 启动 iOS 上 app 有 demo 源码案例下载

前言

上面已经可以启动 iOS 模拟器上的 safari 浏览器了,启动 app 比启动浏览器 要复杂一点,本篇以 github 上的源码为案例详细介绍如何启动 iOS 模拟器的 app

3.4.1 clone 源码

  1. github 上 Appium 的 案 例 源 码 地 址:https://github.com/appium/sample-code.git添加链接描述
  2. 确保 mac 上已经安装了 git
  3. 在 mac 本地新建一个文件夹,如:git_test_app,把代码 clone 到本地
    $ cd /git_test_app
    $ git clone https://github.com/appium/sample-code.git
    在这里插入图片描述

3.4.2 启动 appium

1.确保 appium 是启动状态,如下左图
2.确保 iOS 模拟器是启动状态,如下右图
在这里插入图片描述

3.4.3 pycharm 执行代码

  1. 在第一步 clone 下来的代码里,找到路径:/sample-code/examples/python, 就是 appium 案例的 python 代码。
    当然这里也有其它语言的,如:java、php、perl、ruby 等,语言种类还是很全的。在这里插入图片描述

  2. 把找到的 python 这个项目包导入到 pycharm 里,找到 ios_simple.py 这个脚本打开如下:

在这里插入图片描述

  1. 这里主要改2个地方(其它地方不要动),一个是 platformVersion,保持跟右边模拟器 iOS 系统版本号一致, 第二个是 deviceName,如右图所示,这里是 iPhone 6 为例

  2. 运行代码后在模拟器上会安装一个 TestApp
    在这里插入图片描述

  3. 运行时,手机上界面如图
    在这里插入图片描述

  4. pycharm 运行结果:
    在这里插入图片描述

3.4.4 终端执行

1.除了在 pycharm 执行,也可以直接在终端执行
$ cd /git_test_app/sample-code/sample-code/examples/python
$ python ios_simple.py
在这里插入图片描述

在上述安装过程中有遇到疑问的,可以点击并输入暗号:CSDN

3.5 iOS 模拟器安装产品 app

前言

做过 iOS 上app 测试的小伙伴应该都知道,普通用户安装 app 都是从 appstore 下载安装,安装测试版本的 app,一般就是开发给的二维码扫码安装

或者开发给个.ipa 的安装包文件,通过 itools 安装。对于没有 iPhone 真机的小伙伴,想在 iOS 模拟器上安装 app 测试可不是那么容易的事情。

3.5.1 启动 iOS Simulator

  1. Xcode>Open Developer Tool>iOS Simulator,打开后在 hardware 里面选对应 的 iPhone 版本就能启动模拟器了

在这里插入图片描述

  1. 第二种方法,通过指令启动模拟器:
    $ xcrun instruments -w ‘device name’
    注意:==这里的 device name 一定要是这种格式:iPhone 6 (10.3) ==
    在这里插入图片描述

3.5.2 拿到.app 包

  1. 这里科普下,在真机上是安装.ipa 的包,在模拟器上 是安装.app 的包

这是两种不同的打包方法,也就是说从 appstore 这种渠道下载的.ipa 是无法安 装到模拟器上的,必须要找你们开发专门针对 iOS 模拟器打个模拟器的包,后缀 是.app

  1. 以 https://github.com/appium/sample-code.git 这里的一个.app 包为例, 在路径/sample-code/apps/TestApp/build/release-iphonesimulator 下有个 TestApp.app

这种才是可以直接安装到 iOS 模拟器上的
在这里插入图片描述

  1. 通过指令安装到模拟器上:
    $ xcrun simctl install booted /path/to/xxx.app
    P.S.:/path/to/xxx.app 这个是.app 包的绝对路径,可以输入前面的指令,然 后找到这个包,直接拽到终端就行
    在这里插入图片描述

  2. 卸载 app 的指令:
    $ xcrun simctl uninstall booted xxx.app
    xxx.app 就是包名,这里不需要路径,如:TestApp.app

3.5.3 xcode-select

  1. 要 是 遇 到 xcrun 报 错 :xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist

就根据报错提示,输入提示的指令解决

$ sudo xcode-select --switch path/to/Xcode.app

同样,这里 path/to/Xcode.app 也是 Xcode 在application 里的绝对路径,直接 找到图标拽到终端就行

  1. 或者输入这个也可以:

$ xcode-select --install
在这里插入图片描述

总结

几个坑大家注意一下

  1. 在 iOS 模拟器上必须是通过 xcode 打出来的.app 的安装包,真机的包(.ipa) 选择 Debug-iphone os,模拟器的包(.app)选择 Debug-iphone Simulator

  2. 有以下几个方法都能安装到模拟器上:
    –运行脚本,会自动安装上去
    –通过指令安装,也就是这篇讲的
    –通过 appium 上的配置也能安装,下篇讲 appium 调试 app 时候定位元素
    –要是会 xcode,可以直接拿到拿到源码,用 xcode 直接运行上去

3.6 查看 iOS 上 app 元素

前言

学 UI 自动化首先就是定位页面元素,玩过 android 版的 appium 小伙伴应该都知 道,appium 的windows 版自带的 Inspector 可以定位 app 上的元素
Mac 版的 appium1.6 的版本在 UI 上有了很大的改变,本篇详细解决如何使用 appium1.6 定位 iOS 的app 页面元素

3.6.1 Start New Session

1.启动 appium 后点 Start New Session
在这里插入图片描述

2.打开后看到如下界面。
在这里插入图片描述

3.6.2 Desired Capabilities

  1. Desired Capabilities 这里的配置,参考上文源码案例这篇里面启动 app 的代码
 class SimpleIOSTests(unittest.TestCase): 

def setUp(self):
 # set up appium 
 app =
 os.path.abspath('../../apps/TestApp/build/release-iphonesimulator/Tes tApp.app') 
  self.driver = webdriver.Remote( 
   command_executor='http://127.0.0.1:4723/wd/hub',
   desired_capabilities={
    
    
    'app': app, 
    'platformName': 'iOS',
    'platformVersion': '10.1', 
    'deviceName': 'iPhone 6'
    }) 
def tearDown(self):
 self.driver.quit() 

这里主要有四个参数:
app、platforrmName、platforrmVersion、deviceName
在 appium 上需多加一个参数automationName > appium1.6
以前的版本是基于 uiautomation 框架的,1.6 以后的版本是基于 facebook 的XCUITest,所以这个参数必须添加

  • app: 这里的地址是本地.app 包的绝对路径
  • platforrmName: iOS 系统版本号
  • platforrmVersion: iPhone 设备名称
  • platforrmVersion: iOS 系统
  • automationName: XCUITest
  1. 在 Desired Capabilities 先填入对应的参数后,右侧会自动生成 JSON Representation
    在这里插入图片描述

  2. 填好配置后,为了下次方便使用,可以点 Sav As …按钮保存设置
    在这里插入图片描述

3.6.3 Inspector

  1. Start Session 就能启动 Inspector 界面了
    在这里插入图片描述

  2. 接下来就可以定位 app 上的元素了
    在这里插入图片描述

后话

在学习过程中有遇到疑问的,可以点击并输入暗号:CSDN
下篇干货预警
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Chaqian/article/details/109383459