首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium代码生成像CS0246和CS0103这样的错误消息

Selenium代码生成像CS0246和CS0103这样的错误消息
EN

Stack Exchange QA用户
提问于 2019-04-09 09:58:01
回答 1查看 4.1K关注 0票数 2

在尝试运行下面的Selenium代码之后,我在Visual中获得了很多CS0246代码错误消息。我选择了ASP.Net核心文件来编程代码。

该文件名为LoginTest.cs。以下是代码:

代码语言:javascript
复制
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;

namespace Tests
{
    [TestFixture]
    class LoginTest
    {
        IWebDriver Driver;

        [SetUp]
        public void SetUp()
        {
            Driver = new FirefoxDriver();
        }

        [TearDown]
        public void TearDown()
        {
            Driver.Quit();
        }

        [Test]
        public void ValidAccount()
        {
            Driver.Navigate().GoToUrl("http://the-internet.herokuapp.com/login");
            Driver.FindElement(By.Id("username")).SendKeys("tomsmith");
            Driver.FindElement(By.Id("password")).SendKeys("SuperSecretPassword!");
            Driver.FindElement(By.CssSelector("button")).Click();
        }
    }
}

我收到的错误消息是:

CS0246无法找到类型或命名空间名称'NUnit‘(您是缺少使用指令还是程序集引用?)CS0246无法找到类型或命名空间名称'OpenQA‘(您是缺少使用指令还是程序集引用?)CS0246无法找到类型或命名空间名称'OpenQA‘(您是缺少使用指令还是程序集引用?)CS0246无法找到类型或命名空间名称'TestFixtureAttribute‘(您是缺少使用指令还是程序集引用?)CS0246无法找到类型或命名空间名称'TestFixture‘(您是缺少使用指令还是程序集引用?)CS0246无法找到类型或命名空间名称'IWebDriver‘(您是缺少使用指令还是程序集引用?)CS0246无法找到类型或命名空间名称'SetUpAttribute‘(您是缺少使用指令还是程序集引用?)CS0246无法找到类型或命名空间名称'SetUp‘(您是缺少使用指令还是程序集引用?)CS0246无法找到类型或命名空间名称'TearDownAttribute‘(您是缺少使用指令还是程序集引用?)CS0246无法找到类型或命名空间名称'TearDown‘(您是缺少使用指令还是程序集引用?)CS0246无法找到类型或命名空间名称'TestAttribute‘(您是缺少使用指令还是程序集引用?)无法找到类型或名称空间名称‘CS0246’(您是缺少了一个使用指令还是程序集引用?)CS0246无法找到类型或命名空间名称'FirefoxDriver‘(您是缺少使用指令还是程序集引用?)CS0103名称'By‘在当前上下文测试中不存在

我下载了NUnit 3测试适配器(per https://stackoverflow.com/questions/47375788/install-nunit-with-visual-studio-2017)。

由于我在本地主机上也有HTTP 502.5进程错误,所以我信任IIS证书(每个https://blogs.msdn.microsoft.com/robert_mcmurray/2013/11/15/how-to-trust-the-iis-express-self-signed-certificate/)。

最后,我按照https://developercommunity.visualstudio.com/content/problem/27820/cs0246-the-type-or-namespace-name-system-could-not.html做了一个dotnet还原

我所做的一切都无法阻止这些错误消息。由于我是Selenium新手,而且我是从一个关于Selenium基础知识的教程中运行这个代码文件的,所以我不知道问题出在哪里。有没有人知道我可能做错了什么,或者我需要做些什么来解决这个问题?

更新1:

谢谢,凯特。我在References节点下有Nunit,但没有OpenQA.Selenium,所以我尝试在Manage包中查找它,但是找不到它。我已经拥有的是Selenium.Webdriver和Selenium.Support。你知道为什么在浏览下找不到OpenQA.Selenium吗?提前谢谢。

更新2:

在添加包Selenium.WebDriver、Selenium.Support和Selenium.WebDriverBackedSelenium之后,我设法消除了错误消息,但是当运行am时,我得到了一条错误消息,即不能直接启动具有输出类库类型的项目。为了调试此项目,请向此解决方案中添加引用库项目的可执行项目。将可执行项目设置为启动项目‘。我正在努力弄清楚如何做到这一点。如有任何明确的解释,将不胜感激。

更新3:

最后,也设法消除了上面的错误消息。我只需要安装Selenium.Firefox.WebDriver软件包。谢谢你提供的帮助

EN

回答 1

Stack Exchange QA用户

发布于 2019-04-09 12:03:02

您的前两个错误导致了其余的错误。

您需要做的第一件事是确保您的项目(不是您的解决方案)具有对NUnit和OpenQA的引用。

在Visual 2017及更高版本中,打开解决方案资源管理器,然后在项目中展开引用节点,然后展开NuGet节点。您应该看到列出了NUnit和OpenQA.Selenium。如果没有,右键单击并选择“管理NuGet包”.若要打开项目的NuGet并同时安装两者,请执行以下操作。这应该可以解决你所遇到的大部分问题,并使你更容易处理其他问题。

您可以在项目这里中找到有关处理引用的更多信息。

如果正确的引用已经到位,则可能需要调整设置以确保Selenium和NUnit dll文件被复制到您的运行目录中。您可以从上面提到的链接中找到有关如何做到这一点的信息。

票数 0
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/38668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档