Commit 346c94fa by Administrator

2.19提交

parent e20a0da0
......@@ -2,6 +2,7 @@ import time
import pyautogui
import pyperclip
from selenium.webdriver import Keys
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
......@@ -18,8 +19,6 @@ class BasePage:
def __init__(self):
self.driver = DriverUtils.get_web_driver()
self.logger = None
self.set_logger()
# 查找元素
......@@ -36,7 +35,13 @@ class BasePage:
# 定义该元素对于的文本
ele = self.find_el(loc)
# 先清空
ele.clear()
# ele.clear()
# 使用 JavaScript 强制清空输入框中的文本
# self.driver.execute_script("arguments[0].value = '';", ele)
# 使用键盘操作选中并删除文本
time.sleep(1)
ele.send_keys(Keys.CONTROL + "a") # 选中所有文本
ele.send_keys(Keys.DELETE) # 删除选中的文本
# 再输入
ele.send_keys(value)
......@@ -63,6 +68,11 @@ class BasePage:
# 调用select选择方法
sle.select_by_visible_text(text)
def get_text_loc(self,loc):
return self.find_el(loc).get_attribute("innerText")
def get_text_ele(self, ele):
return ele.get_attribute("innerText")
# 选择文件
def select_document(self,path_str=None):
time.sleep(1)
......@@ -87,38 +97,38 @@ class BasePage:
pyautogui.press('enter') # 模拟按下回车键
time.sleep(2)
# 设置日志记录器
def set_logger(self):
# 检查记录器是否已经存在,如果存在,则直接返回
if self.logger:
return
logging.basicConfig(level=logging.INFO)
self.logger = logging.getLogger(__name__)
# 创建一个处理程序,用于输出到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
# 创建一个处理程序,用于输出到文件
self.file_handler = logging.FileHandler('business_knowledge1.log', encoding='utf-8')
self.file_handler.setLevel(logging.INFO)
# 创建一个格式化器,用于设置日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 将格式化器添加到处理程序
console_handler.setFormatter(formatter)
self.file_handler.setFormatter(formatter)
# 先清空已有的处理程序
self.logger.handlers.clear()
# 检查记录器中是否已经存在相同类型的处理程序,如果不存在,则添加
if console_handler not in self.logger.handlers:
self.logger.addHandler(console_handler)
if self.file_handler not in self.logger.handlers:
self.logger.addHandler(self.file_handler)
print(len(self.logger.handlers))
def log_info(self, message):
self.logger.info(message)
# # 设置日志记录器
# def set_logger(self):
# # 检查记录器是否已经存在,如果存在,则直接返回
# if self.logger:
# return
#
# logging.basicConfig(level=logging.INFO)
# self.logger = logging.getLogger(__name__)
# # 创建一个处理程序,用于输出到控制台
# console_handler = logging.StreamHandler()
# console_handler.setLevel(logging.INFO)
# # 创建一个处理程序,用于输出到文件
# self.file_handler = logging.FileHandler('business_knowledge1.log', encoding='utf-8')
# self.file_handler.setLevel(logging.INFO)
# # 创建一个格式化器,用于设置日志格式
# formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# # 将格式化器添加到处理程序
# console_handler.setFormatter(formatter)
# self.file_handler.setFormatter(formatter)
# # 先清空已有的处理程序
# self.logger.handlers.clear()
# # 检查记录器中是否已经存在相同类型的处理程序,如果不存在,则添加
# if console_handler not in self.logger.handlers:
# self.logger.addHandler(console_handler)
# if self.file_handler not in self.logger.handlers:
# self.logger.addHandler(self.file_handler)
# print(len(self.logger.handlers))
#
def close_logger(self):
self.file_handler.close()
# def log_info(self, message):
# self.logger.info(message)
# #
# def close_logger(self):
# self.file_handler.close()
from selenium.webdriver.common.by import By
from Pages.businessKnowledge_page import BusinessKnowledgePage
from Pages.login_page import LoginPage
from Util.Util import DriverUtils
import time
from loguru import logger
class TestBusinessKnowledge:
def setup_class(self):
# 在所有的测试用例脚本之前执行一次
# 完成公共部分初始化
self.driver = DriverUtils.get_web_driver()
self.login_page = LoginPage()
self.business_page = BusinessKnowledgePage()
def teardown_class(self):
# 在所有的测试用例脚本之后执行一次
self.driver.quit()
pass
def setup_method(self):
# 在每个测试用例脚本之前执行一次
self.driver.get('https://rays7.raysgo.com/login')
self.login_page.login_username("17373027967","3149390154Li")
self.business_page.entranceAi() # 进入AI编辑室
self.business_page.entranceBusinessKnowledge() # 进入企业知识库
time.sleep(3)
def teardown_method(self):
# 在每个测试用例脚本之后执行一次
pass
# 新建文件夹 0-20 重复文件名
def test_newFolder_case001(self):
folder_name = "XXXXX"
self.business_page.newFolderControl(folder_name)
time.sleep(3)
# 断言
folders = self.business_page.find_el(self.business_page.folders).find_elements(By.XPATH,".//span")
assert folder_name == self.business_page.get_text_ele(folders[(len(folders)-1)])
logger.info("新建文件成功")
# 更新文件夹名字 0-20 重复文件名
def test_updateFolder_case001(self):
expect_folder_name = "xxxx322x"
actual_folder_name = self.business_page.updateFolderControl(expect_folder_name)
time.sleep(2)
# 断言
assert actual_folder_name == expect_folder_name
logger.info("更新文件名字成功")
# 删除文件夹
def test_deleteFolder_case001(self):
self.business_page.deleteFolderControl()
# 切换文件夹
def test_traverse_folder(self):
try:
self.business_page.traverseFolder()
assert 1 == 1
except Exception as e:
logger.info("错误类型:{e}")
# 搜索
def test_search_document(self, key_name = "世界"):
try:
documents = self.business_page.searchDocument(key_name)
flag = self.business_page.isExistKeyInDocument(key_name,documents)
assert flag == True
except Exception as e:
logger.info(f"发生报错:报错信息为{e}")
# 文档上传
def test_upload_document_case001(self):
stry_paths = []
stry_paths.append("t"+str(0+1)+".txt")
self.business_page.upload_document_helper.uploadDocumentControl(stry_paths)
time.sleep(10)
# 断言
assert "学习成功" == self.business_page.get_text_ele(self.business_page.document_list_helper.firstDocument)
# 导入网站
def test_upload_website_case001(self):
self.business_page.upload_document_helper.uploadUrlControl("https://blog.csdn.net/FezZZZ/article/details/120878765")
time.sleep(10)
# 断言
assert "学习成功" == self.business_page.get_text_ele(self.business_page.document_list_helper.firstDocument)
......@@ -15,3 +15,5 @@ class DriverUtils:
cls.__driver.implicitly_wait(10)
return cls.__driver
......@@ -4,3 +4,7 @@
2024-02-19T04:58:18.926796+0800 - INFO - 登陆成功
2024-02-19T05:00:45.136661+0800 - INFO - 登陆成功
2024-02-19T05:12:21.817077+0800 - INFO - 此时菜单点击的为:文档解读
2024-02-19T11:11:47.462293+0800 - INFO - 点击选择了50%
2024-02-19T18:04:49.471174+0800 - INFO - 发生报错:报错信息为'WebElement' object has no attribute 'get_element'
2024-02-19T18:10:18.397061+0800 - INFO - 发生报错:报错信息为'WebElement' object has no attribute 'get_element'
2024-02-19T18:15:01.900058+0800 - INFO - 发生报错:报错信息为'WebElement' object has no attribute 'getAttribute'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment