forked from mrlan/EnglishPal
fix
parent
bb838ad51a
commit
aa8d8b75e0
|
@ -1,34 +1,43 @@
|
|||
import time
|
||||
import pytest
|
||||
import uuid
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver import ActionChains
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
from selenium.webdriver.common.action_chains import ActionChains
|
||||
|
||||
@pytest.fixture()
|
||||
def driver():
|
||||
# 初始化Chrome WebDriver
|
||||
from selenium.common.exceptions import UnexpectedAlertPresentException, NoAlertPresentException, NoSuchElementException, \
|
||||
TimeoutException
|
||||
from conftest import URL
|
||||
driver = webdriver.Chrome()
|
||||
def test_bug555():
|
||||
try:
|
||||
driver.maximize_window()
|
||||
yield driver
|
||||
# 测试结束后关闭浏览器
|
||||
driver.quit()
|
||||
|
||||
def test_bug555(driver):
|
||||
base_url = "http://127.0.0.1:5000"
|
||||
driver.get(base_url)
|
||||
|
||||
# 定位文章元素并对其执行操作
|
||||
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()
|
||||
print("Performed actions on article.")
|
||||
perform_actions_on_article(driver, article)
|
||||
|
||||
# 导航到下一篇文章
|
||||
next_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'load_next_article')))
|
||||
next_button.click()
|
||||
print("Clicked next article button.")
|
||||
|
||||
# 返回上一篇文章
|
||||
prev_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'load_pre_article')))
|
||||
prev_button.click()
|
||||
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.")
|
Loading…
Reference in New Issue