环境配置:

carthage: stable 0.31.2 (bottled), HEAD

usbmuxd: stable 1.0.10 (bottled), HEAD

libimobiledevice: stable 1.2.0 (bottled), HEAD

npm 6.4.1

ios-deploy 1.9.4

xcpretty 0.3.0

appium-doctor 1.6.0

Appium v1.9.1

Python 3.7

WebDriverAgent 用GitHub的[https://github.com/facebook/WebDriverAgent ]

Xcode10.1

每次真机开发启动顺序:

1.先在终端启动WDA(或者直接用XCode直接【WebDriverAgentRunner】-【testing】也行)

xcodebuild build-for-testing test-without-building -project /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination id=设备ID test

进行端口转发

iproxy 8100 8100 设备ID

启动Appium Server

Appium Server.png

配置信息:

"deviceName": "iPhone 6s",

"platformName": "ios",

"udid": "601861ce25a7dae4dc3d12e6f43cd42936XXXXXX",

"automationName": "XCUITest",

"xcodeOrgId": " 7GTPKLXXXX",

"xcodeSigningId": "iPhone Developer",

"no-reset": true,

"startIWDP": true,

"bundleId": "com.XXXXXX"

通过元素定位器进行定位

python通过appium进行脚本编写

遇到的坑:

运行安装WebDriverAgent验证是否安装成功:

export DEVICE_URL='http://localhost:8100'

export JSON_HEADER='-H "Content-Type: application/json;charset=UTF-8, accept: application/json"'

curl -X GET $JSON_HEADER $DEVICE_URL/status

http://localhost:8100/status

如果单纯WebDriverAgent运行成功,然后appuim没有反应,可能因为有些国产的iPhone设备通过手机的IP和端口还不能访问,此时需要将手机的端口转发到Mac上 :

终端输入:iproxy 8100 8100

如果存在多个版本Xcode,在安装brew包的时候,会出现兼容性问题,可以通过切换来处理

sudo xcode-select --switch /Applications/Xcode9.4.1.app

sudo xcode-select --switch /Applications/Xcode.app

两个wda模块地址

1、在命令行安装appium的时候已经集成了wda模块

/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj

2、使用appium desktop的wda模块

/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent

出现报错:A new session could not be created. Details: Appium's IosDriver does not support Xcode version 9.4.1. Apple has deprecated UIAutomation. Use the "XCUITest" automationName capability instead.

解决办法:添加 automationName = XCUITest

出现报错:An unknown server-side error occurred while processing the command. Original error: Unknown device or simulator UDID

解决办法:安装libimobiledevice

brew install --HEAD libimobiledevice

出现报错:Requested 'libusbmuxd >= 1.1.0' but version of libusbmuxd is 1.0.10

Consider adjusting the PKG_CONFIG_PATH environment variable if you

installed software in a non-standard prefix.

Alternatively, you may set the environment variables libusbmuxd_CFLAGS

and libusbmuxd_LIBS to avoid the need to call pkg-config.

See the pkg-config man page for more details.

解决办法:

brew update

brew uninstall --ignore-dependencies libimobiledevice

brew uninstall --ignore-dependencies usbmuxd

brew install --HEAD usbmuxd

brew unlink usbmuxd

brew link usbmuxd

brew install --HEAD libimobiledevice

出现报错urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=4723): Max retries exceeded with url: /wd/hub/session (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 61] Connection refused'))

解决办法:打开appium-desktop

python手游自动化测试流程_基于Python+appium的ios自动化测试demo(更新中)相关推荐

  1. 基于python爬虫技术的应用_基于Python爬虫技术的应用

    办公自动化杂志 一.引言 本文主要是对 Python 爬虫技术进行阐述,基于 python 的爬虫与其他语言相比的有很多优势.通过爬去某个网站的所有新闻这个案例,来进一步阐释 Python 爬虫技术的 ...

  2. python自动化测试开发_基于python的selenium2自动化测试从基础到实战(Python3、selenium2、自动化测试、web测试)...

    Selenium2是目前比较流行的一款针对web页面测试的自动化测试工具,他的前身是Selenium .Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozi ...

  3. 基于python的压测工具_基于Python和SIPp的自动化压力测试系统设计和实现

    信斌 王桂花 摘要:首先,分析了现有测试系统的不足,之后,介绍了软件组成和运行环境说明,最后,设计了基于Python和SIPp的自动化压力测试系统,并给出了相关代码.新的测试系统克服了现有测试系统的不 ...

  4. python 按需加载_基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)...

    基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 文档转换为PDF有些图片无法完全显示,请移步我的博客查看 完成 ...

  5. python图书馆管理系统实验报告_基于Python的图书馆业务报表自动生成研究

    龙源期刊网 http://www.qikan.com.cn 基于 Python 的图书馆业务报表自动生成研 究 作者:辛海滨 来源:<电脑知识与技术> 2016 年第 27 期 摘要:针对 ...

  6. python做硬件自动化测试仪器_基于Python PyVisa和GPIB的硬件测试仪器控制方法

    基于Python和GPIB的硬件测试仪器控制方法 背景 在物联网通信时代,嵌入式模块开发越发广泛,自动化测试成为大家老生常谈的话题.对于一些高精度仪器,我们知道它是用GPIB控制用来测试,也希望可以通 ...

  7. python微博评论情感分析_基于Python的微博情感分析系统设计

    2019 年第 6 期 信息与电脑 China Computer & Communication 软件开发与应用 基于 Python 的微博情感分析系统设计 王 欣 周文龙 (武汉工程大学邮电 ...

  8. python卡方检验筛选特征原理_基于Python的遥感特征筛选—递归特征消除(RFE)与极限树(Extra-Trees)...

    引言 基于前几篇文章关于筛选方法的介绍,本篇同样给大家介绍两种python封装的经典特征降维方法,递归特征消除(RFE)与极限树(Extra-Trees, ET).其中,RFE整合了两种不同的超参数, ...

  9. python图片识别验证码软件_基于python图片识别工具(图片识别,车牌,PDF,验证码)...

    先上图  不多说. 对于一般的用户来说识别率还是能达到百分之90以上. 已经打包成exe文件.windows用户可以直接使用.要软件的加我QQ python代码: # -*- coding: UTF- ...

  10. 基于python的语料库数据处理电子版_基于 Python 自然语言处理工具包在语料库研究中的运用...

    基于 Python 自然语言处理工具包在语料库研究中的运用 刘 旭 [摘 要] 摘要:国内当前以语料库为基础的研究,在研究工具方面,多以 AntConc . PowerGREP 为主,使用 Pytho ...

最新文章

  1. MacOs High Sierra 升级失败解决办法
  2. 什么是copyonwrite容器
  3. java进程内存一直没释放_五分钟彻底搞懂你一直没明白的Linux内存管理
  4. dpkg: 处理归档 /var/cache/apt/archives/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb (--unpack)时出错: 无法安装 /lib/
  5. fx2n4ad模块中文手册_特殊功能模块FX2N-4AD用户指南手册三菱FX2N-4AD手册 - 广州凌控...
  6. 电影院订票选座小程序 开题报告
  7. 鸿蒙系统背后的故事,华为“鸿蒙”刷屏背后,这7本书是中国人的终极浪漫
  8. python 相关系数_Python计算皮尔逊 pearson相关系数
  9. idea一顿切换分之后编译项目提示找不到其他分支类的解决办法~
  10. 1 -- > PCI / PCIe 配置空间详解
  11. PHP微信公众号开发——群发消息
  12. 网络电视视频服务器所放位置,同样带宽,为什么用电视上的网络电视app看电视就卡,用运营商自己的iptv就不卡呢?...
  13. c语言用中括号括起来的变量,用大括号将寄存器名括起来是什么意思?
  14. 面向对象_猫狗案例加入跳高功能代码实现
  15. 记录又一次实战GetShell
  16. 网络安全从入门到精通(第三章) 信息收集
  17. sass和less是什么?
  18. Windows 10 关闭人脉软件
  19. Windows系统还原失败该怎么办?
  20. Java面向对象程序设计 - 清览云题库

热门文章

  1. 从抢票软件到浏览器设计
  2. 逐行解析linux kernel NIC驱动
  3. 无损信息隐藏技术综述
  4. 小程序返回页面报错:navigateBack:fail cannot navigate back at first page.
  5. 世界著名反垃圾邮件组织的介绍
  6. dub的sdl配置文件中文帮助
  7. WORD出现VBE6EXT.OLD不能被加载的问题
  8. 嵌入式Linux资源网站,嵌入式Linux名词及资源
  9. Caused by: org.elasticsearch.action.search.SearchPhaseExecutionException报错解决
  10. java http 1.1_HTTP1.1翻译 - 彪悍的人生不需要解释 - BlogJava