一万年来谁著史,三千里外欲封侯。这篇文章主要讲述Appium移动端自动化测试--使用IDE编辑并强化脚本相关的知识,希望能为你提供帮助。
目录
- Appium客户端安装
- 安装Python IDE-Pycharm
- Java IDE 安装
- 使用隐式等待让用例更稳定
- 隐式等待
- 启动Appium非GUI模式:Appium Server
@
Appium客户端安装
上一节录制完成测试用例脚本,每种语言都有对应的客户端,如下; 接下来准备安装客户端。
Ruby: https://github.com/appium/ruby_lib
Python: https://github.com/appium/python-client
Java: https://github.com/appium/java-client
JavaScript(Node.js): https://github.com/admc/wd
Objective C: https://github.com/appium/selenium-objective-c
PHP: https://github.com/appium/php-client
C#(.NET): https://github.com/appium/appium-dotnet-driver
RobotFramework: https://github.com/jollychang/robotframework-appiumlibrary
安装Python IDE-Pycharm
知识点:
- 安装客户端:python -m pip install --upgrade pip
- Python多版本隔离工具:venv
- 测试框架:unittest、pytest、nose,特别推荐pytest
PyCharm社区版足矣:https://www.jetbrains.com/pycharm/download/#section=windows
新建一个项目文件,并将之前录制好的脚本复制到项目中,由于创建的项目是一个隔离干净的Python环境,所以需要安装Appium-Python-client
文章图片
打开CMD窗口并cd到虚拟项目的Scripts目录下
进行安装 pip install appium-Python-client,安装完成之红色报错消失。
文章图片
接下来直接运行刚刚的脚本demo.py
可以看到虚拟机启动了雪球APP,并进行相应的操作。
Java IDE 安装
- IDE推荐:Intellij IDEA
- 配置Manven项目
- 在src/test下编写用例
<
dependency>
<
groupId>
io.appium<
/groupId>
<
artifactId>
java-client<
/artifactId>
<
version>
${version.you.require}<
/version>
<
scope>
test<
/scope>
<
/dependency>
在GitHub上面有各个语言版本的用例模板。
https://github.com/appium/appium/tree/master/sample-code
文章图片
使用隐式等待让用例更稳定
隐式等待
- 隐式等待:服务端(Appium)会在特定的超时时间内重试多次寻找空间(全局等待,设置一次,对所有的元素等待都生效);
- 显示等待:在客户端(用例端)根据更灵活的条件循环等待条件满足(局部等待,只对设定的等待生效,针对某些特殊的元素);
- 在示例代码中加入隐式等待,再次运行
在这里发现android 10.0支持driver.implicitly_wait(10) 不是很稳定,卡了两个小时没搞定,干脆换成Android9.0之后就能够顺利运行了
启动Appium非GUI模式:Appium Server
【Appium移动端自动化测试--使用IDE编辑并强化脚本】启动Appium非GUI模式,看到所有的日志信息,为了更好的调试,告别desktop桌面模式,更轻量级。
打开CMD窗口,输入Appium,会出现已经启动Appium以及版本之类的信息。
打开已经创建的虚拟机
运行之前录制好的Demo脚本,可以看到CMD界面开始打印所有的日志。
文章图片
推荐阅读
- cordova+vue构建app
- Appium移动端自动化测试--控件定位方法
- Android 开机充电图标和充电动画
- cordova+vue构建app进阶
- pringboot热部署导致applicationContext获取为空
- IDEA启动springboot项目找不到application.yml配置文件
- uni-app开发
- 新东方APP技术团队建设
- 使用AnnotationConfigApplicationContext注册配置类