python手游自动化测试流程_基于Python+appium的ios自动化测试demo(更新中)
环境配置:
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(更新中)相关推荐
- 基于python爬虫技术的应用_基于Python爬虫技术的应用
办公自动化杂志 一.引言 本文主要是对 Python 爬虫技术进行阐述,基于 python 的爬虫与其他语言相比的有很多优势.通过爬去某个网站的所有新闻这个案例,来进一步阐释 Python 爬虫技术的 ...
- python自动化测试开发_基于python的selenium2自动化测试从基础到实战(Python3、selenium2、自动化测试、web测试)...
Selenium2是目前比较流行的一款针对web页面测试的自动化测试工具,他的前身是Selenium .Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozi ...
- 基于python的压测工具_基于Python和SIPp的自动化压力测试系统设计和实现
信斌 王桂花 摘要:首先,分析了现有测试系统的不足,之后,介绍了软件组成和运行环境说明,最后,设计了基于Python和SIPp的自动化压力测试系统,并给出了相关代码.新的测试系统克服了现有测试系统的不 ...
- python 按需加载_基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)...
基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 文档转换为PDF有些图片无法完全显示,请移步我的博客查看 完成 ...
- python图书馆管理系统实验报告_基于Python的图书馆业务报表自动生成研究
龙源期刊网 http://www.qikan.com.cn 基于 Python 的图书馆业务报表自动生成研 究 作者:辛海滨 来源:<电脑知识与技术> 2016 年第 27 期 摘要:针对 ...
- python做硬件自动化测试仪器_基于Python PyVisa和GPIB的硬件测试仪器控制方法
基于Python和GPIB的硬件测试仪器控制方法 背景 在物联网通信时代,嵌入式模块开发越发广泛,自动化测试成为大家老生常谈的话题.对于一些高精度仪器,我们知道它是用GPIB控制用来测试,也希望可以通 ...
- python微博评论情感分析_基于Python的微博情感分析系统设计
2019 年第 6 期 信息与电脑 China Computer & Communication 软件开发与应用 基于 Python 的微博情感分析系统设计 王 欣 周文龙 (武汉工程大学邮电 ...
- python卡方检验筛选特征原理_基于Python的遥感特征筛选—递归特征消除(RFE)与极限树(Extra-Trees)...
引言 基于前几篇文章关于筛选方法的介绍,本篇同样给大家介绍两种python封装的经典特征降维方法,递归特征消除(RFE)与极限树(Extra-Trees, ET).其中,RFE整合了两种不同的超参数, ...
- python图片识别验证码软件_基于python图片识别工具(图片识别,车牌,PDF,验证码)...
先上图 不多说. 对于一般的用户来说识别率还是能达到百分之90以上. 已经打包成exe文件.windows用户可以直接使用.要软件的加我QQ python代码: # -*- coding: UTF- ...
- 基于python的语料库数据处理电子版_基于 Python 自然语言处理工具包在语料库研究中的运用...
基于 Python 自然语言处理工具包在语料库研究中的运用 刘 旭 [摘 要] 摘要:国内当前以语料库为基础的研究,在研究工具方面,多以 AntConc . PowerGREP 为主,使用 Pytho ...
最新文章
- MacOs High Sierra 升级失败解决办法
- 什么是copyonwrite容器
- java进程内存一直没释放_五分钟彻底搞懂你一直没明白的Linux内存管理
- dpkg: 处理归档 /var/cache/apt/archives/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb (--unpack)时出错: 无法安装 /lib/
- fx2n4ad模块中文手册_特殊功能模块FX2N-4AD用户指南手册三菱FX2N-4AD手册 - 广州凌控...
- 电影院订票选座小程序 开题报告
- 鸿蒙系统背后的故事,华为“鸿蒙”刷屏背后,这7本书是中国人的终极浪漫
- python 相关系数_Python计算皮尔逊 pearson相关系数
- idea一顿切换分之后编译项目提示找不到其他分支类的解决办法~
- 1 -- > PCI / PCIe 配置空间详解
- PHP微信公众号开发——群发消息
- 网络电视视频服务器所放位置,同样带宽,为什么用电视上的网络电视app看电视就卡,用运营商自己的iptv就不卡呢?...
- c语言用中括号括起来的变量,用大括号将寄存器名括起来是什么意思?
- 面向对象_猫狗案例加入跳高功能代码实现
- 记录又一次实战GetShell
- 网络安全从入门到精通(第三章) 信息收集
- sass和less是什么?
- Windows 10 关闭人脉软件
- Windows系统还原失败该怎么办?
- Java面向对象程序设计 - 清览云题库
热门文章
- 从抢票软件到浏览器设计
- 逐行解析linux kernel NIC驱动
- 无损信息隐藏技术综述
- 小程序返回页面报错:navigateBack:fail cannot navigate back at first page.
- 世界著名反垃圾邮件组织的介绍
- dub的sdl配置文件中文帮助
- WORD出现VBE6EXT.OLD不能被加载的问题
- 嵌入式Linux资源网站,嵌入式Linux名词及资源
- Caused by: org.elasticsearch.action.search.SearchPhaseExecutionException报错解决
- java http 1.1_HTTP1.1翻译 - 彪悍的人生不需要解释 - BlogJava