测试一款安卓app,茄子医生
主要测试了四个模块
第一个模块:四个引导页,我们测试是否可以点击跳过,点击跳过后是否能够找到体验按钮
第二个模块:就是登陆模块,简单的测试一下
第三模块:就是日历模块,日历模块看数字是否和今天的日期一致
第四个模块:就是模拟添加预约模块的流程
不多说了,上代码,在这里我用的是mvc封装写的
工具类,方便调用,创建util包
apputil.py
#-*- coding:utf-8 -*- # 导入appium from appium import webdriver # 导入time包 import time # 导入枚举 from enum import Enum # 倒包 from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 声明类 class Apputil(object): # 类被实例化的时候init def __init__(self): # pep8 规范 # 将配置参数封装进来 self.qiezi = {} # 打开客户端的方法 def app_start(self): # 设置属性 设置手机类型 self.qiezi['platformName'] = "Android" # 设置自动化测试工具 self.qiezi['automationName'] = "Appium" # 设置手机唯一识别码 self.qiezi['deviceName'] = "emulator-5554" # 设置本地app加载的路径 self.qiezi['app'] = "/Users/yuliguo/Desktop/com.qiezzi.eggplant.apk" # 是不是需要重写安装, True 不需要重新安装 False 需要重新安装 self.qiezi['noReset'] = "false" # 设置启动的包名 self.qiezi['appPackage'] = "com.qiezzi.eggplant" # 设置需要运行的手机的版本号 self.qiezi['platformVersion'] = "4.4" # 设置启动页面的activity self.qiezi['appActivity'] = "com.qiezzi.eggplant.base.WelcomeActivity" # 设置等待启动的页面的包名 self.qiezi['appWaitPackage'] = "com.qiezzi.eggplant" # 设置等待启动的页面的activity self.qiezi['appWaitActivity'] = "com.qiezzi.eggplant.base.WelcomeActivity" # 禁用软件盘 # 使用 unicode 输入法 self.qiezi['unicodeKeyboard'] = True # 禁用软件盘 self.qiezi['resetKeyboard'] = True # 将手机启动起来 self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",self.qiezi) #设置休眠五秒 self.TimeSleep(ENUMS.FIVE_TIME) pass # 关闭客户端的方法 def app_quit(self): # 关闭方法 self.driver.quit() pass # 关闭当前窗口 def app_close(self): # 关闭当前窗口 self.driver.close() pass # 使用休眠方法 强制休眠 def TimeSleep(self,number): time.sleep(number) pass # 隐式休眠 def TimeImplay(self,number): self.driver.implicitly_wait(number) # 通过id查找 # 查找控件 def FindID(self,ID): # 通过id ids = (By.ID,ID) # 休眠检查元素 WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(ids)) # 开始查找 return self.driver.find_element_by_id(ID) # 设置点击事件 def ClickID(self,ID): self.FindID(ID).click() # 输入内容 def SendkeysID(self,ID,message): self.FindID(ID).send_keys(message) #查找一组控件 def FindIDs(self,ID): ids=(By.ID,ID) WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(ids)) return self.driver.find_elements_by_id(ID) #通过下表点击第一个 def ClickIDs(self,ID,index): self.FindIDs(ID)[index].click() #从一个活动到另外一个 def swith_to_element(self,e1,e2): #从e1滑动到e2 self.driver.scroll(e1,e2) pass # 通过xpath查找