Appium自动化测试框架构建
Appium简介
Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持iOS、Android及FirefoxOS平台测试。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。
相比其他的移动自动化测试工具,Appium测试由于调用了Selenium的client库使其可以使用任意的语言,包括Python、Ruby、Node.js、Objective-C等。
Appium下载与安装
可以去官方下载也可去github下,目前最新的是0.17.6版。当然国内的网盘里也有,这样就不用fan.qiang了。下载后解压即可使用,很方便。
目前的Appium版本需.net4.5及以上支持,故要想使用Appium还需安装.net4.5.1,可以去微软下载.net4.5.1,当然网盘里也有了,呵呵。
由于Appium使用了Selenium来进行自动化测试,所以还需安装Selenium,网盘里有下载,Selenium下载地址。下载后解压,切换目录到解压目录,然后执行python setup.py install即可安装Selenium,当然如果您熟悉pip 也可以用pip install Selenium来安装。
安装、配置Android模拟器
我们打算在模拟器上使用appium进行自动化测试,故首先得下载安装android开发环境,IDE开发环境配置好以后就可以通过eclipse创建一个android手机模拟器了。
下载JDK与配置JDK
下载JDK,下载之后双击压缩包并安装,一路默认下去即可完成,jdk安装到了C:Java目录下了,其下有两个文件夹jdk1.6.0_13和jre6。
配置jdk比较简单将C:Javajdk1.6.0_13bin目录添加到系统环境变量path里,记住前加分号,之后确认即可。
怎样测试java是否配置好?cmd之后键入java -verison
下载android开发环境ADT-bundle
可以去Google下载也可以去网盘下载android的集成开发环境。下载后解压到c:android目录下就行了。
配置ADT
将解压目录下的sdk下的tools和platform-tools目录添加到系统环境变量path里,记住前加分号,之后确认即可。
怎样测试android的ADT是否配置好?进入c:androideclipse目录双击eclipse.exe,看能否正常启动、使用。
新AVD模拟器
启动eclipse,点击Eclipse软件的Windows菜单,选择其下的Android Virtual Device Manager菜单项,进入Android Virtual Device Manager其对话框后,点击左侧New按钮可新建android手机模拟器。在Create new Android Virtual Device Manager对话框的name文本框内给要创建的模拟器起个名字,例如testAVD01。在Device列表框内选择2.7 QVGA 240 X320 ldpi,在选择了Device后,target列表框自动选择了android 4.4 API Level 19{现在已安装的开发环境里只有一套API,读者可自行安装其他API,届时可任选其他API作为自己测试平台}默认即可,其他选项此时可以不做选择默认设置即可,点击对话框的OK按钮确认,即可创建Android 模拟器。
启动android模拟器
cmd之后键入 emulator @testAVD01,等待数秒之后android手机模拟器启动。
安装、配置Python
这步比较简单,下载Python后默认安装即可。配置只需把c:python27目录加到系统环境变量path后即可,记住前加分号。cmd之后键入python如果见到3个大于号即证明python安装配置成功。Appium自动化测试流程
启动android手机模拟器
cmd之后键入 emulator @testAVD01,等待数秒之后android手机模拟器启动。
另起一个cmd键入adb devices查看模拟器是否正常启动了。
启动Appium
进入appium解压目录,双击appium.exe文件,点击launch即可。
基于Appium的Python自动化测试
编写代码
from selenium import webdriver # Returns abs path relative to this file and not cwd PATH = lambda p: os.path.abspath( os.path.join(os.path.dirname(__file__), p) ) desired_caps = {} desired_caps['device'] = 'android' desired_caps['browserName'] = '' desired_caps['version'] = '4.2' desired_caps['app-package'] = 'com.android.calculator2' desired_caps['app-activity'] = '.Calculator' driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 点击计算器上的数字和运算符 el = driver.find_element_by_name("1") el.click() el = driver.find_element_by_name("5") el.click() el = driver.find_element_by_name("9") el.click() el = driver.find_element_by_name("delete") el.click() el = driver.find_element_by_name("9") el.click() el = driver.find_element_by_name("5") el.click() el = driver.find_element_by_name("+") el.click() el = driver.find_element_by_name("6") el.click() el = driver.find_element_by_name("=") el.click() driver.quit()
执行代码
另起cmd,切到python代码所在目录,执行python xxx.py即可见模拟器在被操作了。
最新内容请见作者的GitHub页:http://qaseven.github.io/

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
香港金管局:黑客突袭香港银行偷钱
据头条财经网报道,较早前孟加拉国央行及其他海外银行遭黑客入侵,利用环球银行金融电讯协会(SWIFT)的系统盗走资金。香港金管局副总裁阮国恒昨日表示,金管局已就此向本港银行作出跟进,发现有一、两宗怀疑个案,目前仍在了解中,而至今香港银行并未出现遭成功入侵个案。SWIFT将于明日公布有关安全计划。 SWIFT为全球多国金融机构使用的通讯系统。对于SWIFT系统连接出现被黑客入侵个案,阮国恒指出,金管局已就此接触SWIFT,暂时所得资料仍未太清晰,据了解主要涉及恶意软件植入计算机系统,并同时突破内部监控所造成。至今香港银行并未出现遭成功入侵的个案,只有一些怀疑个案,惟未知是否与SWIFT有关。 香港金管局业务操作、科技及财资风险监理处主管李伟文补充说,暂时怀疑个案有一两宗,而在孟加拉国央行出事后不久,金管局已提醒银行。 阮国恒指,目前未见本港银行出现保安漏洞,但上述事件发生后已要求银行审视其系统,确保是否有足够监控程序防范恶意软件入侵;一旦被入侵,有何应对措施。暂时事件并未引起大太关注。 SWIFT行政总裁莱布兰特(Gottfried Leibbrandt)日前在一个金融服务会议上表示,该协...
- 下一篇
OneDrive明年上半年的发展路线图公布
今年的Ignite峰会上,微软公布了诸多关于OneDrive的好消息。除了本站昨天提及的On-Demand Sync(按需同步,此前名为OneDrive PlaceHolders)功能重新回归之外,在公布的2017年上半年的发展路线图中我们可以发现移动端将会带来离线文件夹,iOS和Android端将会带来全新UX,“Office Instant Previewer”功能等等。 在Ignite大会的其中一个Session上,微软公布了这个路线图,计划明年为终端用户和IT专家提供大量功能。商业用户可能最为激动的就是整合SharePoint,全新的网页UX,和在Windows 和Android平台上访问SharePoint On-Prem,Windows平台的文件活动视图等等。 本文转自d1net(转载)
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路