当前位置:   article > 正文

python + appium搭建iOS自动测试环境_python appium-python-client ios定位

python appium-python-client ios定位

python 环境

  • 安装Python包或者anaconda都可以

appium-deskop (Appium Server GUI)

通过UI操作方式开启Appium Server的工具,mac选择dmg下载安装

  • 下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.22.0

appium-inspector

iOS元素定位工具,mac选择dmg下载安装

  • 下载地址:https://github.com/appium/appium-inspector/releases

appium-doctor

检查appium自动测试环境的工具

  • 命令行安装
    npm install -g appium-doctor

完成以上步骤之后进行初步环境检查

包括node.js、Carthage、idb等
命令:

  • appium-doctor --ios

  • 检查结果打钩✅的说明没问题,有打叉❌的说明没有安装或环境变量没有配置,根据提示进行安装后再次检查,直到 Everything looks good

  • 在这里插入图片描述

WebDriverAgent 配置修改

  • 在已下载安装好的appium-desktop的目录下找到WebDriverAgent,涉及修改,避免改错,可以把appium-webdriveragent目录整体备份
  • 打开安装目录下的WebDriverAgent.xcodeproj,默认会用xcode打开
  • 需要修改2个地方
  1. 添加账户,使用个人的appleID即可,登录成功之后选择已登录的账户
    在这里插入图片描述

  2. 分别修改【WebDriverAgentLib】和【WebDriverAgentRunner】的Bundle Identifier:选择Build Setting–>Bundle Identifier

  • 在原有的签名字符上添加部分字符即可,如com.facebook.WebDriverAgentRunner9527
  • 回到Signing & Capability选项,验证修改后的签名可用

将签名后的WebDriverAgent 安装到真机

完成以上步骤,在xcode的WebDriverAgent.xcodeproj 中选择用数据线连接的真机设备,Command+u执行安装WebDriverAgent到手机

  • 等待安装成功手机端会出现一个WebDriverAgent的APP

在这里插入图片描述

  • 如果build 成功但无法安装的,需要在手机端允许来自这个apple id的应用程序安装:Setting->General->VPN&Device Management中设置为允许

appium-inspector 元素定位工具使用

完成以上步骤,即可在真机上启动APP进行元素定位

  • 开启appium的服务,在mac上打开已安装的appium-deskop,Host 默认本地,端口默认4723,端口冲突可修改

  • 开启appium-inspector,填写已开启的端口,填写Remote Path,填写设备的信息,然后Start Session,启动APP

  • 在这里插入图片描述

  • 开启成功之后,就可以开始进行元素定位操作了

python 驱动WebDriverAgent 进行自动测试

  • 安装Appium-Python-Client,python的appium三方库,需要python 3.7+

  • pip install Appium-Python-Client

  • 创建驱动,驱动设备打开APP,旧的desired_caps已弃用,改为AppiumOptions加载设备信息

from appium import webdriver

option = AppiumOptions()
desired_caps = dict()
desired_caps["platformName"] = "iOS"
desired_caps["platformVersion"] = "15.2"
desired_caps["deviceName"] = "iPhone XR"
desired_caps["app"] = "test.xxx.xxx"
#设备的udid
desired_caps["udid"] = "xxx.xxx.xx"
option.load_capabilities(desired_caps)
driver=webdriver.Remote(X_ios.remote_addr, options=option)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/206099
推荐阅读
相关标签
  

闽ICP备14008679号