Page Object-Selenium(二)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/dengachao/article/details/101205061

Page Object

Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例的可维护性。

一、测试环境

Win 10
java version "1.8.0_181"
Appium v1.14.1(不能低于1.6.3)
selenium:3.141.0
测试设备:Android 5.1.1
Python:3.6
测试App:考研帮Android app V3.1.0

二、测试场景
封装通用公共类 common_fun.py

三、参考代码
 

from appium_advance.page_object.BaseView import BaseView
from appium_advance.page_object.desired_caps import appium_desired
from selenium.common.exceptions import NoSuchElementException
import logging
from selenium.webdriver.common.by import By

class Common(BaseView):
    cancelBtn = (By.ID,'android:id/button2')
    skipBtn = (By.ID,'com.tal.kaoyan:id/tv_skip')

    def check_cancelBtoon(self):
        logging.info('===========开始检查取消按钮check_cancelBtoon===================')
        try:
            cancelBtn = self.driver.find_element(*self.cancelBtn)
        except NoSuchElementException:
            logging.info('no CancelBtn没有取消按钮')
        else:
            cancelBtn.click()

    def check_skipBtn(self):
        logging.info("===============开始检查跳过按钮check_skipBtn==============")
        try:
            skipBtn = self.driver.find_element(*self.skipBtn)
        except NoSuchElementException:
            logging.info('no skipBtn')
        else:
            skipBtn.click()
if __name__ == '__main__':
    driver = appium_desired()
    com = Common(driver)
    com.check_cancelBtoon()
    com.check_skipBtn()

猜你喜欢

转载自blog.csdn.net/dengachao/article/details/101205061