繁体   English   中英

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

[英]Error CS0103: The name 'TimeSpan' does not exist in the current context (CS0103) (testingProgram)?

我试图在Visual Studio中使用Selenium驱动程序在C#中创建测试。 我收到以下错误。 错误CS0103:名称'TimeSpan'在当前上下文中不存在(CS0103)(testingProgram)? 在提供的图像中还显示了第二个错误。 该代码使用PageObjectPattern >> https://www.automatetheplanet.com/page-object-pattern/

顺便说一句,我正在使用Mac。 我添加了一些图像以帮助更好地描述这种情况。下图显示了两个文件。 有人可以尝试在其末端运行以查看其是否有效。

我该如何解决? 有人可以尝试运行该程序以查看其是否在运行? 如何使该程序成功运行?

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

这是以下代码-

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

[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";


    [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.");
    }
}

好的,因此,在两种情况下,错误消息都会告诉您所缺少的内容。

首先, TimeSpanSystem命名空间中,并且没有using System; 在那里,所以编译器找不到它。

其次, SearchEngineMainPage没有构造器只接受一个参数(实际上它根本没有构造器,因此编译器会为您生成一个构造器,但是该构造器不带任何参数,因此效果仍然不佳)。

暂无
暂无

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

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