安装配置Appium环境

安装appium

安装appium有两种方式,一种是通过命令行终端方式,一种是Appium Desktop。这里推荐使用Appium Desktop方式,只需下载下来安装就可以啦。Appium Desktop下载

安装驱动

根据被测应用平台选择不同的驱动,这里在Xcode9上测试iOS,选择XCUITest Driver。这是实现自动化测试很重要的一步。驱动其实也集成在了Appium Desktop中,不需单独安装,但运行环境需要搭好。

1.iOS设备系统必须是iOS9.3及以上
2.macOS系统必须是10.11或10.12
3.Xcode版本为Xcode8及以上
4.Appium版本为1.6及以上
5.安装所需依赖库,包括:

a.node (brew install node)
b.npm (brew install npm)
c.carthage (brew install carthage)
d.libimobiledevice(真机测试需要)(brew install libimobiledevice)
e.ios-deploy(真机测试需要)(brew install ios-deploy)
确定所有依赖是否安装成功,可通过appium-doctor验证,首先安装appium-doctor(npm install -g appium-doctor),然后在终端运行appium-doctor,如图所示,都是打钩状态就证明环境正常(java相关环境不需要配置。

更新Appium中的WebDriverAgent

网上很多是到WebDriverAgent下载最新版本的WebDriverAgent,然后配置替换Appium路径下的WebDriverAgent(/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/),但真机测试一启动导致App反复重启。
这里是不用替换,直接用appium自带的WebDriverAgent,进行相关配置即可。

  • cd 进入appium的WebDriverAgent文件,路径:(/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/)
  • 执行 ./Scripts/bootstrap.sh
  • 直接用Xcode打开WebDriverAgent.xcodepro文件

    • 配置WebDriverAgentLib和WebDriverAgentRunner的证书
    • 连接并选择自己的iOS设备,然后按Cmd+U,或是点击Product->Test
    • 运行成功时,在Xcode控制台应该可以打印出一个Ip地址和端口号
    • 在网址上输入http://192.168.2.101:8100/status,如果网页显示了一些json格式的数据,说明运行成功。

最后一步这里在电脑浏览器访问真机ip时,一直报超时。在网上找到了答案,说国产机通过手机的IP和端口还不能访问,此时需要将手机的端口转发到Mac上。

安装iproxy工具,用法非常简单 iproxy <local port><remote port> [udid]。端口转发后,浏览器访问 http://localhost:8100/status会看到一个json字符串,即说明WebDriverAgent安装成功

启动Appium Desktop,开始测试!

  • 运行Appium-Desktop

  • 开启start server

  • 点击start new session并且在Desired Capabilities 中输入相关的参数后点击Start Session

  • 运行成功后,会弹出一个控制界面,在该界面中可以控制手机上正在运行的程序

利用Appium-Python-Client进行iOS的自动化测试

1.首先在终端安装,python install Appium-Python-Client,如果是python3,就用python3 install Appium-Python-Client
2.在git上下载测试文件测试demo
3.用下载的demo配置好证书,直接安装到手机上
4.找到demo下文件下的appiumSimpleDemo.py,编辑里面的参数udid,和bundleid,里面的app参数如果已经把demo安装到手机的话,可以注释掉;省得去编译测试demo;
5.执行demo下文件下的appiumSimpleDemo.py,终端执行python appiumSimpleDemo.py(或python3 appiumSimpleDemo.py),就可以看到真机开始自动执行测试代码

Appium自动化测试实践的更多相关文章

  1. 记安卓appium自动化测试实践

    一.软件安装 1. 安装node.js,安装路径D:\Program Files\nodejs\ 可以在官网下载https://nodejs.org/zh-cn/download/,版本号为node- ...

  2. appium+java(五)微信小程序自动化测试实践

    前言: 上一篇<appium+java(四)微信公众号自动化测试实践>中,尝试使用appium实现微信公众号自动化测试,接着尝试小程序自动化,以学院小程序为例 准备工作 1.java-cl ...

  3. Appium+python自动化(三十八) - Appium自动化测试框架综合实践 - 框架简介-助你冲击高薪,迎娶白富美(超详解)

    简介 好久没有更新博客了,博友们是不是有点等不及了.不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的.从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从0到1的搭建一个完 ...

  4. Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)

    简介 经过一段时间的准备,完善的差不多了,继续分享有关Appium自动化测试框架综合实践.想必小伙伴们有点等不及了吧! driver配置封装 kyb_caps.yaml 配置表 参考代码 platfo ...

  5. Appium+python自动化(四十)-Appium自动化测试框架综合实践 - 代码实现(超详解)

    1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.由于时间的关系,宏哥这里用代码给小伙伴演示两个模块:注册和登录. 2.业务模块封装 因为现在各种APP的层出不群 ...

  6. Appium+python自动化(四十一)-Appium自动化测试框架综合实践 - 即将落下帷幕(超详解)

    1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.到今天为止,大功即将告成:框架所需要的代码实现都基本完成. 2.data数据封装 2.1使用背景 在实际项目过程 ...

  7. Appium+python自动化(四十二)-Appium自动化测试框架综合实践- 寿终正寝完结篇(超详解)

    1.简介 按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台.今天这篇分享讲解完.Appium自动化测试框架就要告一段落了. 2.执行测试用例&报告生成 测试报告, ...

  8. 基于图像识别框架Airtest的Windows项目自动化测试实践

    写在前面 上一篇分享了<基于Sikuli GUI图像识别框架的PC客户端自动化测试实践>,但sikuli看起来怎么都像是上个世纪的界面风格,且功能过于简陋.而同样基于图像识别框架的Airt ...

  9. Appium学习实践(四)结构优化

    随着我们测试脚本中的用例越来越多,我们不可能将所有的用例都放在同一个脚本中,所以我们需要优化我们的结构.将脚本放在一个文件夹中,再通过别的脚本来执行脚本.这样,我们也可以有选择性的执行我们的脚本 先来 ...

随机推荐

  1. Mybatis Generator逆向工程的使用

    一.在 idea 中使用 mybatis generator 逆向工程 1.在IDEA上创建maven工程. 2.在pom.xml中配置MyBatis逆向工程插件 <!--MyBatis自动生成 ...

  2. linux下U盘变成只读文件系统的修复

    问题描述: U盘插入linux下后变成了只读文件系统,不能再往u盘里拷贝文件. 总结:产生这个问题的原因可能是u盘文件系统损坏,操作系统为了防止它损坏系统,将它设置成了只读 修复方法: 在window ...

  3. 统计一个字符串中"java"出现的次数

    public class CountJava{ public static void main(String[] args){ String str = "dnajjavaNISLjavaE ...

  4. 吴裕雄--天生自然C语言开发:强制类型转换

    #include <stdio.h> int main() { , count = ; double mean; mean = (double) sum / count; printf(& ...

  5. 绿洲作业第一周 - Y3每日中文学习任务清单

    尽量每天完成一首古诗. 如果孩子另有学习安排,可在周日(2.16)23:59前,完成任务.有兴趣.学有余力的孩子可以自我拓展其中的“寒假读诗”.

  6. 关于Apache Commons-IO的使用

    commons-io是一款处理io流的工具,封装了很多处理io流和文件的方法,可以大大简化我们处理io流和操作文件的代码.从common-io的官方使用文档可以看出,它主要分为工具类.尾端类.行迭代器 ...

  7. mysql在当前服务器复制数据库

    mysqldump newwq -u root -proot --add-drop-table | mysql jxg -u root -proot

  8. auth模块用法

    Auth模块: 如果你想用auth模块   那么你就用全套 createsuperuser  创建超级用户 这个超级用户就可以拥有登陆django admin后台管理的权限 Auth模块是Django ...

  9. sqlserver中的数据导到mysql相关

    一.在sqlserver中生成数据表脚本,粘贴到记事本中,如下语法要进行替换 1.int IDENTITY (1, 1) NOT NULL——>id int unsigned NOT NULL ...

  10. Python连接SQLServer2000

    http://www.pymssql.org/en/stable/pymssql_examples.html 实例 import pymssql # 获取连接 conn = pymssql.conne ...