forked from mrlan/EnglishPal
34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
|
import pytest
|
||
|
from selenium import webdriver
|
||
|
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
|
||
|
driver = webdriver.Chrome()
|
||
|
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.")
|
||
|
|
||
|
# 导航到下一篇文章
|
||
|
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.")
|