繁体   English   中英

错误CS0246:找不到类型或名称空间名称'WebDriverWait'?

[英]Error CS0246: The type or namespace name 'WebDriverWait' could not be found?

我是刚开始使用Selenium和C#在Visual Studio中创建测试的人。 我有两个文件,一个是搜索引擎引擎页面,另一个是测试文件。 这些文件可以在这里找到--- https://www.automatetheplanet.com/page-object-pattern/

我总是会收到这个错误; 以下是问题的屏幕截图。

在此处输入图片说明 在此处输入图片说明

错误CS0246:找不到类型或名称空间名称'WebDriverWait'?

我究竟做错了什么??

以下是以下代码-

using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;

[TestClass]
public class SearchEngineTests
{
    public IWebDriver Driver { get; set; }
    public WebDriverWait Wait { get; set; }

    [TestInitialize]
    public void SetupTest()
    {
        this.Driver = new FirefoxDriver();
        this.Wait = new WebDriverWait(this.Driver, TimeSpan.FromSeconds(30));
    }

    [TestCleanup]
    public void TeardownTest()
    {
        this.Driver.Quit();
    }

    [TestMethod]
    public void SearchTextInSearchEngine_First()
    {
        SearchEngineMainPage searchEngineMainPage = new SearchEngineMainPage(this.Driver);
        searchEngineMainPage.Navigate();
        searchEngineMainPage.Search("Automate The Planet");
        searchEngineMainPage.ValidateResultsCount("264,000 RESULTS");
    }
}

这是第二个文件-

using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Support.PageObjects;

public class SearchEngineMainPage
{
    private readonly IWebDriver driver;
    private readonly string url = @"searchEngineUrl";

    public SearchEngineMainPage(IWebDriver browser)
    {
        this.driver = browser;
        PageFactory.InitElements(browser, this);
    }

    [FindsBy(How = How.Id, Using = "sb_form_q")]
    public IWebElement SearchBox { get; set; }

    [FindsBy(How = How.Id, Using = "sb_form_go")]
    public IWebElement GoButton { get; set; }

    [FindsBy(How = How.Id, Using = "b_tween")]
    public IWebElement ResultsCountDiv { get; set; }

    public void Navigate()
    {
        this.driver.Navigate().GoToUrl(this.url);
    }

    public void Search(string textToType)
    {
        this.SearchBox.Clear();
        this.SearchBox.SendKeys(textToType);
        this.GoButton.Click();
    }

    public void ValidateResultsCount(string expectedCount)
    {
        Assert.IsTrue(this.ResultsCountDiv.Text.Contains(expectedCount), "The results DIV doesn't contains the specified text.");
    }
}

并得到以下错误

  1. 错误CS1729:“ SearchEngineMainPage”不包含采用1个参数的构造函数(CS1729)(testingProgram)

  2. 错误CS0103:名称“ TimeSpan”在当前上下文中不存在(CS0103)(testingProgram)

#1: Selenium.Support软件包中提供了WebDriverWait 因此,请在SearchEngineTests测试类中导入以下包。

using OpenQA.Selenium.Support.UI;

#2: TimeSpan在默认的System名称空间中可用。因此,请同时添加以下名称空间

using System

关于添加所需的名称空间,如果在程序中看到带红色下划线的代码,则将光标移至该特定字段。 它将建议添加相关的名称空间

#3:关于SearchEngineMainPage构造函数错误。 请在带有引号作为驱动程序的SearchEngineMainPage类中添加构造函数。 看起来,您已经有了参数构造函数。 您是否仍然收到此错误?

认为您using OpenQA.Selenium.Support.UI;缺少名称空间using OpenQA.Selenium.Support.UI;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM