forked from mrlan/EnglishPal
				
			Merge remote-tracking branch 'origin/Bug545-HuangHuiLing' into Bug545-HuangHuiLing
						commit
						1bec0bd107
					
				|  | @ -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; | ||||||
|  | } | ||||||
|  | @ -69,11 +69,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