# Generated by Selenium IDEDesc Aistudios front-end automation case for project detailsFile test_project_detialpyAuthor xujing43Date 20230306 1338import pytestimport timeimport reimport requestsimport
import pytest import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions from selenium.webdriver.support.wait import WebDriverWait from conf import aistudio_conf from usuallib.aistudio_usuallib import base_method
class TestProjectDetail(): def setup_class(self): chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--disable-extensions") chrome_options.add_argument("--disable-gpu") chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--headless") self.driver = webdriver.Chrome(chrome_options=chrome_options) self.driver.implicitly_wait(30) base_method.login_aistudio(self.driver, aistudio_conf.BASE_URL, aistudio_conf.aistudio_account6)
def teardown_class(self):
self.driver.quit()
def setup_method(self, method):
self.driver.get(aistudio_conf.BASE_URL)
self.driver.find_element(By.CSS_SELECTOR, ".projects > .studio-container-2022-nav-link").click()
self.driver.find_element(By.ID, "rc-tabs-0-tab-private").click()
self.driver.find_element(By.CSS_SELECTOR, ".ant-btn-primary > span").click()
WebDriverWait(self.driver, 30).until(expected_conditions.presence_of_element_located(
(By.CSS_SELECTOR, ".is-active > .a-s-created-project-type-item-desc")))
time.sleep(1)
self.driver.find_element(By.CSS_SELECTOR, ".is-active > .a-s-created-project-type-item-desc").click()
WebDriverWait(self.driver, 30).until(expected_conditions.presence_of_element_located(
(By.CSS_SELECTOR, ".ant-modal-footer span")))
time.sleep(1)
self.driver.find_element(By.CSS_SELECTOR, ".ant-modal-footer span").click()
WebDriverWait(self.driver, 30).until(expected_conditions.presence_of_element_located(
(By.CSS_SELECTOR, ".ant-modal-footer > .ant-btn")))
self.driver.find_element(By.CSS_SELECTOR, ".ant-modal-footer > .ant-btn").click()
self.driver.find_element(By.CSS_SELECTOR, ".ant-modal-footer span").click()
self.driver.find_element(By.ID, "input-project-name").click()
self.driver.find_element(By.ID, "input-project-name").send_keys(base_method.gen_random_string(5, "前端自动化"))
self.driver.find_element(By.CSS_SELECTOR, ".w-306 .ant-select-selection-item").click()
self.driver.find_element(By.CSS_SELECTOR,
".ai-select-tags-dropout-type:nth-child(1) .ai-select-tags-dropout-type-list-item:nth-child(1) > span").click()
self.driver.find_element(By.CSS_SELECTOR, ".ai-select-tags-dropout-btn:nth-child(1) > span").click()
self.driver.find_element(By.ID, "input-project-des").click()
self.driver.find_element(By.ID, "input-project-des").send_keys("描述")
self.driver.find_element(By.CSS_SELECTOR, ".ant-modal-footer span").click()
self.driver.find_element(By.CSS_SELECTOR, ".ant-modal-footer > .ant-btn-primary > span").click()
self.driver.find_element(By.CSS_SELECTOR, ".ant-modal-footer > .ant-btn-primary").click()
time.sleep(10)
def teardown_method(self, method):
self.driver.find_element(By.CSS_SELECTOR, ".a-s-header-logo > a > img").click()
self.driver.find_element(By.CSS_SELECTOR, ".ant-dropdown-trigger > span").click()
self.driver.find_element(By.CSS_SELECTOR, ".ant-dropdown-menu-submenu-title > div").click()
self.driver.find_element(By.CSS_SELECTOR, ".ai-s-components-frameselect-option-selected").click()
self.driver.find_element(By.CSS_SELECTOR, ".ant-dropdown-menu-submenu-title > div").click()
self.driver.find_element(By.CSS_SELECTOR, ".ai-s-components-frameselect-option-selected").click()
def test_project_detail(self):
self.driver.find_element(By.CSS_SELECTOR, ".ant-table-row:nth-child(1) .a-s-project-table-name").click()
WebDriverWait(self.driver, 30).until(expected_conditions.presence_of_element_located(
(By.CSS_SELECTOR, ".ant-col-24 > .ant-row")))
assert self.driver.find_element(By.CSS_SELECTOR, ".ant-col-24 > .ant-row").text == "项目详情"
# 下载
self.driver.find_element(By.CSS_SELECTOR, ".ant-col-8 > .ant-btn").click()
WebDriverWait(self.driver, 30).until(expected_conditions.presence_of_element_located(
(By.XPATH, "/html/body/div[5]/div/div[2]/div[2]/div[2]/div[2]/div[1]/div[2]/button[1]")))
self.driver.find_element(By.XPATH, "/html/body/div[5]/div/div[2]/div[2]/div[2]/div[2]/div[1]/div[2]/button[1]").click()
time.sleep(5)
# 模型
self.driver.find_element(By.CSS_SELECTOR, ".ant-col-8:nth-child(2) > .ant-btn").click()
WebDriverWait(self.driver, 30).until(expected_conditions.presence_of_element_located(
(By.CSS_SELECTOR, ".a-s-project-model-list")))
assert self.driver.find_element(By.CSS_SELECTOR, ".a-s-project-model-list").text == "暂无数据"
# 数据
self.driver.find_element(By.CSS_SELECTOR, ".ant-col-8:nth-child(3) > .ant-btn").click()
WebDriverWait(self.driver, 30).until(expected_conditions.presence_of_element_located(
(By.CSS_SELECTOR, ".ant-table-tbody")))
assert self.driver.find_element(By.CSS_SELECTOR, ".ant-table-tbody").text == "暂无数据"
# 编辑
self.driver.find_element(By.CSS_SELECTOR, ".ant-col-8:nth-child(4) > .ant-btn").click()
WebDriverWait(self.driver, 30).until(expected_conditions.presence_of_element_located(
(By.CSS_SELECTOR, ".ant-form-item-children")))
self.driver.find_element(By.CSS_SELECTOR, ".ant-modal-footer > .ant-btn-primary").click()
# 删除
self.driver.find_element(By.CSS_SELECTOR, ".ant-col-8:nth-child(5) > .ant-btn").click()
WebDriverWait(self.driver, 30).until(expected_conditions.presence_of_element_located(
(By.CSS_SELECTOR, ".ant-modal-body")))
self.driver.find_element(By.CSS_SELECTOR, ".ant-modal-footer > .ant-btn-primary").click()
# 返回
self.driver.find_element(By.CSS_SELECTOR, ".ant-col-8:nth-child(6) > .ant-btn").click()
WebDriverWait(self.driver, 30).until(expected_conditions.presence_of_element_located(
(By.CSS_SELECTOR, ".ant-spin-container")))
assert self.driver.find_element(By.CSS_SELECTOR, ".ant-spin-container").text == "我的项目
原文地址: https://www.cveoy.top/t/topic/efEe 著作权归作者所有。请勿转载和采集!