将一些公共的模块抽离出来
将元素定位方法和元素属性与业务代码分离
将功能模块封装成一个个独立的单元模块
使用unittest框架进行用例的综合管理
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()
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小时内删除。
留言与评论(共有 0 条评论) |