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

Appium移动端自动化测试--使用IDE编辑并强化脚本的更多相关文章

  1. appium 移动端自动化测试工具

    appium 移动端自动化测试工具 appium 移动端自动化测试工具 appium 是哟个自动化测试开源工具 支持ios和安卓平台的应用 以及web应用和混合应用 appium 是一个跨平台的工具: ...

  2. appium移动端自动化测试环境搭建windows-appium-android

    第一步:安装jdk 安装jdk(1.7版本以上) 安装完成设置jdk环境变量(百度查询) cmd命令下键入 java -version命令检查jdk是否安装成功且设置环境变量成功,如下图所示: 第二步 ...

  3. appium 移动端自动化测试一

    最近公司决定使用appium为主体框架做一个移动端得自动化测试系统,我会陆续记录项目得进展. 1.首先是appium环境得搭建, 需要安装appium-server ,appium-desktop, ...

  4. appium移动端自动化测试的一些感想

    花了一个多月的时间来复习,学习appium+python+android的UI层的自动化测试. 从最开始的环境搭建,都后面运行脚本报错各类错,到优化脚本结构,基本上问题不断. 相比,selenium做 ...

  5. Appium移动端自动化测试-安卓真机+模拟器启动

    一.环境准备 appium-pythin-client版本(0.17),selenium版本(2.53.6)(版本需对应,否则执行脚本可能出错,我用的是这两个版本) macOs版本10.14.1(ap ...

  6. Appium移动端自动化测试--搭建模拟器和真机测试环境

    详细介绍安装Android Studio及Android SDK.安装Appium Server. 文章目录如下 目录 文章目录如下 模拟器--安装Android Studio及Android SDK ...

  7. appium ios端自动化测试配置

    一.安装环境介绍macOS 10.12.4 Xcode 8.3.2 适用机型:iOS9 及以上机型 二.Appium源码安装Xcode升级8.2之后不再支持UIAutomation,转而使用XCUIT ...

  8. Appium移动端自动化测试--录制测试用例并运行

    目录 文章目录如下 录制用例并执行 1.使用Appium desktop录制用例 2.安装Pythony依赖Appium-Python-Client 3.增加隐式等待增强稳定性 4.重新运行 文章目录 ...

  9. Appium移动端自动化测试--元素操作与触摸动作

    常见自动化动作支持 click sendKeys swipe touch action 元素操作 1.click()点击操作 也可以用tab实现点击操作 driver.find_element_by_ ...

随机推荐

  1. MongoDB TTL集合与固定集合

    1.固定集合     MongoDB可以创建固定长度的集合,可以设置最大的集合空间或最大的集合数.创建集合的语法如下:     db.createCollection("collection ...

  2. C++之Lambda研究

    目录 目录 1 1. 前言 1 2. 示例1 1 3. 示例2 2 4. 示例3 3 5. 示例4 3 6. 示例5 6 7. 匿名类规则 6 8. 参考资料 7 1. 前言 本文代码测试环境为“GC ...

  3. 算法:贪心、回溯(su)、分治、动态规划,思想简要

    贪心算法: 只做出当前看来最好的选择,而不从整体考虑最优,他所作出的是局部最优解.使用该算法的前提是必须具备无后效性,即某个状态以前的选择不会影响以后的状态的选择,只与当前状态有关. 回溯算法: 本质 ...

  4. Java后台读取excel表格返回至Web前端

    如果是做连接数据库的话,系统难度就降低了不少:这次本人也算是体会到数据库的方便了吧(不过以后云储存好像会更受欢迎些):比如说查询列出所有数据吧:数据库每个表每一列都有列名,正常的做法是遍历数据库表,d ...

  5. 【POJ1321】棋盘问题

    本题传动门 本题知识点:深度优先搜索 + 枚举 + 回溯 题意是要求我们把棋子放在棋盘的'#'上,但不能把两枚棋子放在同一列或者同一行上,问摆好这k枚棋子有多少种情况. 我们可以一行一行地找,当在某一 ...

  6. 【软工实践】Alpha冲刺(4/6)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 学习调用中国天气网API,接近实现天气推送功能 对天气推送的形式进行讨论及重确 ...

  7. arcgis python 获得硬件id

    import time import wmi, zlib def get_cpu_info(): tmpdict = {} tmpdict["CpuCores"] = 0 c = ...

  8. nginx 二级目录反向代理

    location /faceapi/ { #default_type application/json; # return 200 '{"status":"success ...

  9. 滚动事件优化 passive

    1.addEventListener参数 target.addEventListener(type, listener[, options]); target.addEventListener(typ ...

  10. Laravel 入门常见问题汇总

    一.安装完成后想打开 Laravel 内置的登录页面,报错 解决方法: Laravel 利用 PHP5.4 的新特性 trait 内置了非常完善好用的简单用户登录注册功能,适合一些不需要复杂用户权限管 ...