首页 > 解决方案 > Selenium WebDriver - 突出显示解决方案中的所有 Web 元素

问题描述

我想在测试运行期间突出显示每个 Web 元素(单击等)。大多数选项与下面的选项类似,需要将突出显示操作单独分配给每个 Web 元素。

IWebElement element = urrentWebDriver.FindElement(By.XPath("//input[@id='ID']"));
IJavaScriptExecutor js = (IJavaScriptExecutor)currentWebDriver;

js.ExecuteScript("arguments[0].setAttribute('style', arguments[1]);", element, " border: 3px solid red;");

有没有办法共同启用元素突出显示?可以通过 [SetUp] 来完成(我正在使用 Nunit)吗?

提前致谢。

标签: c#selenium-webdrivernunit

解决方案


我认为您可以通过创建自己的 findElement 函数来解决您的问题。在返回元素之前,使用 javascript 突出显示它。与其调用driver.findElement,不如调用您自己的 findElement 函数,该函数执行相同的操作并突出显示元素。

public WebElement findElement(By by) {
    WebElement element = driver.findElement(by);

    if (driver instanceof JavascriptExecutor) {
        ((JavascriptExecutor)driver).executeScript("arguments[0].style.border='3px solid red'", element);
    }
    return element;
}

推荐阅读