簡體   English   中英

測試未出現在 Visual Studio 測試資源管理器中

[英]Tests not appearing in Visual Studio test explorer

我在設置測試時遇到問題。 我曾嘗試將控制台 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();
        }
    }
}

這可能有效。 我認為您的 TestMethod 需要是public和非靜態的,以便它出現在測試資源管理器中。

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

您正在將 Main 方法作為測試方法? 創建一個單獨的測試項目,然后引用您正在測試的項目並將您的代碼移至該項目,例如

namespace Tests
{
    [TestClass]
    public class MyProjTests
    {
        [TestMethod]
        public void Test{
            //your code
        }
    }
}

雖然這是一個相當明顯和直接的答案,但是,查看 Peter 最初發布的代碼和我自己的愚蠢錯誤,我意識到我們可能出錯的另一個地方是不公開我們的外部測試類,否則他們將默認到內部和包含的測試不會顯示在測試資源管理器中。 因此,單元測試代碼的最終形式將以這樣的方式開始

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

我想我可能已經通過從 selenium 網站從 net40 文件導入 4 個 dll 來解決這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM