一:POM及POM设计原理
POM(page object model)页面对象模型,主要应用于UI自动化测试框架的搭建,主流设计模式之一,页面对象模型:结合面向对象编程思路:把项目的每个页面当做一个对象进行编程
python基础:什么对象
python中对象= 属性+行为 通过类定义=具有相同属性+相同行为对象集合
二:POM一版分为四层
第一层:basepage层:描述每个页面相同的属性及行为
第二层:pageobject层(每个的独有特征及独有的行为)
第三层:testcase层(用例层,描述项目业务流程)
第四层:testdata(数据层)
三:代码实现
3.1:非po模型(夜神中qq登录)
from appium import webdriver
caps = {}
caps["platformName"] = "Android"
caps["deviceName"] = "127.0.0.1:62001"
caps["appPackage"] = "com.tencent.mobileqq"
caps["appActivity"] = "com.tencent.mobileqq.activity.LoginActivity"
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
driver.implicitly_wait(30)
#导航界面
el2 = driver.find_element_by_id("com.tencent.mobileqq:id/btn_login")
el2.click()
#登录界面
el3 = driver.find_element_by_accessibility_id("请输入QQ号码或手机或邮箱")
el3.clear()
el3.send_keys("766603163")
el4 = driver.find_element_by_accessibility_id("密码 安全")
el4.clear()
el4.send_keys("lly19891024lly")
el5 = driver.find_element_by_accessibility_id("登 录")
el5.click()
3.2:po模型操作
3.2.1:basepage(封装公共的属性和行为)
from appium.webdriver.common.touch_action import TouchAction
class BasePages:
def __init__(self,driver):
self.driver = driver
#元素定位
def locator(self