forked from mrlan/EnglishPal
Merge pull request 'Bug551-DingZeYu' (#114) from Bug551-DingZeYu into Alpha-snapshot20230621
Reviewed-on: mrlan/EnglishPal#114Bug476-LiMengdie
commit
d8e4fbbb2d
|
@ -2,7 +2,7 @@
|
||||||
css:
|
css:
|
||||||
item:
|
item:
|
||||||
- ../static/css/bootstrap.css
|
- ../static/css/bootstrap.css
|
||||||
|
- ../static/css/highlighted.css
|
||||||
# 全局引入的js文件地址
|
# 全局引入的js文件地址
|
||||||
js:
|
js:
|
||||||
head: # 在页面加载之前加载
|
head: # 在页面加载之前加载
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
|
||||||
|
.highlighted {
|
||||||
|
color: red;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
|
@ -43,11 +43,12 @@ function highLight() {
|
||||||
// 删除所有的mark标签,防止标签发生嵌套
|
// 删除所有的mark标签,防止标签发生嵌套
|
||||||
articleContent = articleContent.replace(/<(mark)[^>]*>/gi, "");
|
articleContent = articleContent.replace(/<(mark)[^>]*>/gi, "");
|
||||||
articleContent = articleContent.replace(/<(\/mark)[^>]*>/gi, "");
|
articleContent = articleContent.replace(/<(\/mark)[^>]*>/gi, "");
|
||||||
// 将文章中所有出现该单词word的地方改为:"<mark>" + word + "<mark>"。
|
// 将文章中所有出现该单词word的地方改为:"<span class='highlighted'>" + word + "</span>"。
|
||||||
for (let word of totalSet) {
|
for (let word of totalSet) {
|
||||||
articleContent = articleContent.replace(new RegExp("\\b" + word + "\\b", "g"), "<mark>" + word + "</mark>");
|
articleContent = articleContent.replace(new RegExp("\\b" + word + "\\b", "g"), "<span class='highlighted'>" + word + "</span>");
|
||||||
}
|
}
|
||||||
document.getElementById("article").innerHTML = articleContent;
|
document.getElementById("article").innerHTML = articleContent;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function cancelHighlighting() {
|
function cancelHighlighting() {
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
import time
|
||||||
|
import pytest
|
||||||
|
from selenium import webdriver
|
||||||
|
from selenium.webdriver import ActionChains
|
||||||
|
from selenium.webdriver.common.by import By
|
||||||
|
from selenium.webdriver.common.alert import Alert
|
||||||
|
from selenium.webdriver.support import expected_conditions as EC
|
||||||
|
from selenium.webdriver.support.wait import WebDriverWait
|
||||||
|
from helper import signup
|
||||||
|
|
||||||
|
def test_bug551(driver, URL):
|
||||||
|
driver.maximize_window()
|
||||||
|
driver.get(URL)
|
||||||
|
|
||||||
|
username, password = signup(URL, driver)
|
||||||
|
|
||||||
|
article = driver.find_element(By.ID, 'article')
|
||||||
|
actions = ActionChains(driver)
|
||||||
|
|
||||||
|
actions.move_to_element(article)
|
||||||
|
actions.click_and_hold()
|
||||||
|
actions.move_by_offset(450, 200)
|
||||||
|
actions.release()
|
||||||
|
actions.perform()
|
||||||
|
|
||||||
|
# 获取选中高亮部分的单词的元素
|
||||||
|
highlighted_words = driver.find_elements(By.CLASS_NAME, 'highlighted')
|
||||||
|
|
||||||
|
# 验证选中部分的单词是否同时应用了需求样式
|
||||||
|
expected_font_weight = "400"
|
||||||
|
|
||||||
|
for word in highlighted_words:
|
||||||
|
font_weight = word.value_of_css_property("font-weight")
|
||||||
|
assert font_weight == expected_font_weight, f"选中部分的单词的字体样式错误"
|
||||||
|
|
||||||
|
time.sleep(5)
|
||||||
|
driver.quit()
|
Loading…
Reference in New Issue