Appium wda ios   真机自动化测试

2024-06-19 17:32

本文主要是介绍Appium wda ios   真机自动化测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 Appium-Desktop安装

在Appium-Desktop下载传送门中下载最新版本的Appium-Desktop

必要的库安装,

如果没有安装过Homebrew,先安装homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如果没有安装npm,请移步 node.js和npm安装

安装依赖库

brew install libimobiledevice --HEAD
npm install -g ios-deploy  #如果是iOS10以上的系统才需要安装

如果没有安装 libimobiledevice,会导致Appium无法连接到iOS的设备,所以必须要安装,如果要在iOS10+的系统上使用appium,则需要安装ios-deploy

appium-doctor 安装

npm install appium-doctor -g

安装后执行appium-doctor --ios指令,可以查看与iOS相关配置是否完整,下图是全部配置都成功,如果有那一项是打叉的,则进行安装就可以了。

appium-doctor --ios 

Markdown

更新Appium中的WebDriverAgent

  1. 到WebDriverAgent下载最新版本的WebDriverAgent
  2. 进入下载后的WebDriverAgent文件
  3. 执行 ./Scripts/bootstrap.sh
  4. 直接用Xcode打开WebDriverAgent.xcodepro文件
  5. 配置WebDriverAgentLibWebDriverAgentRunner的证书

    Markdown

    Markdown

  6. 连接并选择自己的iOS设备,然后按Cmd+U,或是点击Product->Test
  7.  

     

    运行成功时,在Xcode控制台应该可以打印出一个Ip地址和端口号

    Markdown

  8. 在网址上输入http://(iP地址):(端口号)/status,如果网页显示了一些json格式的数据,说明运行成功。

    Markdown

  9. 进入到Appium中的WebDriverAgent目录,目录路径如下(/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/)
  10. 将自己下载并编译后的WebDriverAgent替换Appium原有的WebDriverAgent

运行Appium-Desktop

准备工作

  1. 需要一个.app 或是一个 .ipa 安装包,这个安装包是你要进行测试的应用程序
  2. 测试应用程序对应的bundleId
  3. 测试设备的udid,电脑连接上手机后,可以在Xcode的Window->Deriver中查看

    Markdown

运行程序

  1. 运行Appium-Desktop
  2. 开启start server
  3. 点击start new session
  4. 在 Desired Capabilities 中输入相关的参数后点击Start Session
  5. 运行成功后,会弹出一个控制界面,在该界面中可以控制手机上正在运行的程序
  6. 点击界面上方中心的录制按钮,可以将你对手机端的操作代码化

利用Appium-Python-Client进行iOS的自动化测试

准备工作

安装python

brew install python

安装appium的python依赖库

git clone git@github.com:appium/python-client.git 
cd python-client
python setup.py install

测试文件

在git上下载测试文件appiumSimpleDemo

  1. 一个简单的iOS工程文件
  2. 一个简单的python测试文件

开始自动化测试

配置iOS工程文件

  1. 打开下载后的appiumSimpleDemo文件,打开appiumSimpleDemo.xcodepro程序,配置下TARGET的签名
  2. 在appiumSimpleDemo的根目录执行编译指令,编译出一个app文件xcodebuild -sdk iphoneos -target appiumSimpleDemo -configuration Release,编译成功后app文件的地址会打印在命令行中

    Markdown

  3. 将手机连接上电脑,在Xcode的Window->Devices中获取到设备的UDID

    Markdown

配置python文件

打开appiumSimpleDemo中的appiumSimpleDemo.py文件,将,修改setup中的几个参数,将app的路径,设备的相关信息修改成当前连接设备的信息。

Markdown

,保存。

 

运行Appium程序

打开之前下载安装的Appium,并开启服务。

运行python测试文件

appiumSimpleDemo.py所在的目录运行python appiumSimpleDemo.py,如果之前设置都没有出错,那么程序应该会在手机上成功运行,并自动点击了entry next view进入到了下一个界面,过了2s后会重新返回第一个界面



作者:Zsj_Sky
链接:https://www.jianshu.com/p/ae8846736dba/
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

这篇关于Appium wda ios   真机自动化测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075677

相关文章

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

MySQL分表自动化创建的实现方案

《MySQL分表自动化创建的实现方案》在数据库应用场景中,随着数据量的不断增长,单表存储数据可能会面临性能瓶颈,例如查询、插入、更新等操作的效率会逐渐降低,分表是一种有效的优化策略,它将数据分散存储在... 目录一、项目目的二、实现过程(一)mysql 事件调度器结合存储过程方式1. 开启事件调度器2. 创

Python Invoke自动化任务库的使用

《PythonInvoke自动化任务库的使用》Invoke是一个强大的Python库,用于编写自动化脚本,本文就来介绍一下PythonInvoke自动化任务库的使用,具有一定的参考价值,感兴趣的可以... 目录什么是 Invoke?如何安装 Invoke?Invoke 基础1. 运行测试2. 构建文档3.

Windows自动化Python pyautogui RPA操作实现

《Windows自动化PythonpyautoguiRPA操作实现》本文详细介绍了使用Python的pyautogui库进行Windows自动化操作的实现方法,文中通过示例代码介绍的非常详细,对大... 目录依赖包睡眠:鼠标事件:杀死进程:获取所有窗口的名称:显示窗口:根据图片找元素:输入文字:打开应用:依

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问