您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > Appium手机自动化测试
Appium手机自动化测试手机自动化测试简介•何为手机测试?•什么是手机自动化测试?•我们要做什么?为什么要进行手机自动化测试测试开发•移动互联网越来越重•用户体验要求比较高•应用稳定性要好•回归测试变成每日的必须执行的•评估被测试对象•选择测试框架和语言•搭建自动化测试环境•设计自动化测试架构•编写自动化测试代码•组织自动化测试用例如何做好手机自动化测试ADB简介•adb的全称为AndroidDebugBridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。•DDMS的全称是DalvikDebugMonitorService,是Android开发环境中的Dalvik虚拟机调试监控服务。•命令位置SDK文件夹下的platform-tool文件夹中,adb.exe或是adbADB简介•ADB常用命令讲解(1)查看设备adbdevices-l显示连接到电脑上的手机信息。(2)安装软件adbinstallapk文件路径这个命令将指定的apk文件安装到连接到的设备上。(3)卸载软件adbuninstall应用名adbuninstall-k应用名如果加-k参数,为卸载应用但是保留配置和缓存文件.ADB简介(4)从电脑上发送文件到设备adbpush本地路径远程路径用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)(5)从设备上下载文件到电脑adbpull远程路径本地路径用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑(6)无线连接设备adbconnectIP:端口号,手机需要安装:wirelessADB自动化测试框架简介•Monkey------压力测试•MonkeyRunner--------提供API•Instumentation--------提供函数•AndroidCTS--------兼容性测试自动化测试框架简介•Robotium----黑盒自动化测试,模拟手势操作。-----android+java-----Robotium示例展示•AppiumAppium是一个开源、跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持iOS,Android和FirefoxOS平台。Appium驱动苹果的UIAutomation库和Android的UiAutomator框架,使用Selenium的WebDriverJSON协议。Appium环境搭建(1)安装JDK(2)安装Node.js(3)安装ADT下载地址:=sk设置ANDROID_HOME(4)联网安装appium•npminstall–gappium或者•npm--registry•运行appium-doctor检查是否安装成功Appium环境搭建(5)Python安装python2.7(6)Eclipse中安装pydev插件PyDev,Location是(7)安装seleniumpipinstallselenium-i(8)安装appium-python-clientpipinstallAppium-Python-Client自动化测试架构的设计•编写自动化测试之前应考虑的问题:(1)自动化测试用例的用途(2)测试用例的规模(3)团队开发还是个人开发?(4)后期由谁来维护?(5)自动化测试用例的交接自动化测试架构的设计•分层结构设计(1)通用函数层(2)测试用例层(3)测试数据层(4)测试用例组织层APP查看元素(1)App元素查看方法A,uiautomatorviewer•将手机链接到电脑•打开被测试的App•打开android-sdk文件夹下的tools中的uiautomatorviewer•在打开的界面上,单击左上角的“Devicescreenshot”按钮•此时就可以查看各个元素APP查看元素APP查看元素B,Appium查看元素•启动Appium客户端•设置Androidsetting•Lanch,启动连接•单击Inspector按钮,查看手机App•单击AppiumInspector中的元素,查看元素信息APP查看元素APP查看元素(2)Selenium元素定位简介A,属性定位:name,id,class,linktext,tagNameB,xpath定位//form[@id='loginForm']/input[1]C,cssSelector定位buttonid=J_sidebar_loginclass=btnbtn_bigbtn_submittype=submit登录/buttonBy.cssSelector(‘css.btn.btn_big.btn_submit’)APP查看元素(3)App元素定位A,通过resource_id定位driver.find_element_by_id(“resource_id”)B,通过class定位driver.find_elements_by_class_name(“classname”)C,通过xpath定位driver.find_element_by_xpath(“xpath”)//android.widget.TextView[@text=“我的订单”](4)元素定位注意事项A,首选页面元素唯一的属性B,通过class定位的时候,要注意相同class的序号问题C,xpath定位比较灵活,要合理使用D,善于尝试,灵活使用各种定位方法E,思维开阔,合理选择检测点App查看元素一,第一个测试用例讲解:例子:众筹网登录测试!测试步骤:(1)打开众筹网app(2)输入用户名和密码(3)点击登录按钮,登录app(4)检测登录是否成功编写测试代码Demo!!!Appium示例讲解Appium示例讲解指定程序与手机的联系•desired_caps={}•desired_caps['device']='android’•desired_caps['platformName']='Android'•desired_caps['browserName']=''•desired_caps['version']='4.4.2'•desired_caps[‘deviceName’]=‘HM_2A’#小米•desired_caps['app']=PATH('/Users/dragonking/Documents/UIAutomationTest/ZhongChouAppTest/app/zhongchou.apk')•DRIVER=webdriver.Remote(')Appium示例讲解Appium示例讲解Appium与手机建立关联:#appium-a127.0.0.1-p4723–U4ca1558c--no-resetAppium示例讲解二,自动化测试系统编写二,自动化测试系统编写(1)通用函数的规划----不可能一下子写出所有的函数----编写每一个函数的时候都要考虑到通用性----通用函数注释必须清楚----要经常维护Appium示例讲解Appium示例讲解(2)测试用例的规划----一类测试用例一个文件----测试用例为读取测试数据,调用公用函数,判断执行结果-----每个测试用例文件中的测试用例不要超过三个。-----检测性测试用例和操作性测试用例不要写在一起。(3)测试数据-----以xml来组织测试数据-----一个测试用例的数据以一个节点来组织-----测试节点中以name来注释测试数据Appium示例讲解(4)测试用例组织----根据业务需要来组织测试用例----测试环境下全量运行-----线上回归测试不能产生测试数据Appium示例讲解使用HTMLTestRunner方法:A,下载HTMLTestRunner.py文件:地址将该文件保存在python安装路径下的lib文件夹中。在文件中能importHTMLTestRunner成功,即配置成功。C,使用suite=unittest.TestSuite()suite.addTest(LoginTest('test_login'))…….Appium测试报告生成•filename=“./xxx.html”#定义个报告存放路径,支持相对路径。•fp=file(filename,'wb')•runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title='Report_title',description='Report_description')#使用HTMLTestRunner配置参数,输出报告路径、报告标题、描述•runner.run(testunit)#自动进行测试Appium测试报告生成•Jenkins的使用(1)jenkins的配置(2)将我们的自动化接入到jenkins中A,将编写好的代码放到SVN或是git上B,创建jobC,在源码管理中添加自己的代码路径D,添加构建命令,如:python.\src\testSuit\testSuit_zhongchou_all.py持续化集成持续化集成E,构建JobF,查看执行结果持续化集成•Jenkins高级设置(1)定时执行测试用例持续化集成•Jenkins高级设置(2)触发式构建•Jenkins高级设置(3)构建失败后发邮件•Jenkins高级设置(4)发送短信---------发短信的接口---------分析执行结果-------失败发短信通知(1)获得公司重视-----发送测试报告给领导-----定时反馈发现的问题(2)培养团队成员-----定时给团队成员培训-----全员参与自动化测试持续的其他因素Appium接口自动化的思考(1)Appium对IOS的自动化测试(2)Appium测试报告的美化(3)大型测试平台的开发(4)Appium+Java自动化测试的实现谢谢
本文标题:Appium手机自动化测试
链接地址:https://www.777doc.com/doc-3526258 .html