![](/img/trans.png)
[英]Visual Studio Test Explorer cannot run tests in compiled test project
[英]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.