安装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. hibernate之一对多关系

    1. 什么是关联(association) 1.1 关联指的是类之间的引用关系.如果类A与类B关联,那么被引用的类B将被定义为类A的属性.例如: public class A{ private B b ...

  2. 如何用Windbg从dump获取计算机名、主机名

    对内存转储时发生的事情有一定的了解是非常重要的.这有助于您确定要执行哪些WinDbg命令,并为您提供一些有关如何解释这些命令输出的上下文.我正在查看一个服务器的内存转储,该服务器存在性能问题.我在内存 ...

  3. svn项目迁移至gitlab

    关于svn项目迁移有人可能会说,新建一个git项目,把原来的代码直接扔进去提交不完了吗.恩,是的,没错.但是为了保留之前的历史提交记录,还是得做下面的步骤 首先确保本地正常安装配置好git,具体步骤不 ...

  4. 改变Ubuntu命令行 用户名显示前缀

    改变Ubuntu命令行 用户名显示前缀 1.修改命令 [root@daokr ubuntu]#vim ~/.bashrc 修改第 56行 注释掉原来 # PS1='${debian_chroot:+( ...

  5. 【后缀数组】【SP1811】 LCS - Longest Common Substring

    题目链接 题意翻译 输入2 个长度不大于250000的字符串,输出这2 个字符串的最长公共子串.如果没有公共子串则输出0 . 思路 求两个串的最长公共子串 代码 #include<iostrea ...

  6. Docker 安装ubuntu服务器

    ### 1. 安装ubuntu ```docker pull ubuntudocker run -it -d --name ubuntu_test -p 2222:22 ubuntu ``` ### ...

  7. Go内置函数

    append go语言中的append函数作用是在切片变量的后面追加新的数据,然后返回新的切片变量 func append(slice []Type, elems ...Type) []type sl ...

  8. C++ 类型转换符区别分析

    转载自:https://blog.csdn.net/legalhighhigh/article/details/87459995 1.static_cast用于将参数转换为指定类型.需要注意的是,进行 ...

  9. uniapp - 阿里图库字体图标使用

    [iconfont下载] https://www.iconfont.cn/search/index?searchType=icon&q=%E4%B8%8A%E4%BC%A0 可能报错,找不到线 ...

  10. Netty对WebSocket的支持

    WebSocket长连接 一.创建服务端代码 1.MyServer 类 public class MyServer { public static void main(String[] args) t ...