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
from conftest import URL
driver = webdriver.Chrome()
def test_bug555():
try:
driver.maximize_window()
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')))
perform_actions_on_article(driver, article)
@pytest.fixture() next_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'load_next_article')))
def driver(): next_button.click()
# 初始化Chrome WebDriver print("Clicked next article button.")
driver = webdriver.Chrome()
driver.maximize_window()
yield driver
# 测试结束后关闭浏览器
driver.quit()
def test_bug555(driver): prev_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'load_pre_article')))
base_url = "http://127.0.0.1:5000" prev_button.click()
driver.get(base_url) print("Clicked previous article button.")
# 定位文章元素并对其执行操作 except (TimeoutException, NoSuchElementException) as e:
article = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'article'))) print(f"An error occurred: {e}")
ActionChains(driver).move_to_element(article).click_and_hold().move_by_offset(450, 200).release().perform()
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.") 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.")