App-UI自动化测试-PO模式/组件化封装

本文介绍了在App UI自动化测试中如何应用PO模式,通过示例展示了home_page.py、login_page.py和user_page.py的代码结构。同时,提出了组件化封装的思想,特别是对底部菜单栏的封装,以简化代码和提高维护性。通过创建Menu类,使home_page和user_page可以直接继承,降低了代码冗余。

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

1.PO模式

具体什么是PO模式就不用详细介绍了,web自动化测试已经介绍过了,详细内容可参考此篇文章中的4.3.2UI自动化测试介绍_晒不黑的黑煤球的博客-优快云博客_ui自动化测试

我这里新建了三个模块home_page.py(首页),login_page.py(登录页),user_page.py(用户页),也可以把登录页的内容放到用户页面中,具体编写代码如下

home_page.py代码如下:

from pages.native_page import NativePage


class HomePage(NativePage):
    # 点击我的柠檬
    locator_my = ('id', 'com.lemon.lemonban:id/navigation_my')

    def enter_userpage(self):
        """进入用户界面"""
        self.click(self.locator_my)

login_page.py代码如下:

from pages.native_page import NativePage


class LoginPage(NativePage):
    locator_mobile = ('id', 'com.lemon.lemonban:id/et_mobile')
    locator_pwd = ('id', 'com.lemon.lemonban:id/et_password')
    locator_login = ('id', 'com.lemon.lemonban:id/btn_login')

    def login(self, mobile, password):
        """登录"""
        self.type(self.locator_mobile, mobile)
        self.type(self.locator_pwd, password)
        self.click(self.locator_login)

    def get_error_info(self):
        """获取登录失败错误信息"""
        return self.get_toast_text()

user_page.py代码如下:

from pages.native_page import NativePage


class UserPage(NativePage):
    # 点击我的头像
    locator_avatar = ('id', 'com.lemon.lemonban:id/fragment_my_lemon_avatar_title')

    def click_login(self):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值