Appium移动端自动化测试--使用IDE编辑并强化脚本

安装Python IDE-Pycharm和Java IDE编辑脚本,增加脚本的稳定性。

@

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

接下来我们安装IDE工具,此处使用的IDE是Pycharm。
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)会在特定的超时时间内重试多次寻找空间(全局等待,设置一次,对所有的元素等待都生效);
  • 显示等待:在客户端(用例端)根据更灵活的条件循环等待条件满足(局部等待,只对设定的等待生效,针对某些特殊的元素);
  • 在示例代码中加入隐式等待,再次运行

Error:
在这里发现Android 10.0支持driver.implicitly_wait(10) 不是很稳定,卡了两个小时没搞定,干脆换成Android9.0之后就能够顺利运行了

启动Appium非GUI模式:Appium Server

启动Appium非GUI模式,看到所有的日志信息,为了更好的调试,告别desktop桌面模式,更轻量级。
打开CMD窗口,输入Appium,会出现已经启动Appium以及版本之类的信息。
打开已经创建的虚拟机
运行之前录制好的Demo脚本,可以看到CMD界面开始打印所有的日志。
在这里插入图片描述

posted @ 2019-12-19 22:12  软测小生  阅读(544)  评论(0编辑  收藏  举报