Appium移动自动化测试实例-基于python
一、环境搭建
安装Android 环境变量、SDK、Android API、ADT等。
步骤1 安装SDK:下载地址为https://pan.baidu.com/s/1mi6PT9m。如提示错误:'xcopy' 不是内部或外部命令,也不是可运行的程序,则在环境变量path中加入C:\Windows\System32。
步骤2 安装Android API19等,如图1所示。
步骤3 安装ADT,下载离线安装包https://pan.baidu.com/s/1sl2BZit,在Eclipse中单击“helpinstall new software”,在弹出框中单击“Add”按钮,单击“Archive”,选择离线安装包,如图2所示。
步骤4 配置环境变量Adb和SDK。
在path中添加如下内容。
ANDROID_HOME
C:\Users\zh\Desktop\software\android-sdk-windows
Path
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
▲图1
▲图2
步骤5 运行CMD,输入命令Adb devices,如图3所示。
▲图3
步骤6 安装appium_python_client。
可以用命令安装pip install Appium_Python_Client,也可以在https://pypi.python.org/pypi/Appium-Python-Client地址下载安装包,进行安装。
解压缩,运行CMD进入到相应目录,输入命令:python setup.py install
步骤7 安装Appium 环境。
这里依然用早期的老版本(appium1.4.13),进行讲解。
安装包下载地址为https://pan.baidu.com/s/1jIJfruA,安装后检查环境,如图4所示。
▲图4
步骤8 默认安装成功后,打开appium.exe,然后配置Capabilities,如图5所示。
▲图5
步骤9 单击Appium右上角按钮启动服务,如图6所示。
▲图6
启动配置模拟器:
创建模拟器,点击create,配置好信息,选择,点击Start,启动模拟器
▲图7
启动模拟器,如下图8:
▲图8
二、App自动化测试源码
搭建好环境后,开始写脚本并进行AppUI自动化测试。
App自动化测试入门实例
1.功能描述
Android模拟器上的计算器可以说是Android内置的App,实现自动化模拟手工操作,单击1,单击+,单击1,单击=,于是计算器上自动得出结果2。
2.程序清单1:文件名appauto_testcase1.py
#coding=utf-8
from appium import webdriver
import time
desired_caps = {}
desired_caps['platformName'] = 'Android'
dersired_caps['platformVersion'] = '4.4'
desired_caps['deviceName'] = 'emulator-5554'
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = '.Calculator'
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
time.sleep(5)
driver.find_element_by_name("1").click()
driver.find_element_by_name("+").click()
driver.find_element_by_name("1").click()
driver.find_element_by_name("=").click()
time.sleep(5)
driver.find_element_by_name("清除").click()
time.sleep(5)
driver.quit()
三、运行程序视频
在pycharm中,运行以上程序清单1,源码及运行视频
是不是觉得so easy呢?
Appium移动自动化测试实例-基于python的更多相关文章
- Selenium自动化测试实例-基于python
一.Selenium介绍 Selenium是一个Web开源自动化测试框架,具有页面级操作.模拟用户真实操作.API从系统层面触发事件等特点. 1.版本 Selenium 1.0 Sever/Clie ...
- 如何简单实现接口自动化测试(基于 python) 原博主地址https://blog.csdn.net/gitchat/article/details/77849725
如何简单实现接口自动化测试(基于 python) 2017年09月05日 11:52:25 阅读数:9904 GitChat 作者:饿了么技术社区 原文:如何简单实现接口自动化测试(基于 python ...
- 关于《Selenium3自动化测试实战--基于python语言》
2016年1月,机缘巧合下我出版了<Selenium2自动化测试实战--基于python语言>这本书,当时写书的原因是,大部分讲Selenium的书并不讲编程语言和单元测试框,如果想在项目 ...
- selenium2自动化测试实战--基于Python语言
自动化测试基础 一. 软件测试分类 1.1 根据项目流程阶段划分软件测试 1.1.1 单元测试 单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程. 1.1.2 集成测试 ...
- 《Selenium2自动化测试实战--基于Python语言》 --即将面市
发展历程: <selenium_webdriver(python)第一版> 将本博客中的这个系列整理为pdf文档,免费. <selenium_webdriver(python)第 ...
- 《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法
虫师的<Selenium 2自动化测试实战 基于Python语言>是我自动化测试的启蒙书 也是我推荐的自动化测试入门必备书,但是书中有一处明显的错误,会误导很多读者,这处错误就是第8章自动 ...
- 一个完整的Appium手机自动化测试实例
实现过程: 1.使用环境 appium .安卓SDK .python 本文重点是自动化实例,环境搭建过程省略. 2.找到被测APP的包名和Activity Name 手机连接上电脑后,在DOS环境先使 ...
- 《Selenium自动化测试实战:基于Python》Selenium自动化测试框架入门
第1章 Selenium自动化测试框架入门 1.1 Selenium自动化测试框架概述 说到目前流行的自动化测试工具,相信只要做过软件测试相关工作,就一定听说过Selenium. 图1-1是某企业 ...
- 《Selenium自动化测试实战:基于Python》之 Python与Selenium环境的搭建
第2章 Python与Selenium环境的搭建 购买链接: 京东:https://item.jd.com/13123910.html 当当:http://product.dangdang.co ...
随机推荐
- Tkinter控件
1.顶层(Toplevel) Toplevel为其他控件提供单独的容器.共有四种类型(1)主顶层,作为根被应用,应该就是root(2)子顶层,依赖于根,根破坏,子顶层也被破坏(3)临时顶层,画在父顶层 ...
- drf框架知识点总复习
接口 """ 1.什么是接口:url+请求参数+响应数据 | 接口文档 2.接口规范: url:https,api,资源(名词复数), v1,get|post表示操作资源 ...
- 埃拉托色尼(Eratosthenes)筛法
用筛选法求1—100之内的素数(此法难度的话,方法可以不界定:能完成求1—100之内的素数即可). 在一张纸上写上1到100全部整数,然后逐个判断它们是否是素数,找出一个非素数,就把它挖掉,最后 ...
- 884A. Book Reading#抽空学习好孩子(模拟)
题目出处:http://codeforces.com/problemset/problem/884/A 题目大意:每天时间分两部分,工作和学习,工作优先,闲暇读书,问第几天读完 #include< ...
- JavaScript学习笔记 - 进阶篇(3)- 流程控制语句
if语句 if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件) { 条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位,如果你会HTM ...
- PHP系列 | ThinkPHP5.1 如何自动加载第三方SDK(非composer包 )
注意:这里只是针对于非Composer 安装包的自动加载的实现,能用composer安装的自动跳过. 由于ThinkPHP5.1 严格遵循PSR-4规范,不再建议手动导入类库文件,所以新版取消了Loa ...
- [Python]安装和运行flask框架
随着你的 Python 项目越来越多,你会发现不同的项目会需要 不同的版本的 Python 库.同一个 Python 库的不同版本可能不兼容.虚拟环境可以为每一个项目安装独立的 Python 库,这样 ...
- shell并行处理
for i in (file1 file2 file3), do process_a $i | tee process_a $i_a.txt | process_b > $i_b.txt &am ...
- js时间与日期
var box = new Date(); //创建了一个日期对象:构造方法里面可以传参数,指定时间.如果没有传,就是默认当前时间alert(box); alert(Date.parse('4/12/ ...
- Django的View(视图)-settings源码的解析-模板层-模板语法
FBV与CBV 视图函数并不只是指函数,也可以是类 FBV:基于函数的视图,类似面向函数式编程 CBV:基于类的视图,类似面向对象编程 研究解析render源码: render:返回html页面:并且 ...