当前位置: 首页 > 知识库问答 >
问题:

如何修复此C#问题没有测试匹配给定的测试用例过滤器'FullyQualifiedName=

邢高爽
2023-03-14

我是C#和Selenium的新手,我已经编写了很多脚本,但当我编写了多个方法或多个类时,会出现一个问题:单个方法和单个类总是运行良好。

我已经尝试了互联网上所有可能的解决方案,我自己尝试了一个解决方案,其中我做了一个新项目,复制了类名,方法名称和命名空间以外的主代码,并将其粘贴到新项目中,它工作正常,这是同样的问题,但我想知道问题到底是什么。

These are the Four Classes:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SignUpPageAssignment
{

    public class SignUpDetails
    {
        public static string registerPageReDirect = "login_register";
        public static string signUpUserNameID = "username";
        public static string signUpPasswordID = "password";
        public static string confirmPasswordID = "re_password";
        public static string fullNameID = "full_name";
        public static string signUpEmailID = "email_add";
        public static string signUpUserName = "TouqeerABCDEFGHI";
        public static string signUpPassword = "Password@123";
        public static string confirmPassword = "Password@123";
        public static string fullName = "Touqeer Saleem";
        public static string email = "sabaloch67@gmail.com";
        public static string checkBox = "tnc_box";
        public static string captchaForm = "captcha-form";
        public static string signUpButton = "Submit";

    }
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SignUpPageAssignment
{
public class LoginDetails
   {
       public static string loginUserNameID = "username";
       public static string loginPasswordID = "password";
       public static string loginUserName =   SignUpDetails.signUpUserName;
       public static string loginPassword = SignUpDetails.signUpPassword;
       public static string loginButton = "login";
       public static string redirectToLogin = "Click here to login";

   }
}



using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace SignUpPageAssignment
{
class Automation
{
        public void TestMethod1()
        {
            IWebDriver driver = new ChromeDriver();


            driver.Url = "http://adactin.com/HotelApp/";

            // SIGN UP START
                               driver.FindElement(By.ClassName(SignUpDetails.registerPageReDirect)).Click();


            driver.FindElement(By.Id(SignUpDetails.signUpUserNameID)).SendKeys(SignUpDetails.signUpUserName);
            driver.FindElement(By.Id(SignUpDetails.signUpPasswordID)).SendKeys(SignUpDetails.signUpPassword);
            driver.FindElement(By.Id(SignUpDetails.confirmPasswordID)).SendKeys(SignUpDetails.confirmPassword);
            driver.FindElement(By.Id(SignUpDetails.fullNameID)).SendKeys(SignUpDetails.fullName);
            driver.FindElement(By.Id(SignUpDetails.signUpEmailID)).SendKeys(SignUpDetails.email);
            driver.FindElement(By.Id(SignUpDetails.checkBox)).Click();
            driver.FindElement(By.Id(SignUpDetails.captchaForm)).SendKeys("");

            Thread.Sleep(5000);

            driver.FindElement(By.Id(SignUpDetails.signUpButton)).Click();

            //SIGN UP END

            //LOGIN IN START

            driver.FindElement(By.LinkText(LoginDetails.redirectToLogin)).Click();
            driver.FindElement(By.Id(LoginDetails.loginUserNameID)).SendKeys(LoginDetails.loginUserName);
            driver.FindElement(By.Id(LoginDetails.loginPasswordID)).SendKeys(LoginDetails.loginPassword);
            driver.FindElement(By.Id(LoginDetails.loginButton)).Click();

            //LOGIN IN STOP

            //IWebElement result =     driver.FindElement(By.ClassName("reg_success"));


            //Assert.Equals("reg_success", result);

        }
    }
}


using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace SignUpPageAssignment
{
[TestClass]
public class UnitTest1
{
    public static void Main(String[] args)
    {
        Automation automation = new Automation();

        automation.TestMethod1();

    } 
}
}

我正在制作一个注册自动化脚本,该脚本注册并在注册后登录

显示的错误是:

[12/28/2018 10:44:11 PM Informational] Executing test method 'SignUpPageAssignment.UnitTest1.Main'
[12/28/2018 10:44:11 PM Informational] Executing test method 'SignUpPageAssignment.UnitTest1.Main'
[12/28/2018 10:44:11 PM Informational] ------ Run test started ------
[12/28/2018 10:44:14 PM Warning] No test matches the given testcase filter `FullyQualifiedName=SignUpPageAssignment.UnitTest1.Main` in C:\Users\touqeer\source\repos\SignUpPageAssignment\SignUpPageAssignment\bin\Debug\SignUpPageAssignment.dll
[12/28/2018 10:44:14 PM Informational] ========== Run test finished: 0 run (0:00:03.6212841) ==========

共有3个答案

徐阳炎
2023-03-14

您不使用Main方法来运行测试。

相反,请在要作为测试运行的方法上添加 [TestMethod] 注释。测试运行程序将负责创建测试类的实例并调用这些方法。

带有[TestMethod]注释的方法必须是公共的,并且无效的,不能是static,并且不应采用任何参数。即使将[TestMethod]放在Mainmethod上,测试也可能无法运行。

这是您的UnitTest1类应该是什么样子:

namespace SignUpPageAssignment
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
            Automation automation = new Automation();

            automation.TestMethod1();

        } 
    }

}
翟兴邦
2023-03-14

我的情况是-在新的VS2019中打开的NUnit 2.5的旧项目给出了相同的错误。

由于NUnit 2.x默认不包含在VS2019中——您需要安装它。

转到菜单-

然后搜索“NUnit 2 测试适配器

然后安装它。

这对我很有帮助。

阮喜
2023-03-14

已通过为后续包运行最新版本的更新,解决了“没有测试与给定的测试用例筛选器完全限定名称匹配”的问题:

Microsoft.NET.Test.Sdk
MSTest.TestAdapter
MSTest.TestFramework

对于新单位测试项目:

NUnit3TestAdapter
 类似资料:
  • 22.13.3.测试过滤 从Gradle1.10开始,可以根据测试任务名进行特点的任务测试,过滤与在构建脚本的段落中引入/排除测试任务(-Dtest.single, test.include and friends)是两种不同的机制.后者是基于文件,如测试实现类的物理位置.选择文件级的测试会不支持那些被测试等级过滤掉的一些有趣的测试脚本.下面的这些有些已经被实现,有些是将来会实现的: 过滤特定等级

  • 在为 Glide 报告 bug 的时候,如果您能同时提供一个 Pull Request 包含失败的测试用例 (failing test case) 以演示你正在报告的问题,会对我们很有帮助。失败测试用例可以协助避免交流问题,使维护者容易复现问题,并可在一定程度上提供在将来不再复现该问题的一些保障。 这个指南将手把手地带您撰写一个失败测试用例。 初始化设置 在编写任何代码之前,你需要有少许的一些前置

  • 本文向大家介绍AngularJS 单元测试过滤器,包括了AngularJS 单元测试过滤器的使用技巧和注意事项,需要的朋友参考一下 示例 过滤器代码: 考试: 跑! 备注:在inject测试的调用中,您的过滤器需要使用其名称+ Filter来指定。原因是,每当您为模块注册过滤器时,Angular都会Filter在其名称后面附加一个注册它。

  • 接口测试没有接口文档如何编写测试用例? 听说是可以通过抓包来确定请求参数和响应的预期结果,但是一直没理解的是,如果这个请求的参数和返回的响应结果是错误的(因为这个接口本来是需要测试的),测试用例又拿来做测试数据(即做请求数据和预期结果),这样的话不是白测试吗?还是说这个请求参数和返回的响应结果一定是正确的,为什么??? 希望知道的小伙伴解答一下,十分感谢!

  • 我正在寻找一种有效地针对JUnit5集成测试的方法。测试使用gradle运行,所有集成测试类都由自定义类级别注释修饰。我可以根据它们的类名模式或通过使用标记对它们进行分类来筛选它们,但是有没有一种方法可以设置一个针对带有注释的测试的测试套件呢?

  • 我有一个TestNG数据提供程序,里面有很多测试数据。我正在解析一个Excel工作表,所以数据提供者有例如15个测试数据列表。 我不想用所有15个测试数据集运行我的测试,只有一个。是否可以筛选数据集并仅使用该数据集运行测试?例如,让我们用id1行运行测试。这只是一个例子,我将把我的数据存储为测试对象列表。