【UI自动化测试】3_IOS自动化测试 _使用真机

文章目录

  • [一、运行 iOS 程序到真机](#一、运行 iOS 程序到真机)
  • [二、配置 WebDriverAgent](#二、配置 WebDriverAgent)
  • 三、运行自动化脚本

一、运行 iOS 程序到真机

1、在 Xcode 中登录自己的 Apple ID。

2、配置开发者信息。

3、选择将要运行的 程序 和 设备。

4、快捷键 command + r 运行。(在Xcode界面运行)

5、在手机中进入 设置 - 通用 - 设备管理 - 自己Apple ID - 信任程序。

6、重新 command + r 运行。

二、配置 WebDriverAgent

1、进入到下载的 WebDriverAgent 项目下。(cd 进入项目中)

2、输入命令 ./Scripts/bootstrap.sh

3、启动 WebDriverAgent.xcodeproj

4、配置 WebDriverAgentLib 的开发者信息

5、配置 WebDriverAgentRunner 的开发者信息

6、 配置 IntegrationApp 的开发者信息

7、修改 WebDriverAgentRunner 的 Product Bundle Identifier

8、修改 IntegrationApp 的 Product Bundle Identifier

9、数据线连接真机

10、选择将要运行的 WebDriverAgentRunner 和 真机设备。(将WebDriverAgentRunner程序装到手机当中)

11、使用 command + u 运行

  • 稍等之后会在log中出来一个 url 地址
  • 在浏览器中打开这个地址,如果显示一串 json 数据即为正确连接手机
  • 并且,真机会多一个程序

12、将配置好的 WebDriverAgent 项目替换到 appium 的 WebDriverAgent 项目。步骤如下:

  • 打开mac电脑的finder
  • 快捷键 command + shift + g
  • 输入路径 /Applications/Appium.app/Contents/Resources/app/node_modules/appiumxcuitest-driver
  • 回车
  • 将旧项目换个名字,当做备份
  • 将配置好的项目放在这个目录下

三、运行自动化脚本

  1. 修改对应的 platformVersion、deviceName

  2. 查看 udid 并增加为启动参数。 Xcode--->菜单Windows--->Devices and Simulators--->选择Devices--->Identifier,复制即可。

  3. 运行即可

python 复制代码
import time

from appium import webdriver

desired_caps = dict()
desired_caps['platformName'] = 'iOS'
desired_caps['platformVersion'] = '12.1.2'
desired_caps['deviceName'] = 'iPhone 6s Plus'
desired_caps['app'] = 'com.itcast.HMiOSTest'

# 真机需要使用的参数
desired_caps['udid'] = 'cda2396af94373603f21f071c322b957246cbd7f'  

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

# 1、点击 进入列表
driver.find_element_by_id("进入列表").click()

# 2、在控制台输出所有的文字内容
"""
# 在 android 中只会查找到屏幕上所显示的控件
# 在 iOS 中都会找到控件,但是如果进行操作的时候,也同样需要展示在屏幕上:比如 4、点击20这个元素
"""
text_views = driver.find_elements_by_class_name("XCUIElementTypeStaticText")
for text_view in text_views:
    print(text_view.text)

# 3、滑动一次
# driver.swipe(100, 2000, 100, 1000)  # 这个方法有的情况不好用,时灵时不灵,用下面的方法
driver.execute_script("mobile: swipe", {"direction": "up"})

# 4、点击 20
driver.find_element_by_xpath("//*[@name='20']").click()

# 5、清空文本框
text_field = driver.find_element_by_class_name("XCUIElementTypeTextField")
text_field.clear()

# 6、输入 hello
text_field.send_keys("hello!!!")

# 7、点击 返回back
driver.find_element_by_xpath("//*[@name='Back']").click()


time.sleep(5)

driver.quit()
相关推荐
Mr..Jackey3 小时前
瑞佑 RUI Builder 图形化 UI 设计工具
arm开发·人工智能·单片机·ui·人机交互·ra8889·lcd控制芯片
Cutecat_4 小时前
视频字幕处理工具横向:提取模式 vs 编辑模式,该如何选择
android·前端·ios·语音识别
狼哥16864 小时前
《新闻资讯》二、公共能力层模块实现指南
ui·华为·harmonyos
挂科边缘7 小时前
MonkeyQt组件库,基于 PySide6 搭建的 UI 组件库,68种主题样式
ui·pyside6·monkeyqt
大熊猫侯佩9 小时前
WWDC26 SwiftUI 进化之路:砸碎黑盒,彻底迎来开发自由!
ios·swiftui·swift
namexingyun10 小时前
开源前端生态如何成为 AI UI 生成的“燃料“:shadcn/ui、Tailwind CSS、Storybook 技术价值全解剖
java·前端·人工智能·python·ui·开源·ai编程
游戏开发爱好者810 小时前
iPhone真机调试有哪些方法?一次定位推送权限问题时整理出来的几种方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
LT101579744410 小时前
2026年UI自动化测试平台选型指南:全界面自动化覆盖方案
运维·ui·自动化
Java知识技术分享12 小时前
opencode安装ui-ux-pro-max和frontend-ui-ux技能
人工智能·ui·个人开发·ai编程·ux
里昆14 小时前
【illustrator】如何在illustrator中画箭头
ui·illustrator