Bug551-DingZeYu #114

Merged
dingchengye merged 22 commits from Bug551-DingZeYu into Alpha-snapshot20230621 2024-05-20 16:12:26 +08:00
4 changed files with 46 additions and 3 deletions

View File

@ -2,7 +2,7 @@
css:
item:
- ../static/css/bootstrap.css
- ../static/css/highlighted.css
# 全局引入的js文件地址
js:
head: # 在页面加载之前加载

View File

@ -0,0 +1,5 @@
.highlighted {
color: red;
font-weight: normal;
}

View File

@ -43,11 +43,12 @@ function highLight() {
// 删除所有的mark标签,防止标签发生嵌套
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) {
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;
}
function cancelHighlighting() {

View File

@ -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):

@dingchengye

应该使用 conftest.py 中定义的 driver 与 url 这两个 fixture。

@dingchengye 应该使用 conftest.py 中定义的 driver 与 url 这两个 fixture。
driver.maximize_window()
driver.get(URL)
username, password = signup(URL, driver)

@dingchengye

请用 app/test/helper.py 中的 signup() 函数。它会自动注册一个新的用户,并登录。
不能保证 dzy 与 123456 在别人的机器上能够登录。

@dingchengye 请用 app/test/helper.py 中的 signup() 函数。它会自动注册一个新的用户,并登录。 不能保证 dzy 与 123456 在别人的机器上能够登录。
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()
# 获取选中高亮部分的单词的元素

@dingchengye 没有 assert 语句吗?

@dingchengye 没有 assert 语句吗?

我们的这个bug好像不需要用到assert语句,这个算视觉上的,不知道要怎么写

我们的这个bug好像不需要用到assert语句,这个算视觉上的,不知道要怎么写
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()