一、项目:去哪儿app
一、需求
1、熟悉业务
手动操作几遍,了解业务流程。
2、编写功能测试用例
3、分析
1)首先熟悉业务操作,分析哪些控件可以正常识别,哪些吧可以识别。以上要求主要用click事件,对文本赋值,获取值等方法。
2)编写脚本:先实现功能,再优化
3)获取包名和activity:com.Qunar;com.mqunar.splash.SplashActivity。
4)启动app,如安装的不是最新版本会出现“软件更新”提示。需要先关闭该窗口,才可以进行下一步操作。
二、定位元素
1、工具:使用sdk->tools下面的uiautomatorviewer.bat定位元素
1)工具增强,默认的uiautomatorviewer.bat无法识别xpath,可以下载增强版uiautomatorviewer.jar,将下载的jar包放在”xxxsdk oolslib”下,重启uiautomatorviewer.bat即可。
2)注意,启动uiautomatorviewer.bat之前需要关闭appium
三、编写脚本
这里使用工具pycharm
1 #coding=utf-8 2 from appium import webdriver 3 import time 4 5 desired_caps = {} 6 desired_caps['platformName'] = 'Android' 7 desired_caps['platformVersion'] = '5.1' 8 desired_caps['deviceName'] = '6T3HMU162P007147' 9 desired_caps['appPackage'] = 'com.Qunar'#被测app包名 10 desired_caps['appActivity'] = 'com.mqunar.splash.SplashActivity'#被测app的activity 11 desired_caps['unicodeKeyboard'] = True #绕过系统自带的键盘 12 desired_caps['resetKeyboard'] = True 13 desired_caps['newCommandTimeout'] = 7200 14 15 driver = webdriver.Remote('http://127.0.0.1:4725/wd/hub', desired_caps)#启动app 16 time.sleep(15)#增加等待时间,否则可能报错,找不到元素 17 18 driver.find_element_by_id('com.mqunar.atom.alexhome:id/atom_alexhome_mod_bus_ticket').click() 19 time.sleep(5)
四、启动appium
1、注意:如果按照node,4723端口有可能被占用,需要修改appium端口。
五、运行脚本