Appium环境的安装与配置_Python版
2016-04-25 17:51
393 查看
一、安装Python
Appium Client是对webdriver原生api的一些扩展和封装。它可以帮助我们更容易的写出用例,写出更好懂的用例。 Appium Client是配合原生的webdriver来使用的,因此二者必须配合使用缺一不可。在本文档的开始已经介绍Appium支持多种编程语言编写自动化测试脚本,由于我个人熟悉Python语言,所以选择Python语言来编写自动化测试脚本。
访问Python官方网站:https://www.Python.org/下载最新版本的Python2,截止作者发稿,最新版本为Python2.7.10版本。读者根据自己的平台选择相应的版本进行下载;对于Windows用户来说,如果你的系统是32位的请选择x86版本,如果是64位系统请选择64版本进行下载。下载完成会得到一个以.msi为后缀名的文件,双击进行安装。如图2.1。
pip是一个安装和管理Python包的工具,通过pip去安装Python包将变得十分简单,我们将省去了搜索--查找版本--下载--安装等繁琐的过程
推荐通过pip进行安装“Appium-Python-Client”。
--------------------------------------------------------------------------------------
C:\package\setuptools-7.0>pipinstall Appium-Python-Client
--------------------------------------------------------------------------------------
二、安装Android及appium
· 安装jdk,安装好后将jdk相关目录加入环境变量,以我的为例:
将 C:\Program Files (x86)\Java\jdk1.6.0_45\bin 加入path 系统变量
将 C:\Program Files (x86)\Java\jdk1.6.0_45\lib 加入classpath 变量(没有classpath的话自己新建)
· 下 载adt-bundle-windows-x86-20130522(版本可选)并解压,这是个集成了android sdk 的集成开发环境,对于开发android程序很方便。我们的自动化测试主要用到的是其中集成的android sdk,但是为了方便阅读相关代码,这个工具是比较好的一个选择。也可以直接下载android sdk
解压后的目录为(以我为例):D:\adt-bundle-windows-x86-20130522
添加环境变量,将D:\adt-bundle-windows-x86-20130522\sdk\tools目录以及D:\adt-bundle-windows-x86-20130522\sdk\platform-tools
添加至path系统变量
· 安装node.js,去node.js官网下载msi格式的安装文件,下载后安装
1) 下载并安装Node.js http://nodejs.org/dist/v0.10.35/node-v0.10.35-x86.msi
2) 把Node.js的安装路径(也就是node.exe文件所在的目录)添加到环境变量Path
· 安 装appium。 node.js安装成功后打开命令行,输入npm install –g appium 命令安装appium,安装完成后在命令行中输入 appium-doctor 检验appium的运行环境是否正常,如果有错误,对照错误解决即可,下图说明appium的android运行环境配置成功:
三、实例
1、启动appium及连接Android机
#coding=utf-8
from appium import webdriver
import unittest,time
class CalTest(unittest.TestCase):
def setUp(self):
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.3'
desired_caps['deviceName'] = 'Android Emulator'
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = '.Calculator'
self.driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
def tearDown(self):
self.driver.quit()
def test_add_aa(self):
time.sleep(5)
self.driver.find_element_by_name("1").click()
self.driver.find_element_by_name("5").click()
self.driver.find_element_by_name("9").click()
self.driver.find_element_by_name("delete").click()
self.driver.find_element_by_name("9").click()
self.driver.find_element_by_name("5").click()
self.driver.find_element_by_name("+").click()
self.driver.find_element_by_name("6").click()
#self.driver.find_element_by_name(name).send_keys()
self.driver.find_element_by_name("=").click()
#ela =self.driver.find_element_by_android_uiautomator('newUiSelector().description("Animation")')
#self.assertIsNotNone(ela)
#els=self.driver.find_elements_by_android_uiautomator('new UiSelector().clickable(true)')
#self.assertIsInstance(els, list)
#el1=self.driver.find_element_by_accessibility_id('Animation')
#self.assertIsNotNone(el1)
el=self.driver.find_element_by_class_name("android.widget.EditText").text
#text=el.__getattribute__('text')
self.assertEqual("1601",el)
self.driver.lock(10)
els=self.driver.find_elements_by_class_name('android.widget.TextView')
self.driver.scroll(els[len(els)-1], els[0])
el =None
try:
el =self.driver.find_element_by_accessibility_id(0)
except Exception as e:
els =self.driver.find_elements_by_class_name(id)
self.driver.scroll(origin_el, destination_el)
if el is None:
el =self.driver.find_element_by_accessibility_id(id)
el.click()
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(CalTest)
unittest.TextTestRunner(verbosity=2).run(suite)
Appium Client是对webdriver原生api的一些扩展和封装。它可以帮助我们更容易的写出用例,写出更好懂的用例。 Appium Client是配合原生的webdriver来使用的,因此二者必须配合使用缺一不可。在本文档的开始已经介绍Appium支持多种编程语言编写自动化测试脚本,由于我个人熟悉Python语言,所以选择Python语言来编写自动化测试脚本。
访问Python官方网站:https://www.Python.org/下载最新版本的Python2,截止作者发稿,最新版本为Python2.7.10版本。读者根据自己的平台选择相应的版本进行下载;对于Windows用户来说,如果你的系统是32位的请选择x86版本,如果是64位系统请选择64版本进行下载。下载完成会得到一个以.msi为后缀名的文件,双击进行安装。如图2.1。
pip是一个安装和管理Python包的工具,通过pip去安装Python包将变得十分简单,我们将省去了搜索--查找版本--下载--安装等繁琐的过程
推荐通过pip进行安装“Appium-Python-Client”。
--------------------------------------------------------------------------------------
C:\package\setuptools-7.0>pipinstall Appium-Python-Client
--------------------------------------------------------------------------------------
二、安装Android及appium
· 安装jdk,安装好后将jdk相关目录加入环境变量,以我的为例:
将 C:\Program Files (x86)\Java\jdk1.6.0_45\bin 加入path 系统变量
将 C:\Program Files (x86)\Java\jdk1.6.0_45\lib 加入classpath 变量(没有classpath的话自己新建)
· 下 载adt-bundle-windows-x86-20130522(版本可选)并解压,这是个集成了android sdk 的集成开发环境,对于开发android程序很方便。我们的自动化测试主要用到的是其中集成的android sdk,但是为了方便阅读相关代码,这个工具是比较好的一个选择。也可以直接下载android sdk
解压后的目录为(以我为例):D:\adt-bundle-windows-x86-20130522
添加环境变量,将D:\adt-bundle-windows-x86-20130522\sdk\tools目录以及D:\adt-bundle-windows-x86-20130522\sdk\platform-tools
添加至path系统变量
· 安装node.js,去node.js官网下载msi格式的安装文件,下载后安装
1) 下载并安装Node.js http://nodejs.org/dist/v0.10.35/node-v0.10.35-x86.msi
2) 把Node.js的安装路径(也就是node.exe文件所在的目录)添加到环境变量Path
· 安 装appium。 node.js安装成功后打开命令行,输入npm install –g appium 命令安装appium,安装完成后在命令行中输入 appium-doctor 检验appium的运行环境是否正常,如果有错误,对照错误解决即可,下图说明appium的android运行环境配置成功:
三、实例
1、启动appium及连接Android机
#coding=utf-8
from appium import webdriver
import unittest,time
class CalTest(unittest.TestCase):
def setUp(self):
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.3'
desired_caps['deviceName'] = 'Android Emulator'
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = '.Calculator'
self.driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
def tearDown(self):
self.driver.quit()
def test_add_aa(self):
time.sleep(5)
self.driver.find_element_by_name("1").click()
self.driver.find_element_by_name("5").click()
self.driver.find_element_by_name("9").click()
self.driver.find_element_by_name("delete").click()
self.driver.find_element_by_name("9").click()
self.driver.find_element_by_name("5").click()
self.driver.find_element_by_name("+").click()
self.driver.find_element_by_name("6").click()
#self.driver.find_element_by_name(name).send_keys()
self.driver.find_element_by_name("=").click()
#ela =self.driver.find_element_by_android_uiautomator('newUiSelector().description("Animation")')
#self.assertIsNotNone(ela)
#els=self.driver.find_elements_by_android_uiautomator('new UiSelector().clickable(true)')
#self.assertIsInstance(els, list)
#el1=self.driver.find_element_by_accessibility_id('Animation')
#self.assertIsNotNone(el1)
el=self.driver.find_element_by_class_name("android.widget.EditText").text
#text=el.__getattribute__('text')
self.assertEqual("1601",el)
self.driver.lock(10)
els=self.driver.find_elements_by_class_name('android.widget.TextView')
self.driver.scroll(els[len(els)-1], els[0])
el =None
try:
el =self.driver.find_element_by_accessibility_id(0)
except Exception as e:
els =self.driver.find_elements_by_class_name(id)
self.driver.scroll(origin_el, destination_el)
if el is None:
el =self.driver.find_element_by_accessibility_id(id)
el.click()
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(CalTest)
unittest.TextTestRunner(verbosity=2).run(suite)
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法