您当前所在位置:ag旗舰厅 > 热门新闻 >

APP自动化测试神器之Appium

Appium is an open source test automation framework for use with native, hybrid and mobile web apps. It drives iOS, Android, and Windows apps using the WebDriver protocol。Appium是一个开源测试自动化框架,可用于原生,同化和移动Web行使程序测试。 它行使WebDriver制定驱动iOS,Android和Windows行使程序。

一、Appium简介

Appium实现APP自动化测试的脚本开发环境清淡包括:

appium 服务端appium客户端手机或者模拟器

1、appium服务端版本分为三栽

appium GUI版本,桌面形态,win上更新到了1.4.16(不声援录制),mac上更新到了1.5.x(声援录制),现在均不再维护,GUI版本跟appium版本逐一对答appium 命令走版本,不管是win照样mac,安置这栽形态的就异国界面,npm -g 安置手段都是install appium,默认会安置现在最新版本appium desktop版本,属于新的桌面形态的appium版本,有界面,能够配置各项参数,能够启动inspect查望手机界面元素;不管是win照样mac下现在都声援浅易的录制操作,appium desktop的版本和appium的版本并不是逐一对答,下载地址https://github.com/appium/appium-desktop/releases/

2、appium客户端

迥异说话对答迥异的appium客户端柔件

3、Appium的做事原理

appium是一款开源的,跨平台的UI自动化测试工具,适用于测试原生的或者同化型的移动APP,声援IOS,Android,Firefox OS等平台,同时该框架声援JAVA,Python,PHP等说话编写的测试脚本。

二、appium开发环境安放(python环境)

倘若想平常行使python+appium进走脚本开发,必要安放下面的环境,本文选择行使最新的1.15.1版本。

Node.js(node-v10.16.3-x64.msi)Appium server(appium-desktop-Setup-1.15.1.exe)JDK(JDK1.8)Andriod SDK(adt-bundle-windows-x86_64.zip)模拟器(或真机)python3.6visual studio code

1、 安置Node.js

Appium是行使nodejs实现的,以是node是注释器,最先必要确认安置益,并且吾们能够行使nodejs中的包管理工具npm进走有关插件的下载安置。

直接下载nodejs最新安置包node-v10.16.3-x64.msi,点击安置即可,无需稀奇仔细。

作者是自定义安置在D:/node下了,并且将该现在录添入环境变量path中:

2、安置Appium server

静默安置即可,无需稀奇竖立,安置后启动桌面appium图标。

3、安置JDK8

下载JDK8安置包并安置,直接点击下一步....即可完善安置,默认安置在C:\Program Files\Java路径下。

必要竖立Java的环境变量,如下图所示。

4、Andriod SDK的安置

下载adt-bundle-windows-x86_64.zip,直接解压即可行使。

必要配置两个路径到环境变量path中。

5、安置模拟器或者直一连接Android手机

模拟器能够选择主流的itools、夜神或者海马模拟器,在行使的时候启动即可,也能够直一连接Android手机设备到PC。

验证Androi模拟器或者真机是否连接上ADB

6、python安置

官网下载python3.7.x的版本:https://www.python.org/,下载windows版本的可实走版安置包到本地。Python 安置,体验傻瓜相通的快感,路径不爱能够在Customize installation中自定义更改;勾选add python 3.7 to path,省往配置环境变量的麻烦,爽爽哒,贴心哒。按 Win+R 键,输入 cmd 调出命令挑示符,输入 python,确认是否成功

7、安置appium客户端柔件

直接在cmd窗口输入:pip3 install Appium-Python-Client倘若从官方的资源库下载Appium-Python-Client战败,请自走更换下载源重新下载。在命令走输入"pip3 install Appium-Python-Client -i http://pypi.douban.com/simple"重试

8、安置IDE工具visual studio code

下载最新版本vscode并启动必要安置三个声援插件,才能进走python脚本的开发第一次运走python文件会在右下角挑示安置plint,点击安置后,重启vscode,再次运走,在限制台输出如下终局,则python开发环境完善。

9、环境总结

议决上面的竖立,吾们就具备了行使appium进走python说话下的脚本开发啦,后续会不息给行家更新关于Appium的脚本开发的文章。

三、第一个python自动化脚本

捉虫布道人:APP自动化测试神器之Appium-页面元素的查望及定位捉虫布道人:APP自动化测试神器之Appium-Capability的用法

1、测试用例

下面吾们就来着手实现QQ轻聊版本行使的登录营业脚本的开发和运走。

掀开android模拟器上的qq行使点击始页上的登录按钮在登录页面输入用户名和暗号点击登录按钮滑动条状验证码进走验证(倘若有的话)登录qq账号成功

2、脚本开发步骤

新建Python文件创建unittest单元测试类,并增补setup及teardown函数对类MyTestCase增补setUp函数(这是测试用例实走前的准备行为,负责通知appium监听谁人端口、与谁人手机连接、安置谁人行使等新闻)对类MyTestCase增补TearDown函数(这是测试用例实走终结后的行为,能够实走保存实走终局等操作)增补test起头的手段,编写自动化测试用例

3、实现的脚本

import unittestimport seleniumimport timefrom appium import webdriver class MyTestCase(unittest.TestCase):    def setUp(self):        # super().setUp()        print('selenium version = ', selenium.__version__)        desired_caps = {}        desired_caps['platformName'] = 'Android'        desired_caps['platformVersion'] = '5.1.1'        desired_caps['deviceName'] = 'Android Emulator'        desired_caps['appPackage'] = 'com.tencent.qqlite'        desired_caps["noReset"]=True        desired_caps['appActivity'] = 'com.tencent.mobileqq.activity.SplashActivity'        self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)      def testQQLogin(self):        time.sleep(2)        self.driver.find_element_by_id("com.tencent.qqlite:id/btn_login").click()        time.sleep(5)        self.driver.find_element_by_xpath('//android.widget.EditText[@content-desc="请输入QQ号码或手机或邮箱"]').send_keys("2572652583")        time.sleep(5)        self.driver.find_element_by_id('com.tencent.qqlite:id/password').send_keys("123456789")        time.sleep(5)        self.driver.find_element_by_id('com.tencent.qqlite:id/login').click()    def tearDown(self):        self.driver.quit()  if __name__ == '__main__':    unittest.main()

4、运走测试脚本

脚本的运走造就https://www.zhihu.com/video/1250126091668942848

除此之表,幼编还录制了不少这方面的技术视频,知友倘若有必要,能够私聊本幼编获取哦!

迎接关注作者,倘若觉得写的还不错,就给点个赞许、爱、珍藏(后续不息更新)。

【全文手打 如需转载 请标注此出处】