试图得到一个元素的CSS并断言它是真的,我一直在收到错误

时间:2015-01-08 17:04:45

标签: c# selenium nunit

我想验证网站导航栏上的CSS *,主要是颜色和位置。这是相关的HTML:

<div id="MainNavigationMenu" class="header-menu">

我获取导航CSS的方法如下:

public string getLandingColor(){
    IWebElement getLink = driver.FindElement(By.ClassName("header-menu"));

    //checking the color = #767676
    string NavigationMenu = getLink.GetCssValue("color");

    return NavigationMenu;
}

我的测试是:

[Test, Description("Testing Landing Page and Asserting Format Check")]
public void LandingPageVerificiation() {
        Assert.AreSame("#767676", getLandingColor());       
}

NUnit显示以下异常:

OpenQA.Selenium.NoSuchElementException : Unable to find element with class name == header-menu
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(String mechanism, String value)
at OpenQA.Selenium.By.FindElement(ISearchContext context)
at UnitTestProject1.Browser_Landing.getLandingColor() in c:\Users\erikag\Desktop\AutomationTests\VS_NetSeleniumTest\UnitTestProject1\UnitTestProject1\Browser_Landing.cs:line 53
at UnitTestProject1.ServiceConsoleTest.LandingPageVerificiation() in c:\Users\erikag\Desktop\AutomationTests\VS_NetSeleniumTest\UnitTestProject1\UnitTestProject1\TestSuite_LandLog.cs:line 39

我的浏览器打开,所以我知道我的测试设置和拆解工作正常。

如何使用类名正确检索HTML中的此元素,并声明CSS值颜色为=#767676

* 该网站是www.smartdrive.net,HTML样本直接来自

1 个答案:

答案 0 :(得分:0)

为了让Webdriver与IE11一起工作,我在谷歌论坛上发现了以上内容:

让IE11工作;的webdriver

https://code.google.com/p/selenium/wiki/InternetExplorerDriver

https://www.youtube.com/watch?v=hQFwa8OgxLM

regedit修复

  1. 仅对于IE 11,您需要在目标计算机上设置一个注册表项,以便驱动程序可以维护与其创建的Internet Explorer实例的连接。对于32位Windows安装,您必须在注册表编辑器中检查的密钥是HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BFCACHE。对于64位Windows安装,密钥为HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BFCACHE。请注意,FEATURE_BFCACHE子项可能存在也可能不存在,如果不存在,则应创建该子项。重要说明:在此密钥内,创建一个名为iexplore.exe的DWORD值,其值为0. 取自IE webdriver帮助文档

  2. HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ FeatureControl \ FEATURE_DISABLE_INTERANL_SECURITY_MANAGER

    • 确保iexplore.exe dword = 1
  3. HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_DISABLE_INTERANL_SECURITY_MANAGER

    • 确保iexplore.exe dword = 1
  4. 互联网选项&gt;安全性,选中启用保护模式&amp;高级&gt;安全&gt;取消选中“启用增强保护模式”