问题(一) DebugAugmenter
2018-01-19 16:30 钱先生 阅读(210) 评论(0) 编辑 收藏 举报问题: DebugAugmenter的作用是什么?是任何一个自创建的变量都可以取代它还是它有特定含义?
1 public class DebugAugmenter Test 2 { 3 @Test 4 public void testHighlight() 5 { 6 WebBrowser browser = BrowserEmulator.getBrowser(); 7 browser.open("https://www.baidu.com"); 8 9 DebugAugmenter debug = new DebugAugmenter(); 10 debug.register(browser.getWebDriver()); 11 12 WebElement element = browser.getElement("//*@id=\"kw\"]"); 13 debug.highlightElement(element); 14 15 browser.pause(1); 16 browser.quit(); 17 } 18 }
注: 上述代码是基于特定封装包
解答:
DebugAugmenter是封装的类名,
1 public class DebugAugmenter extends BrowserAugmenter 2 { 3 private static final String JS_HIGHLIGHT = "element = arguments[0];" + 4 "original_style = element.getAttribute('style');" + 5 "element.setAttribute('style', original_style + \";" + 6 "background: yellow; border: 2px solid red;\");" + 7 "setTimeout(function(){element.setAttribute('style', original_style);}, 1000);"; 8 9 public void highlightElement(WebElement element) 10 { 11 JavascriptExecutor js = (JavascriptExecutor) browser; 12 js.executeScript(JS_HIGHLIGHT, element); 13 } 14 }