pageobject分级设计模式

阅读: 评论:0

pageobject分级设计模式

pageobject分级设计模式

pageobject分级设计模式的思路

将一些公共的模块抽离出来
将元素定位方法和元素属性与业务代码分离
将功能模块封装成一个个独立的单元模块
使用unittest框架进行用例的综合管理

pageobject的目录结构

common里的disired_caps公共模块

from selenium import webdriver
from appium import webdriver
import yaml
import logging
fig
import os
CON_LOG = '../f'
fig.fileConfig(CON_LOG)
logging = Logger()def appium_disired():with open('../config/kyb_caps.yaml', 'r', encoding='utf-8') as file:data = yaml.load(file, Loader=yaml.FullLoader)#解决文件没有被释放的问题base_path = os.path.dirname(os.path.dirname(__file__))app_path = os.path.join(base_path, 'app', data['appname'])desired_caps = {}desired_caps['platformName'] = data['platformName']  # android的apk还是IOS的ipadesired_caps['platformVersion'] = data['platformVersion']  # android系统的版本号desired_caps['deviceName'] = data['deviceName']  # 手机设备名称,通过adb devices  查看desired_caps['app'] = app_pathdesired_caps['appPackage'] = data['appPackage']  # apk的包名desired_caps['appActivity'] = data['appActivity']  # apk的launcherActivity# 不需要再次签名desired_caps['noSign'] = data['noSign']# 不需要清理数据,避免重新安装的问题desired_caps['noReset'] = data['noReset']# desired_caps['unicodeKeyboard'] = True   #使用unicodeKeyboard的编码方式来发送字符串,中文方式# desired_caps['resetKeyboard'] = True   #将键盘给隐藏起来driver = webdriver.Remote('' + str(data['ip']) + ':' + str(data['port']) + '/wd/hub', desired_caps)logging.info('caps ready')return driver
if __name__ == '__main__':appium_disired()

baseView模块,包含driver初始化,定位元素等

class BaseView(object):def __init__(self, driver):self.driver = driverdef find_element(self, *loc):return self.driver.find_element(*loc)def find_elements(self,*loc):</

本文发布于:2024-02-04 08:56:30,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170703554954153.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模式   pageobject
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23