测试未出现在Visual Studio测试资源管理器中

时间:2016-03-08 14:45:14

标签: c# visual-studio

我在设置测试时遇到问题。我已经尝试使用控制台c#文件进行我的selenium测试,该测试运行测试,但它并没有出现在测试资源管理器中。当我创建一个单元测试c#项目时,它不会在测试资源管理器中运行或显示。做错了什么?

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

namespace SeleniumTests1
{
    [TestClass]
    class SeleniumTest
    {
        [TestMethod]
        static void Main(string[] args)
        {

            IWebDriver driver = new FirefoxDriver();
            driver.Navigate().GoToUrl("http://www.bing.com/");
            driver.Manage().Window.Maximize();

            IWebElement searchInput = driver.FindElement(By.Id("sb_form_q"));
            searchInput.SendKeys("Hello World");
            searchInput.SendKeys(Keys.Enter);

            searchInput = driver.FindElement(By.Id("sb_form_q"));
            string actualvalue = searchInput.GetAttribute("value");

            Assert.AreEqual(actualvalue, "Hello World");
            driver.Close();
        }
    }
}

4 个答案:

答案 0 :(得分:3)

这可能有用。我认为你的TestMethod需要public并且是非静态的,以便它出现在Test Explorer中。

namespace SeleniumTests1
{
    [TestClass]
    public class SeleniumTest
    {
        [TestMethod]
        public void Main()
        {

答案 1 :(得分:1)

虽然这是一个相当明显和直接的答案,但是,看着 Peter 最初发布的代码和我自己的愚蠢错误,我意识到我们可能出错的另一个地方是不制作我们的外部测试类public 否则他们将默认为内部并且包含的​​测试不会显示在测试资源管理器中。因此,单元测试代码的最终形式将以这样的方式开始

namespace SeleniumTests1
{
  [TestClass]
  public class SeleniumTest
  {
    [TestMethod]
    public void testMethod(string[] args)
    {

答案 2 :(得分:0)

你正在制作一种Main方法测试方法吗? 创建一个单独的测试项目,然后引用您正在测试的项目并将代码移动到那个,例如。

var obj_fail = {};
$.getJSON("geojson/com/14001.json")
 .done(function(data){
    obj_fail = data;
 });

答案 3 :(得分:0)

我想我可能已经设法通过从selenium网站导入net40文件中的4个dll来解决此问题。