【发布时间】:2020-05-06 21:09:01
【问题描述】:
目前我在 Visual Studio 中创建了一个单元测试项目,以使用 C#、Selenium Web Driver 和 SpecFlow 自动化我的测试。
在 BDD 中编写我的 .feature 文件并生成步骤定义后,在运行所有测试时,测试管理器无法识别它们,并且我在 IntelliSense 中出现以下错误。
[Failure] Could not find file 'C:\Users\peter01\source\repos\AutomatedTests\ExampleProject\UnitTest1.cs'.
我的项目已经配置了输出类型“类库”,我在创建项目时删除了UnitTest1.cs文件。
我需要测试项目来识别并运行我的 Login.feature 文件中的所有测试
我的项目只有一个功能文件“Login.feature”
Feature: Login
Scenario: Login Success
Given i access website
When do login with user
| user | password|
| user123 | pass123 |
Then show message
和 LoginStepDefinition.cs
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using TechTalk.SpecFlow;
namespace ExampleNamespaceXXXX
{
[Binding]
public class LoginSteps
{
[Given(@"i access website")]
public void Example1()
{
example line code
}
[When(@"do login with user")]
public void Example2(Table table)
{
try
{
example line code
}
catch (NoSuchElementException)
{
example line code
}
}
[Then(@"show message")]
public void Example3()
{
example line code
}
}
}
【问题讨论】:
-
顺便说一句,您使用的是哪个版本的 specflow?如果您尝试添加新的功能文件,您是否看到 .feature 文件(.feature.cs 文件)后面的代码?重新生成功能文件时出现问题。
标签: c# selenium unit-testing selenium-webdriver specflow