Python Appium笔记(一):Appium Android环境配置及示例

(一) 简介

Appium是一个开源的自动化测试框架,可以用来测试基于iOS、Android和Firefox OS平台的原生和混合应用。该框架使用Selenium Webdriver,在执行测试时和Selenium server通信的是JSON Wire Protocol。Appium允许我们使用,甚至扩展现有的Selenium Webdriver框架来构建测试脚本。

使用Appium,selenium是一定要安装的 pip install selenium

(二) 需要配置的环境

操作系统WIN7/WIN10都行,其他没试

1、      安装JDK (JDK安装就不说了,我的是1.8,其他版本的没试过)

2、      安装NODE.JS (appium是基于node.js实现的)

3、      安装appium

4、      安装Android SDK(用真机测试并且不使用appt、adb工具的话可忽略这步)

5、      pip install Appium-Python-Client

(三) 安装node.js

https://nodejs.org/en/download/

运行一直下一步就行了,安装完成后,path变量加上node.js的安装目录F:\Python\android\nodejs ,可以运行npm -version 看下成不成功

(四) 安装appium

https://github.com/appium/appium-desktop/releases/tag/v1.6.1

下面2个都可以,加web的应该是要联网安装的。一直下一步就行了,不需要配置什么环境变量。

安装完后直接启动

(五) 安装安卓 SDK

(1)http://www.androiddevtools.cn/ ,安装文件EXE或压缩包,下载其中一个

安装完毕后,配置环境变量

新增系统变量: 变量名:ANDROID_HOME   值:F:\Python\android\android-sdk (自己SDK的安装目录)

只用appt、adb工具的话,运行SDK Manager.exe,把必须安装的工具安装就行了(启动的时候SDK会默认选中,直接安装就行了)。安装完毕后,把环境变量配置好就行了,后面的都可以忽略。(我是直接用真机测试,模拟器运行APP各种问题)

path变量中增加 :%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\27.0.3;(这个27.0.3看自己的安装目录,不一定相同)

配置好后,可以在cmd中运行下 adb  和 aapt  ,能用就OK

(2)https://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager-intel-haxm  下载haxm,下载好后直接运行安装就行了(不用安卓模拟器可以不安装,这个主要是解决安装模拟器运行慢的问题)

(3)创建安卓模拟器

   Android SDK  manager中安装需要的环境

Tools-Manager AVD启动 AVD,或者直接点击安装目录下的AVD Manager 启动,创建一个模拟器,然后启动 start。

(六)  示例

记得安装 pip install Appium-Python-Client

这段代码就是启动博客园客户端并关闭。暂时感觉appium的元素定位不太友好

 1 from appium import webdriver
 2 import time
 3 desired_caps = {
 4     'platformName':'Android',
 5     #用真机的时候,这个参数deviceName没什么用,但是还是必须要有这个参数,值的话随便填就行了
 6     'deviceName':'HUAWEI',
 7     'platformVersion':'7.0',
 8     'appPackage':'com.rae.cnblogs',
 9     'appActivity':'com.rae.cnblogs.activity.LauncherActivity',
10     'unid':'填写真机unid的值,下面说明怎么获取了',
11     'noReset':'true',
12 }
13 driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
14 time.sleep(3)
15 driver.quit()

https://appium.io/docs/cn/writing-running-appium/caps/index.html  这里可以查看参数说明

用上面的代码得安装博客园的Android  APP才行

(七)获取package、activity、devicename、unid

通过appt工具获取package、activity,cmd运行  aapt dump badging  xxx.apk

获取devicename、unid,cmd 运行  adb devices(记得手机开启usb调试再运行这个命令) ,用真机的时候,下面这个位置的东西就是UNID参数的值,使用模拟器的话就是deviceName参数的值

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏蓝天

nohup、&、setsid、fork和fg、bg究竟有啥区别?

在后台运行的进程不一定是守护进程!一个进程要成为守护进程,必须做到以下两点:

732
来自专栏葡萄城控件技术团队

ASP.NET 5系列教程 (六): 在 MVC6 中创建 Web API

ASP.NET 5.0 的主要目标之一是统一MVC 和 Web API 框架应用。 接下来几篇文章中您会了解以下内容: ASP.NET MVC 6 中创建简单的...

1996
来自专栏Netkiller

Tomcat 安全配置与性能优化

Tomcat 安全配置与性能优化 摘要 我的系列文档 Netkiller Architect 手札Netkiller Developer 手札Netkiller...

3335
来自专栏电光石火

jenkins

1222
来自专栏乐沙弥的世界

Linux网络检测相关工具用法(ping/netstat/ss/ethtool)

当新的Linux主机完成了网络配置,即可以正常接入网络后,我们可以通过Linux自带的相关工具进行网络相关检测。如最常用的ping,netstat,ss,tra...

1023
来自专栏林德熙的博客

C# 从零开始写 SharpDx 应用 控制台创建 Sharpdx 窗口 下载创建窗口

本文告诉大家如何在控制台使用 SharpDx 创建窗口,这是一个底层的博客,我会用很多博客告诉大家如何从控制台创建一个高性能渲染程序

642
来自专栏walterlv - 吕毅的博客

Git 更安全的强制推送,--force-with-lease

发布于 2018-05-07 11:16 更新于 2018-09...

462
来自专栏草根专栏

要用Identity Server 4 -- OAuth 2.0 超级简介

1533
来自专栏张戈的专栏

zabbix监控在lnmp环境下编译安装小记

最近在复习运维常见的监控告警软件的时候,想起了 zabbix,于是先用军哥的 lnmp 一键安装包快速搭建了 lnmp 环境,然后成功编译安装了 zabbix,...

3125
来自专栏依乐祝

Ocelot简易教程(三)之主要特性及路由详解

上篇《Ocelot简易教程(二)之快速开始2》教大家如何快速跑起来一个ocelot实例项目,也只是简单的对Ocelot进行了配置,这篇文章会给大家详细的介绍一下...

672

扫码关注云+社区