Commit 39aa5df3 by liying

2.8提交

parent 32160b06
<?xml version="1.0" encoding="UTF-8"?>
<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>
\ No newline at end of file
import time
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from BasePage.BasePage import BasePage
......@@ -11,21 +12,53 @@ from Util.Util import DriverUtils
企业知识库--页面操作
"""
class BusinessKnowledgePage(BasePage):
def __init__(self):
super().__init__()
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.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.quit = (By.XPATH, '//*[@id="App"]/div/section/div[1]/div[1]/div[1]/button/span') # 返回
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编辑工作室
def entranceAi(self):
self.find_el(self.ai_editing).click()
# 进入企业知识库
def entranceBusinessKnowledge(self):
self.find_el(self.business_knowledge).click()
# 返回/首页 退出
def quitBusinessKnowledge(self):
self.find_el(self.quit).click()
......@@ -34,20 +67,110 @@ class BusinessKnowledgePage(BasePage):
文件夹管理
"""
# 新建文件夹操作
def newFolderControl(self):
self.find_el(self.newFolder).click()
self.input_text(self.folderName,"测试文件夹")
# 新建文件夹操作 输入长度测试点
def newFolderControl(self, folderNameInput=None):
self.find_el(self.newFolder).click() # 弹出输入框
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):
"""
if __name__ == '__main__':
driver = DriverUtils.get_web_driver()
driver.get('https://rays7.raysgo.com/login')
......@@ -85,5 +206,19 @@ if __name__ == '__main__':
businessKnowledge.entranceAi()
time.sleep(1)
businessKnowledge.entranceBusinessKnowledge()
businessKnowledge.newFolderControl()
time.sleep(2)
time.sleep(1)
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