Commit 39aa5df3 by liying

2.8提交

parent 32160b06
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (UIProject)" project-jdk-type="Python SDK" /> <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (pythonProject01)" project-jdk-type="Python SDK" />
</project> </project>
\ No newline at end of file
import time import time
from selenium import webdriver from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By from selenium.webdriver.common.by import By
from BasePage.BasePage import BasePage from BasePage.BasePage import BasePage
...@@ -11,21 +12,53 @@ from Util.Util import DriverUtils ...@@ -11,21 +12,53 @@ from Util.Util import DriverUtils
企业知识库--页面操作 企业知识库--页面操作
""" """
class BusinessKnowledgePage(BasePage): class BusinessKnowledgePage(BasePage):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
self.ai_editing = (By.XPATH, '//*[@id="App"]/div/header/div[2]/div[2]') # AI编辑工作室按钮 self.ai_editing = (By.XPATH, '//*[@id="App"]/div/header/div[2]/div[2]') # AI编辑工作室按钮
self.business_knowledge = (By.XPATH, '//*[@id="App"]/div/div/div[2]/ul/li[3]/div/div/span') # 企业知识库按钮 self.business_knowledge = (By.XPATH, '//*[@id="App"]/div/div/div[2]/ul/li[3]/div/div/span') # 企业知识库按钮
self.quit = (By.XPATH,'//*[@id="App"]/div/section/div[1]/div[1]/div[1]/button/span') # 返回 self.quit = (By.XPATH, '//*[@id="App"]/div/section/div[1]/div[1]/div[1]/button/span') # 返回
self.newFolder = (By.XPATH,'//*[@id="App"]/div/section/div[1]/div[2]/div/div/div[1]/button[2]/span') # 新建文件夹
self.folderName = (By.XPATH,'//*[@id="folderName"]') # 输入文件夹名 self.folders = (By.XPATH, '//*[@id="App"]/div/section/div[1]/div[2]/div/div/div[1]/div[2]') # 文件夹列表
self.newFolder = (By.XPATH, '//*[@id="App"]/div/section/div[1]/div[2]/div/div/div[1]/button[2]/span') # 新建文件夹
self.folderName = (By.XPATH, '//*[@id="folderName"]') # 输入文件夹名
self.ensure = (By.XPATH, '/html/body/div[3]/div/div[2]/div/div[2]/div[3]/button[2]/span') # 确定按钮
self.more = (By.XPATH, '//*[@id="App"]/div/section/div[1]/div[2]/div/div/div[1]/div[2]/div[3]/i') # 更多
self.updateFolderName = (By.XPATH, '/html/body/div[3]/div/div/ul/li[1]/span/div') # 修改名称
self.deleteFolder = (By.XPATH, '/html/body/div[3]/div/div/ul/li[2]/span/div') # 删除
self.ensureDelete = (By.XPATH, '/html/body/div[4]/div/div[2]/div/div[2]/div[3]/button[2]/span') # 确认
self.searchInputText = (
By.XPATH, '//*[@id="App"]/div/section/div[1]/div[2]/div/div/div[1]/div[1]/span/input') # 搜索文本框
self.subscriptionWebsiteButton = (
By.XPATH, '//*[@id="App"]/div/section/div[1]/div[2]/div/div/div[1]/button[1]') # 订阅网站
self.updateWebsiteFrequencySelect = (
By.XPATH, '/html/body/div[3]/div/div[2]/div/div[2]/div[2]/div/form/div[2]/div/div[2]/div/div/div') # 更新网站频率
self.updateWebsiteFrequencyDataDiv = (By.XPATH, '/html/body/div[4]/div/div/div/div[2]/div[1]/div/div') # 更新频率数据
# 订阅网站列表
self.subscriptionWebsiteListDiv = (By.XPATH, '//*[@id="website"]/div/div[2]/div[1]')
# 确定订阅
self.ensureSubscriptionWebsite = (By.XPATH, '/html/body/div[3]/div/div[2]/div/div[2]/div[3]/div/button[2]/span')
# 清空
self.clearButton = (By.XPATH, '//*[@id="website"]/div/div[1]/span[2]/span[2]')
# 去除
self.removeButton = (By.XPATH, '//*[@id="website"]/div/div[2]/div[2]/div[1]/div/div[1]/div[2]')
"""
通用
"""
# 进入AI编辑工作室 # 进入AI编辑工作室
def entranceAi(self): def entranceAi(self):
self.find_el(self.ai_editing).click() self.find_el(self.ai_editing).click()
# 进入企业知识库 # 进入企业知识库
def entranceBusinessKnowledge(self): def entranceBusinessKnowledge(self):
self.find_el(self.business_knowledge).click() self.find_el(self.business_knowledge).click()
# 返回/首页 退出 # 返回/首页 退出
def quitBusinessKnowledge(self): def quitBusinessKnowledge(self):
self.find_el(self.quit).click() self.find_el(self.quit).click()
...@@ -34,20 +67,110 @@ class BusinessKnowledgePage(BasePage): ...@@ -34,20 +67,110 @@ class BusinessKnowledgePage(BasePage):
文件夹管理 文件夹管理
""" """
# 新建文件夹操作 # 新建文件夹操作 输入长度测试点
def newFolderControl(self): def newFolderControl(self, folderNameInput=None):
self.find_el(self.newFolder).click() self.find_el(self.newFolder).click() # 弹出输入框
self.input_text(self.folderName,"测试文件夹") self.input_text(self.folderName, folderNameInput) # 输入文件夹名称
self.find_el(self.ensure).click() # 点击确认
# 删除文件夹
def deleteFolderControl(self):
self.find_el(self.more).click() # 点击更多
time.sleep(1)
self.find_el(self.deleteFolder).click() # 弹出二次删除弹框
time.sleep(1)
self.find_el(self.ensureDelete).click() # 点击确认删除
# 修改文件夹
def updateFolderControl(self, updateFolderName=None):
self.find_el(self.more).click() # 点击更多
time.sleep(1)
self.find_el(self.updateFolderName).click() # 弹出修改弹框
self.input_text(self.folderName, updateFolderName)
time.sleep(1)
self.find_el(self.ensureDelete).click() # 点击确认
# 遍历点击文件夹
def traverseFolder(self):
elementSpans = self.find_el(self.folders).find_elements('tag name', 'span')
for elementSpan in elementSpans:
elementSpan.click()
time.sleep(2)
""" """
搜索文档 搜索文档
""" """
# 搜索
def searchDocument(self, keyName=None):
self.input_text(self.searchInputText, keyName)
time.sleep(2)
""" """
网站订阅 网站订阅
""" """
# 点击订阅网站 弹出弹框
def subscriptionWebsiteStart(self):
self.find_el(self.subscriptionWebsiteButton).click()
# 订阅频率选中-根据optionName进行选中
def subscriptionWebsiteFrequencySelect(self, optionName=None):
self.find_el(self.updateWebsiteFrequencySelect).click() # 点击更新频率
time.sleep(2)
# 获取到全部数据
elementsFrequencyOptions = self.find_el(self.updateWebsiteFrequencyDataDiv).find_elements(By.XPATH, '/html/body/div[4]/div/div/div/div[2]/div[1]/div/div/div[contains(@class, "ant-select-item")]')
# 订阅频率选择
for elementsFrequencyOption in elementsFrequencyOptions:
# 模拟鼠标悬停到选项上
ActionChains(driver).move_to_element(elementsFrequencyOption).perform()
time.sleep(1)
# 模拟点击选项
if optionName == elementsFrequencyOption.text:
elementsFrequencyOption.click()
break
# 选中订阅的网站
def subscriptionWebsiteSelect(self, optionsName=None):
subscriptionWebsiteOptions = self.find_el(self.subscriptionWebsiteListDiv).find_elements(By.XPATH,'//*[@id="website"]/div/div[2]/div[1]/div[contains(@class,"website-item")]')
subscriptionWebsiteOptionTexts = self.find_el(self.subscriptionWebsiteListDiv).finf_elements(By.XPATH,'//*[@id="website"]/div/div[2]/div[1]/div/label/span[2]/div/div/div')
for subscriptionWebsiteOption,subscriptionWebsiteOptionText in zip(subscriptionWebsiteOptions,subscriptionWebsiteOptionTexts):
subscriptionWebsiteOption.click() # 选中
# 网站订阅-整个流程
def subscriptionWebsite(self):
self.find_el(self.subscriptionWebsiteButton).click() # 点击订阅网站 弹出弹框
time.sleep(2)
self.find_el(self.updateWebsiteFrequencySelect).click() # 点击更新频率
time.sleep(2)
# 获取到全部数据
elementsFrequencyOptions = self.find_el(self.updateWebsiteFrequencyDataDiv).find_elements(By.XPATH,
'/html/body/div[4]/div/div/div/div[2]/div[1]/div/div/div[contains(@class, "ant-select-item")]')
count = 0
# 订阅频率选择
for elementsFrequencyOption in elementsFrequencyOptions:
# time.sleep(1)
# self.find_el(self.updateWebsiteFrequencySelect).click() # 点击更新频率
# time.sleep(1)
# 模拟鼠标悬停到选项上
ActionChains(driver).move_to_element(elementsFrequencyOption).perform()
time.sleep(1)
count = count + 1
# 模拟点击选项
if (count == len(elementsFrequencyOptions)):
elementsFrequencyOption.click()
# 选择订阅的网站
subscriptionWebsiteOptions = self.find_el(self.subscriptionWebsiteListDiv).find_elements(By.XPATH,
'//*[@id="website"]/div/div[2]/div[1]/div[contains(@class,"website-item")]')
for subscriptionWebsiteOption in subscriptionWebsiteOptions:
subscriptionWebsiteOption.click() # 选中
# 确定订阅
self.find_el(self.ensureSubscriptionWebsite).click()
""" """
上传文档 上传文档
""" """
...@@ -73,8 +196,6 @@ class BusinessKnowledgePage(BasePage): ...@@ -73,8 +196,6 @@ class BusinessKnowledgePage(BasePage):
""" """
if __name__ == '__main__': if __name__ == '__main__':
driver = DriverUtils.get_web_driver() driver = DriverUtils.get_web_driver()
driver.get('https://rays7.raysgo.com/login') driver.get('https://rays7.raysgo.com/login')
...@@ -85,5 +206,19 @@ if __name__ == '__main__': ...@@ -85,5 +206,19 @@ if __name__ == '__main__':
businessKnowledge.entranceAi() businessKnowledge.entranceAi()
time.sleep(1) time.sleep(1)
businessKnowledge.entranceBusinessKnowledge() businessKnowledge.entranceBusinessKnowledge()
businessKnowledge.newFolderControl() time.sleep(1)
time.sleep(2) businessKnowledge.subscriptionWebsiteStart()
time.sleep(1)
businessKnowledge.subscriptionWebsiteFrequencySelect("三天更新一次")
time.sleep(1)
# businessKnowledge.newFolderControl("文件夹名称188")
# time.sleep(2)
# while 1:
# businessKnowledge.deleteFolderControl()
# time.sleep(2)
# # # businessKnowledge.updateFolderControl()
# # businessKnowledge.traverseFolder()
# # businessKnowledge.searchDocument("1")
# businessKnowledge.subscriptionWebsite()
# time.sleep(2)
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