1
0
Fork 0
Bug555-chenshiying
陳詩穎 2024-06-25 01:57:59 +08:00
parent bb838ad51a
commit aa8d8b75e0
1 changed files with 43 additions and 34 deletions

View File

@ -1,34 +1,43 @@
import time
import pytest import pytest
import uuid
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 selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains from selenium.common.exceptions import UnexpectedAlertPresentException, NoAlertPresentException, NoSuchElementException, \
TimeoutException
@pytest.fixture() from conftest import URL
def driver():
# 初始化Chrome WebDriver
driver = webdriver.Chrome() driver = webdriver.Chrome()
def test_bug555():
try:
driver.maximize_window() driver.maximize_window()
yield driver
# 测试结束后关闭浏览器
driver.quit()
def test_bug555(driver):
base_url = "http://127.0.0.1:5000" base_url = "http://127.0.0.1:5000"
driver.get(base_url) driver.get(base_url)
# 定位文章元素并对其执行操作
article = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'article'))) article = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'article')))
ActionChains(driver).move_to_element(article).click_and_hold().move_by_offset(450, 200).release().perform() perform_actions_on_article(driver, article)
print("Performed actions on article.")
# 导航到下一篇文章
next_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'load_next_article'))) next_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'load_next_article')))
next_button.click() next_button.click()
print("Clicked next article button.") print("Clicked next article button.")
# 返回上一篇文章
prev_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'load_pre_article'))) prev_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'load_pre_article')))
prev_button.click() prev_button.click()
print("Clicked previous article button.") print("Clicked previous article button.")
except (TimeoutException, NoSuchElementException) as e:
print(f"An error occurred: {e}")
finally:
driver.quit()
print("Driver closed.")
def perform_actions_on_article(driver, article):
actions = ActionChains(driver)
actions.move_to_element(article)
actions.click_and_hold()
actions.move_by_offset(450, 200)
actions.release()
actions.perform()
print("Performed actions on article.")