测开学习DAY39

黑马程序员网课学习(Appium框架)

IOS

一、使用模拟器进行自动化测试

1. 运行 iOS 程序到模拟器

(1)使用 Xcode 打开要运行的程序

(2)选择将要运行的 程序 和 模拟器设备

(3)快捷键 command + r 运行

2. 查看 iOS 元素特征

(1)打开 appium

(2)启动 appium

(3)左上角菜单栏选择 appium - new session window

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)

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

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

# 滑动一次
# driver.swipe(100, 2000, 100, 1000)
driver.execute_script("mobile: swipe", {"direction": "up"})

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

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

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

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

time.sleep(5)

driver.quit()

二、使用真机进行自动化测试

1. 运行 iOS 程序到真机

(1)在 Xcode 中登录自己的 Apple ID

(2)配置开发者信息

(3)选择将要运行的 程序 和 设备

(4)快捷键 command + r 运行

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

(6)重新 command + r 运行

2. 配置 WebDriverAgent

(1)进入到下载的 WebDriverAgent 项目下

(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 和 真机设备

(11)使用 command + u 运行

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

(12)将配置好的 WebDriverAgent 项目替换到 appium 的 WebDriverAgent 项目

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

3. 运行自动化脚本

(1)修改对应的 platformVersion、deviceName

(2)查看 udid 并增加为启动参数

(3)运行即可

刷题记录:

1. 两数之和

相关推荐
woshihuanglaoshi2 小时前
数据迁移与版本管理 - Flutter在鸿蒙平台实现数据库升级策略
数据库·学习·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
世人万千丶12 小时前
参数管理_Flutter在鸿蒙平台路由参数最佳实践
学习·flutter·华为·harmonyos·鸿蒙
遇乐的果园15 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
遇乐的果园16 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习
从零开始的代码生活_16 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
可乐奶茶sky17 小时前
AI Agent 学习
人工智能·学习
茯苓gao17 小时前
嵌入式开发笔记:EtherCAT协议从硬件到软件完整配置指南——从零搭建一套EtherCAT通信系统
笔记·嵌入式硬件·学习
RD_daoyi19 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎
chase。19 小时前
【学习笔记】PointWorld:迈向通用机器人操控的3D世界模型
笔记·学习·机器人
AOwhisky20 小时前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko