Appium使用Python运行appium测试的实例

一.  Appium之介绍

https://testerhome.com/topics/8038

详情参考--https://testerhome.com/topics/8038

Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的。可用于IOS和Android以及firefox的操作系统。原生的应用是指用android或ios的sdk编写的应用,移动网页应用是指网页应用,类似于ios中safari应用或者Chrome应用或者类浏览器的应用。混合应用是指一种包裹webview的应用,原生应用于网页内容交互性的应用。
重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套api来编写测试用例。

启动验证:
启动之后,在浏览器中输入http://localhost:4723/wd/hub/status出现下面代码说明成功
{"status":0,"value":{"build":{"version":"1.4.13","revision":"c75d8adcb66a75818a542fe1891a34260c21f76a"}}}

二.  具体步骤如下:

第一步 安装Python

1.官网地址:https://www.python.org/

点击【download】--【Windows】,选择“Python2.7.13”,然后直接安装即可,如下图所示。

2.配置环境变量

电脑右击“属性”--“高级系统设置”—“环境变量”,编辑“path”变量,新增(本机放在D盘)“D:\Python27”和“D:\Python27\Scripts”两个环境变量。

注意:D:\Python27是“Python”的安装目录

D:\Python27\Scripts是“easy_install”和“pip”工具目录

3.验证“Python”环境是否成功(控制台下验证【Windows+R】)

控制台下面输入【Python】出现如下图所示则表示配置成功。

第二步 安装pip

1.安装pip,在控制台下输入“easy_install pip”

安装好如下图所示

第三步 安装Appium-Python-Client

1.控制台输入【pip install Appium-Python-Client】,已安装好的如下图所示。

第四步 安装selenium

1.在控制台下输入【pip install selenium –i http://pypi.douban.com/simple】,已安装好的如下图所示。

第五步 安装pytest((日后会有用))

1.在控制台下输入【pip install pytest】,已安装好的如下图所示

第六步 手机连接电脑

1.首先需要下载(Android-sdk),本机(E:\downloads\android-sdk_r23.0.2-windows)已下载。

下载路径:下载路径在这里获取:http://www.cnblogs.com/we-hjb/p/6416274.html

2.配置环境变量

“我的电脑”—右击“属性”—“高级系统设置”—“环境变量”,可以先配置一个“adb”(名字随便取),然后新建在【path】变量中即可。

3.然后在控制台下输入【adb devices -l】--查询手机的UDID,检查手机是否连接上,连接上如下图所示。

第七步 启动appium(确保已经连接模拟器)

1.在客户端启动appium

2.在控制台下输入【appium -a 127.0.0.1 -p 4723  (-U  98YSBPJ2228S 
--no-reset)】

注释: -a是服务地址  -p是端口号  -U是手机的UDID

如下图所示则表示成功。

3.启动验证

启动之后,在浏览器中输入【http://localhost:4723/wd/hub/status】出现下面代码说明成功
{"status":0,"value":{"build":{"version":"1.4.13","revision":"c75d8adcb66a75818a542fe1891a34260c21f76a"}}}

如下图所示

第八步 执行官方实例代码

下载地址:https://github.com/appium/sample-code/tree/master/sample-code

注释:添加联系人的实例代码

1.下载对应的APK,点击【download】即可。

2.下载Python执行文件(找到这个文件,复制粘贴)

3.保存在如下图的目录下。

4. 然后修改Android_contacts.py

原始文件:

修改后,如下图所示。

注意:代码的绝对路径容易出错(下面采用的是相对路径),如下所示。
desired_caps['app'] = PATH(
'../../../sample-code/apps/ContactManager/ContactManager.apk'
)
这段代码的地址错误。根据提示将对应的apk文件放到对应的路径就可以了
例如:
desired_caps['app'] = PATH(
'E:\Python\ContactManager.apk'
)

第九步 运行Android_contacts.py文件

1.在控制台下输入【android_contacts.py】,运行成功如下图所示。

2.模拟器运行的情况(上述步骤都成功)

Appium使用Python运行appium测试的实例的更多相关文章

  1. 自动化测试 Appium之Python运行环境搭建 Part2

    Appium之Python运行环境搭建 Part2 by:授客 QQ:1033553122 实践环境 参见 Appium之Python运行环境搭建 Part1 环境部署 1.安装Android SDK ...

  2. 自动化测试 Appium之Python运行环境搭建 Part1

    Appium之Python运行环境搭建 Part1 by:授客 QQ:1033553122 实践环境 Win7 Python 3.4.0 JAVA JDK 1.8.0_121 node.js8.11. ...

  3. Appium和Python实现蚂蚁森林自动化收取能量

    准备环境 Window10系统 Appium1.21.0 AndroidSDK r24.1.1 Python3.7.5 支付宝apk文件 查看支付宝apk包信息 使用android sdk aapt命 ...

  4. 如何在 iOS 真机运行 Appium

    使用 gui 启动的 appium 1.2.2 也会有这个问题,所以你要把 deviceconsole 复制到 /Applications/Appium.app/Contents/Resources/ ...

  5. Appium(Python)测试混血App

    Hybrid App(混合模式移动应用)是指介于web-app.native-app这两者之间的app兼具Native App良好用户交互体验的优势和Web App跨平台开发的优势 HybridApp ...

  6. python+appium真机运行登录例子

    一.手机USB连接电脑(手机打开调试模式) 验证:cmd -> 输入adb devices,查看手机的UDID.显示如下表示 连接成功 二.启动Appium服务 1. 启动Appium,点击 右 ...

  7. 基于Appium、Python的自动化测试

    基于Appium.Python的自动化测试环境部署和实践   第一章 导言 1.1 编制目的 该文档为选用Appium作为移动设备原生(Native).混合(Hybrid).移动Web(Mobile ...

  8. 基于Python的Appium环境搭建合集

    自动化一直是测试圈中的热聊,也是大家追求的技术方向.在测试中,往往回归测试也是测试人员的“痛点”.对于迭代慢.变更少的功能,就能用上自动化来替代人工回归,减轻工作量. 问题 在分享环境搭建之前,先抛出 ...

  9. 运行Appium碰到的坑们

    运行Appium的时候,碰到的那些坑 1. java命令会出现error:could not open ...jvm.cfg 出现这种情况大多是因为电脑上之前安装过JDK,卸载重装之后,运行java命 ...

随机推荐

  1. Spring 基于Aspectj切面表达式

    package com.proc; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; im ...

  2. SuperMap iServer 9D HBase使用

    需提前将HBase进行部署,参考上篇部署文档 https://www.cnblogs.com/zhangyongli2011/p/9982143.html (转发请注明出处:http://www.cn ...

  3. Linux命令-文件处理命令:more

    分页查看文件命令,区别于翻页查看文件命令less more /etc/services 查看etc目录中的services文件 注意:空格或f是翻页,回车Enter是换行,q或Q是退出.

  4. C#获取文件的md5

    上代码: //获取MD5 public static string GetMd5Hash(String input) { if (input == null) { return null; } MD5 ...

  5. Python --标准库 存储对象 (pickle包,cPickle包)

    在之前对Python对象的介绍中 (面向对象的基本概念,面向对象的进一步拓展),我提到过Python“一切皆对象”的哲学,在Python中,无论是变量还是函数,都是一个对象.当Python运行时,对象 ...

  6. jdbc链接基础

    1 jdbc 链接两种方式,通过jdbc链接mysql数据库,url:jdbc:mysql://ip:端口[/database name] 通过什么驱动器,链接什么数据库,数据库的ip,连接端口,可以 ...

  7. angular.js 动态插入删除dom节点

    angular.js 是新一代web开发框架,它轻松在web前端实现了MVC模式,相比 jquery 模式,这种新玩意竟然不需要开发者直接去操作dom . 作为前端开发而不去操作dom ,这简直是一个 ...

  8. Maven的个性化定制

    用Maven的小伙伴都知道,Maven的宗旨是约定优于配置(Convention Over Configuration). 在宗旨的前提下Maven也提供了个性化定制的Profile,让我们看看使用方 ...

  9. jQuery操作CheckBox的方法(选中,取消,取值)

    jQuery操作CheckBox的方法(选中,取消,取值). 代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional/ ...

  10. css 优先级的bug

    对于前端而言,了解css样式的优先级,对开发或处理bug有着事半功倍的效果,今天在做项目的时候,突然碰到一个优先级的小问题,刚开始不知道所因,后来才发现这个问题是由优先级造成的.先描述下问题,鼠标悬停 ...