Appium -iOS真机运行自动化实践

前提:ios真机环境已安装ok

运行ios自动化的步骤如下:

步骤1、手机端安装WebDriverAgent

1、下载webdriverAgent ,从github上下载代码
运行初始化脚本
./Scripts/bootstrap.sh
该脚本会使用 Carthage 下载所有的依赖,使用npm打包响应的js文件
执行完成后,直接双击打开 WebDriverAgent.xcodeproj 这个文件。
2、配置WebDriverAgent环境
在以下三个文件中都需要进行配置:
image2018-4-9%2014%3A11%3A49.png?version
 (1). 编译WebDriverAgentLib
注:Bundle identifier:com.xxx.yyyyy   (xxx每个人都要不一样才行)
image2018-1-30%2014%3A39%3A21.png?versio
 (2).编译WebDriverAgentRunner
    
image2018-1-30%2014%3A39%3A34.png?versio
(3)配置 IntegrationApp
image2018-4-9%2014%3A15%3A47.png?version
(4)
    
image2018-1-30%2014%3A39%3A45.png?versio
(5).在终终端输入:xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=udid' test,待执行完成后手机端会安装WebDriverAgent。
一切正常的话,手机上会出现一个无图标的WebDriverAgent应用,启动之后,马上又返回到桌面。这是很正常的不要奇怪
此时控制台界面可以看到设备的IP。如果看不到的话,使用这种方法打开
image2018-1-30%2014%3A40%3A58.png?versio
通过上面给出的IP和端口,加上 /status 合成一个url地址。例如 http://10.0.0.1:8100/status ,然后浏览器打开。如果出现一串JSON输出,说明WDA安装成功了。
若运行后出现:TEST Fail,如下报错:
image2018-4-4%2015%3A20%3A39.png?version
解决:卸载手机上的 WebDriverAgentRunner程序,重新执行xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=udid' test,

在进行端口转发:

有些国产的iPhone机器通过手机的IP和端口还不能访问,此时需要将手机的端口转发到Mac上。

$ brew install imobiledevice  这里若出现以下报错,没关系,直接往下走:

image2018-4-4%2015%3A22%3A47.png?version

$ iproxy 8100 8100

接着使用iproxy --help 可以查到更具体的用法。 这时通过访问http://localhost:8100/status确认WDA是否运行成功。

步骤二、打开appium-desktop,启动appium server+启动inspector,获取页面元素

1、StartServer
image2018-1-30%2014%3A43%3A6.png?version
2、创建Inspector session
image2018-1-30%2014%3A43%3A23.png?versio
3、创建好session后,session的参数信息必须和当前链接的设备信息一致,否则会报错误信息,最后start session,就可以看到下图的dom树结构,如果出现图3,则说明需要重新编译运行WebdriverAgent了

image2018-1-30%2014%3A43%3A50.png?versio

image2018-1-30%2014%3A44%3A10.png?versio


步骤三、在原来框架的基础上,写Appdriver驱动

image2018-1-30%2014%3A45%3A37.png?versio

步骤四、写自动化case

image2018-1-30%2014%3A46%3A27.png?versio


ios的元素获取可以通过xpath,name,label,assessbilityid获取,上述通过name获得

步骤五、运行testng

image2018-1-30%2014%3A46%3A56.png?versio


可以看到case运行正常
image2018-1-30%2014%3A47%3A15.png?versio

参考文档:

  1. https://www.jianshu.com/p/2b4236086165
  2. https://blog.csdn.net/weixin_39142498/article/details/78950804
  3. https://testerhome.com/topics/7775
  4. https://testerhome.com/topics/4904
  5. https://testerhome.com/topics/7220
  6. https://www.cnblogs.com/yuhanle/articles/8213675.html
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/593547

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。