Compare commits
11 Commits
bf23f3f8a1
...
6c6734f1db
Author | SHA1 | Date |
---|---|---|
江贤婷 | 6c6734f1db | |
江贤婷 | 54d4eabef1 | |
江贤婷 | 9725dfb9ef | |
方晨 | 35751c2c5f | |
李思楠 | 8cbc7c9a0c | |
方晨 | 35a6f1c828 | |
方晨 | a42e63dc27 | |
方晨 | 6500eeca84 | |
方晨 | 7d65782728 | |
丁晟晔 | ff6286cf01 | |
丁晟晔 | 1d7e61d751 |
|
@ -0,0 +1 @@
|
|||
Subproject commit 8cbc7c9a0ce543db48f80a743c4168ca847ca500
|
|
@ -0,0 +1,29 @@
|
|||
from webdriver_helper import get_webdriver
|
||||
from selenium.webdriver.common.action_chains 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
|
||||
|
||||
driver = get_webdriver()
|
||||
|
||||
driver.get('http://127.0.0.1:5000')
|
||||
uname = "jxt"
|
||||
password = "123456"
|
||||
|
||||
# def login(uname, password):
|
||||
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, '登录'))).click()
|
||||
driver.find_element(By.ID, 'username').send_keys(uname)
|
||||
driver.find_element(By.ID, 'password').send_keys(password)
|
||||
driver.find_element(By.XPATH, '//button[text()="登录"]').click()
|
||||
WebDriverWait(driver, 10).until(EC.title_is(f"EnglishPal Study Room for {uname}"))
|
||||
|
||||
|
||||
article = driver.find_element('xpath','//*[@id="article"]')
|
||||
range_input = driver.find_element('xpath','//*[@id="rangeComponent"]')
|
||||
|
||||
# 使用 ActionChains 类来拖动 range input 元素
|
||||
action_chains = ActionChains(driver)
|
||||
action_chains.click_and_hold(article).move_by_offset(500, 0).release().perform()
|
||||
action_chains.click_and_hold(range_input).move_by_offset(50, 0).release().perform()
|
||||
|
||||
input()
|
|
@ -0,0 +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.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)
|
||||
|
||||
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.")
|
|
@ -0,0 +1,85 @@
|
|||
''' Contributed by Lin Junhong et al. 2023-06.'''
|
||||
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
|
||||
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
from selenium.common.exceptions import UnexpectedAlertPresentException, NoAlertPresentException
|
||||
import random, time
|
||||
import string
|
||||
|
||||
# 初始化webdriver
|
||||
# driver = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.CHROME)
|
||||
# driver.implicitly_wait(10)
|
||||
driver = webdriver.Chrome("C:\\Users\\12993\AppData\Local\Programs\Python\Python38\\chromedriver.exe")
|
||||
|
||||
|
||||
def test_next_article():
|
||||
try:
|
||||
driver.get("http://118.25.96.118:90")
|
||||
assert 'English Pal -' in driver.page_source
|
||||
# login
|
||||
elem = driver.find_element_by_link_text('登录')
|
||||
elem.click()
|
||||
|
||||
uname = 'abcdefg'
|
||||
password = 'abcdefg'
|
||||
elem = driver.find_element_by_id('username')
|
||||
elem.send_keys(uname)
|
||||
|
||||
elem = driver.find_element_by_id('password')
|
||||
elem.send_keys(password)
|
||||
elem = driver.find_element_by_xpath('/html/body/div/button') # 找到登录按钮
|
||||
elem.click()
|
||||
|
||||
time.sleep(0.5)
|
||||
assert 'EnglishPal Study Room for ' + uname in driver.title
|
||||
for i in range(50):
|
||||
time.sleep(0.1)
|
||||
# 找到固定按钮
|
||||
elem = driver.find_element_by_xpath('//*[@id="load_next_article"]')
|
||||
elem.click()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
|
||||
def test_local_next_article():
|
||||
try:
|
||||
driver.get("http://127.0.0.1:5000")
|
||||
assert 'English Pal -' in driver.page_source
|
||||
# login
|
||||
elem = driver.find_element_by_link_text('注册')
|
||||
elem.click()
|
||||
|
||||
uname = 'abcdefg'
|
||||
password = 'abcdefg'
|
||||
elem = driver.find_element_by_id('username')
|
||||
elem.send_keys(uname)
|
||||
|
||||
elem = driver.find_element_by_id('password')
|
||||
elem.send_keys(password)
|
||||
|
||||
elem = driver.find_element_by_id('password2')
|
||||
elem.send_keys(password)
|
||||
|
||||
time.sleep(0.5)
|
||||
|
||||
elem = driver.find_element_by_class_name('btn') # 找到提交按钮
|
||||
elem.click()
|
||||
time.sleep(0.5)
|
||||
try:
|
||||
WebDriverWait(driver, 1).until(EC.alert_is_present())
|
||||
driver.switch_to.alert.accept()
|
||||
except (UnexpectedAlertPresentException, NoAlertPresentException):
|
||||
pass
|
||||
|
||||
time.sleep(0.5)
|
||||
assert 'EnglishPal Study Room for ' + uname in driver.title
|
||||
for i in range(50):
|
||||
time.sleep(0.1)
|
||||
# 找到固定按钮
|
||||
elem = driver.find_element_by_xpath('//*[@id="load_next_article"]')
|
||||
elem.click()
|
||||
except Exception as e:
|
||||
print(e)
|
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
|
@ -4,3 +4,5 @@ PyYAML~=6.0
|
|||
pony==0.7.16
|
||||
snowballstemmer==2.2.0
|
||||
Werkzeug==2.2.2
|
||||
|
||||
pytest~=8.1.1
|
Loading…
Reference in New Issue