文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 前言
- 一、静态方法封装
- 页面操作
前言
一、静态方法封装
基于静态方法是不属于任何一个类的,所以将框架中静态的方法都封装到一个类进行统一维护,提高了代码的可维护性
import json
import logging.config
import sys
import time
from json import JSONDecodeError
from congfig.pub.FilePath import LOG_PATH_CON
from congfig.pub.AttributeEle import listType
from congfig.pub.FrontColour import FrontColour as FC
logging.config.fileConfig(LOG_PATH_CON)
class StaticFunction():
# 处理query获取后的数据转换列表字符串
@staticmethod
def changeToTuple(data):
resStr = data[0][1:]
splitList = resStr.split('=')
# res = list(splitList)
return splitList
# 判断操作类型是否存在,不存在结束脚本,存在则继续,当前支持,input、click、css_select
@staticmethod
def checkOperationType(operationType):
if operationType in listType:
return True
else:
logging.error("当前操作类型:{0}不支持,当前支持,input、click、select、text、select".format(operationType))
return False
# 判断count类型
@staticmethod
def checkCount(count):
if isinstance(count, int) and count >= 0:
return count
else:
logging.error("count值必须为大于等于0的正整数,当前count值:{0},类型为:{1}".format(count, type(count)))
sys.exit()
#判断文本是否为json
@staticmethod
def checkjson(jsonText):
if isinstance(jsonText,str):
try:
json.loads(jsonText)
except (TypeError,ValueError,JSONDecodeError) as e:
return False
return True
else:
return False
#强制休眠时间
@staticmethod
def sleep_time(s):
time.sleep(s)
logging.info(FC.GREEN%"强制休眠{0}秒".format(s))
页面操作
所有页面均继承:OperationPageFunction方法,调用其中的方法执行页面操作
import logging.config
from congfig.pub.FilePath import LOG_PATH_CON
from base.OperationPageElement import OperationPageFunction
logging.config.fileConfig(LOG_PATH_CON)
elPath = "Login.yaml"
# 登录页面
class LoginPage(OperationPageFunction):
#登录方法,通过输入用户名及密码进行登录
def loginInputUsername(self,*text):
return self.getYamElData(elPath,"loginInputUsername",*text)
def loginInputPassword(self,*text):
return self.getYamElData(elPath,"loginInputPassword",*text)
#点击登录按钮
def clickLoginButton(self):
current_title = self.getPageTitle
self.getYamElData(elPath,"clickLoginButton")
return current_title
#获取路由title,判断是否登录成功,True成功,False失败
def checkLoginStatus(self,current_title):
if self.getPageTitle != current_title:
return True
else:
return False
#登陆方法
def goToIndex(self):
self.getYamElData(elPath,"loginInputUsername","test")
self.getYamElData(elPath, "loginInputPassword", "1234")
return self.checkLoginStatus(self.clickLoginButton())



