app端自动化POM

本文介绍了POM(页面对象模型)在UI自动化测试中的应用,阐述了POM设计原理,并详细讲解了POM的一般分为四层结构:BasePage、PageObject、Testcase和TestData。通过具体的代码实现,包括非PO模型和PO模型操作,演示了如何在夜神模拟器中进行QQ登录。此外,文章还讨论了如何引入yaml文件进行数据驱动和优化代码的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、POM及POM设计原理

POM(page object model)页面对象模型,主要应用于UI自动化测试框架的搭建,主流设计模式之
一,页面对象模型:结合面向对象编程思路:把项目的每个页面当做一个对象进

二、POM一版分为四层

第一层:basepage层:描述每个页面相同的属性及行为
第二层:pageobject层(每个的独有特征及独有的行为)
第三层:testcase层(用例层,描述项目业务流程)
第四层:testdata(数据层)

三:代码实现

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(

2.po模型操作

1). basepage(封装公共的属性和行为)

from selenium.webdriver.support.wait import WebDriverWait
 
class BasePages:
    def __init__(self, driver):
        self.driver = driver
    # 元素定位
    def locator(self, *loc):
        return self.driver.find_element(*loc)
    # 清空
    def clear(se
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值