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
二、测试场景
1 封装通用公共类 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()