安装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. solidworks 学习 (一)

    螺丝刀建模

  2. Nodejs中的JavaScript

    一.Ecmascript ①基本语法:if var function Object Array等 ②特别注意:Node.js中没有DOM和BOM 二.核心模块: 1.Node.js为JavaScrip ...

  3. vsftp 匿名访问设置设置

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/vsftpd_configuration vsftpd (very ...

  4. GitHub如何删除一个代码仓库

    进入GitHub之后,点击“your repositories”查看所有的代码仓库. 在代码仓库中选择一个需要删除的,进入其详情页 在详情页中找到“setting”设置,下拉至最后可以看到删除选项. ...

  5. element-ui里面的table插入多张图片

    <el-form-item label="身份证正反面" label-width="120px"> <section v-if="t ...

  6. OpenFOAM——平行平板间具有相对运动(库埃特流)

    本算例翻译整理自:http://the-foam-house5.webnode.es/products/chapter-1-plane-parallel-plates-case/ 这个算例研究了一个距 ...

  7. 为什么Map桶中个数超过8才转为红黑树

    这是笔者一个好友面试阿里时,被问及的一个问题,应该不少人看到这个问题都会一面懵逼.因为,大部分的文章都是分析链表是怎么转换成红黑树的,但是并没有说明为什么当链表长度为8的时候才做转换动作.笔者第一反应 ...

  8. vue+elementui搭建后台管理界面(8 同步/异步获取数据渲染table)

    elementui已经封装好了 el-table 组件,只需要指定 data 数据源即可,因此通常在 vue 实例生命周期的 created 阶段,从数据库获取数据,再将返回的数据绑定到 data 如 ...

  9. MySQL索引知识点及面试常问题

    索引的功能 索引可以大幅增加数据库的查询的性能,在实际业务场景中,或多或少都会使用到. 但是索引是有如下 2 个代价的: 需要额外的磁盘空间来保存索引 对于插入.更新.删除等操作由于更新索引会增加额外 ...

  10. [LeetCode] 243. Shortest Word Distance 最短单词距离

    Given a list of words and two words word1 and word2, return the shortest distance between these two ...