安装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界面开始打印所有的日志。

最新文章

  1. 夜深了,写了个JQuery的省市区三级级联效果
  2. Windows on Device 项目实践 4 - 智能风扇制作
  3. 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-2 工程及程序构架介绍
  4. 通过js给android控件WebView设padding
  5. Android Studio运行SlidingView报错 FloatMath函数
  6. ASP.NET MVC 学习笔记(一)
  7. java file的一些方法
  8. slivelight5和数据库交互
  9. 解决Github使用Fastly CDN而导致不能加载网页的方法
  10. Divisor counting [线性筛积性函数]
  11. ansible字符串处理(一)
  12. pgmpy安装
  13. 纯js星级评分
  14. 运行纯PHP程序的时候,不应该加&quot;?&gt;&quot;结束语
  15. STM32的SWD调试进不了main函数
  16. recovery 界面汉化过程详解
  17. latex 图片标题居中
  18. linux下安装redis并配置
  19. mydumper使用
  20. kubeadm搭建kubernetes集群之一:构建标准化镜像

热门文章

  1. CDN工作机制
  2. Using HAProxy as an API Gateway, Part 3 [Health Checks]
  3. s3git 使用git 管理云存储
  4. 【JZOJ6210】【20190612】wsm
  5. 【06NOIP普及组】数列(信息学奥赛一本通 1937)(洛谷 1062)
  6. PHP Closure(闭包)类详解
  7. bluestart
  8. D3.js的v5版本入门教程(第五章)—— 选择、插入、删除元素
  9. 谈下sublime和vscode
  10. Prometheus监控神技--自动发现配置