错误:当前上下文中不存在名称断言

时间:2017-01-29 01:16:45

标签: c# selenium selenium-webdriver

我写了一些代码来验证用户是否可以登录酒店预订平台&我还添加了一个验证步骤。我收到一个错误 在Assert.IsTrue()方法上。代码中的所有其他内容都很好。

我在停下来之前做了一些可能的解决方案的研究。

以下是我在StackOverflow上找到的解决方案:Assert Method Error

我已将Microsoft.VisualStudio.QualityTools.UnitTestFramework添加到我的项目参考中并添加了

使用Microsoft.VisualStudio.TestTools.UnitTesting; &安培;使用NUnit.Framework;到我的使用部分代码。

我收到以下错误:

  

严重级代码说明项目文件行抑制状态错误   CS0234类型或命名空间名称'VisualStudio'不存在于   命名空间'Microsoft'(您是否缺少程序集引用?)   PremierInn_Valid_User_Login c:\ users \ XXXX \ onedrive \ documents \ visual   工作室   2015年\项目\ PremierInn_Valid_User_Login \ PremierInn_Valid_User_Login \的Program.cs   5活跃

     

严重级代码说明项目文件行抑制状态错误   CS0246找不到类型或命名空间名称“NUnit”(是吗?   缺少using指令或程序集引用?)   PremierInn_Valid_User_Login c:\ users \ XXXX \ onedrive \ documents \ visual   工作室   2015年\项目\ PremierInn_Valid_User_Login \ PremierInn_Valid_User_Login \的Program.cs   6活跃

删除绑定后我得到了同样的错误 - Microsoft.VisualStudio.TestTools.UnitTesting; &安培;使用NUnit.Framework。

最后,这里是代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using System.Threading.Tasks;

namespace PremierInn_Valid_User_Login {
    class Program {
        static void Main(string[] args) {

        //Instantiate Firefox Driver
        var driver = new FirefoxDriver();
        driver.Navigate().GoToUrl("https://secure.premierinn.com/en/mypremierinn/home.action");

        //Enter User Name - My Email Address
        var user = driver.FindElement(By.Id("loginForm.username"));
        user.SendKeys("abcdefg@gmail.com");

        //Enter Password - Account Pasword
        var pass = driver.FindElement(By.Id("loginForm.password"));
        pass.SendKeys("Testing123");

        //Click on Login button
        driver.FindElement(By.Id("loginForm.button")).Click();

        var loggedInHeader = driver.FindElement(By.Id("body-inner"));
        Assert.IsTrue(loggedInHeader.Displayed, "The user was able to successfully login.");

    }
    }
}

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可能需要参考NUnit程序集文档以使用NUnit运行测试。

NUnit QuickStart

答案 1 :(得分:1)

建议:

  1. 您正在尝试编写单元测试,但是在主程序而不是单元测试项目中? 创建单元测试项目。 see here

  2. 您是否正在尝试使用NUnit和Microsoft Unit测试框架?选择其中一个,而不是两个。