Итак, позвольте мне предварить это словами, что я уверен, что это что-то маленькое, что я забыл, но даже мой менеджер не может понять, почему это происходит. У меня есть один набор тестов, которые я написал, используя SpecFlow. В нашей структуре используется файл Dto, файл Page Object, файл Feature и файл Steps. Моя настройка: VS 2019 Расширение SpecFlow для Visual Studio Deveroom для SpecFlow (Visual Studio 2019)
Пакеты: MongoDB.Bson, .Driver .Driver.Core 2.10.1 Selenium. Firefox .WebDriver 0.26.0 SpecFlow 3.1.78 SpecFlow.Tools.MsBuild.Generation v 3.1.78 xunit.core, .extensibility.core, .extensibility.execution, .runner.visualstudio 2.4.1
Все остальное, Я могу ответить на большинство вопросов, хотя мне может потребоваться время, чтобы найти ответ. Вчера мы обновились до фреймворка .netcore, но это не должно было быть проблемой. Проблема в том, что я добавил 2 группы тестирования, одну для банков и одну для PlanSettings. Я ДУМАЮ, что настроил их одинаково: сначала - созданный файл Dto с использованием Add New Item> C# Code File, файлы записаны одинаково и, вероятно, должны быть объединены, но это ни здесь, ни там. Второй - созданный файл Feature с использованием Add New Item > SpecFlow> SpecFlow Feature File и переименовывается в тестовое имя. Третий - созданный файл Steps с использованием Add New Item> SpecFlow> SpecFlow Step Definition и переименовывается в тестовое имя функции с шагами, добавленными в конец. Четвертый - пишет код объекта и связывает все шаги со всеми. шаг определения пятый - строить и молиться
Банки показывает, в настройках плана нет. Я могу прикрепить код при необходимости, но я даже не уверен, из какого файла построен тест. Будем ждать совета, прежде чем уточнить или продолжить. Предпочел бы не баловаться с расширениями, но я буду, если придется. Мой менеджер никогда не видел этого раньше и посоветовал провести дополнительные исследования.
Что я сделал: Восстановленные файлы функций Закомментировал весь новый код и сохранил только старый известный рабочий (на другом тесте) код. Промойте и повторите код - это происходило до того, как мы перешли на код. net, поэтому мне все равно пришлось переписать многое из того, что я сделал, почему бы и нет? Обменивались расширениями - это ДЕЙСТВИТЕЛЬНО сломало мой предыдущий. net репо
Оба теста были написаны в один и тот же день в течение нескольких часов одним и тем же инженером. ЕДИНСТВЕННОЕ различие заключается в том, что более старшего инженера по автоматизации сейчас нет, поэтому он не помог мне в процессе настройки, но опять же, это не должно иметь значения, поскольку мне также пришлось переписать код банка после миграции, и что один работает нормально.
Заранее спасибо
Уточняющие ответы: Да, я написал два теста - один показывает, один не имеет файлов .cs, имеют одинаковые верхние части, но вот весь файл:
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by SpecFlow (http://www.specflow.org/).
// SpecFlow Version:3.1.0.0
// SpecFlow Generator Version:3.1.0.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
#region Designer generated code
#pragma warning disable
namespace Abarca.Tests.UI.SpecFlow.Features.Clients.ClientBenefitSetup
{
using TechTalk.SpecFlow;
using System;
using System.Linq;
[System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.1.0.0")]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public partial class ClientBenefitSetupBenefitPlanSettingsFeature : object, Xunit.IClassFixture<ClientBenefitSetupBenefitPlanSettingsFeature.FixtureData>, System.IDisposable
{
private static TechTalk.SpecFlow.ITestRunner testRunner;
private string[] _featureTags = ((string[])(null));
private Xunit.Abstractions.ITestOutputHelper _testOutputHelper;
#line 1 "ClientBenefitSetupBenefitPlanSettings.feature"
#line hidden
public ClientBenefitSetupBenefitPlanSettingsFeature(ClientBenefitSetupBenefitPlanSettingsFeature.FixtureData fixtureData, Abarca_Tests_UI_XUnitAssemblyFixture assemblyFixture, Xunit.Abstractions.ITestOutputHelper testOutputHelper)
{
this._testOutputHelper = testOutputHelper;
this.TestInitialize();
}
public static void FeatureSetup()
{
testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner();
TechTalk.SpecFlow.FeatureInfo featureInfo = new
TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"),
"ClientBenefitSetupBenefitPlanSettings", "\tThis feature tests all
functionalities contained in the Benefit Plan Settings sc" +
"reen under the LOB Section of the Client Benefit Setup.", ProgrammingLanguage.CSharp, ((string[])(null)));
testRunner.OnFeatureStart(featureInfo);
}
public static void FeatureTearDown()
{
testRunner.OnFeatureEnd();
testRunner = null;
}
public virtual void TestInitialize()
{
}
public virtual void TestTearDown()
{
testRunner.OnScenarioEnd();
}
public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo)
{
testRunner.OnScenarioInitialize(scenarioInfo);
testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs<Xunit.Abstractions.ITestOutputHelper>(_testOutputHelper);
}
public virtual void ScenarioStart()
{
testRunner.OnScenarioStart();
}
public virtual void ScenarioCleanup()
{
testRunner.CollectScenarioErrors();
}
public virtual void FeatureBackground()
{
#line 4
#line hidden
TechTalk.SpecFlow.Table table169 = new TechTalk.SpecFlow.Table(new string[] {
"attribute",
"value"});
table169.AddRow(new string[] {
"User",
"Automation"});
table169.AddRow(new string[] {
"Password",
"@Abca123"});
table169.AddRow(new string[] {
"UserType",
"Employee"});
#line 5
testRunner.Given("I have successfully logged in to Darwin", ((string)(null)), table169, "Given ");
#line hidden
#line 10
testRunner.And("I access the Client Benefit Setup option in the menu", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
TechTalk.SpecFlow.Table table170 = new TechTalk.SpecFlow.Table(new string[] {
"attribute",
"value"});
table170.AddRow(new string[] {
"SearchId",
"abca"});
#line 11
testRunner.And("I filter by the ID column within the Client Benefit Setup List screen", ((string)(null)), table170, "And ");
#line hidden
#line 14
testRunner.And("I press the Edit link for the filtered record within the Client Benefit Setup scr" +
"een", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
#line 15
testRunner.And("I press the Line of Business link within the Clients Edit screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
TechTalk.SpecFlow.Table table171 = new TechTalk.SpecFlow.Table(new string[] {
"attribute",
"value"});
table171.AddRow(new string[] {
"SearchId",
"020"});
#line 16
testRunner.And("I filter by the ID column within the Line Of Business List screen", ((string)(null)), table171, "And ");
#line hidden
#line 19
testRunner.And("I press the Edit link for the filtered record within the Line of Business List sc" +
"reen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
#line 20
testRunner.And("I press the Benefit Plans link within the Line of Business Edit screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
TechTalk.SpecFlow.Table table172 = new TechTalk.SpecFlow.Table(new string[] {
"attribute",
"value"});
table172.AddRow(new string[] {
"SearchId",
"020"});
#line 21
testRunner.And("I filter by the ID column within the Benefit Plans List screen", ((string)(null)), table172, "And ");
#line hidden
#line 24
testRunner.And("I press the Edit link for the filtered record within the Benefit Plans List scree" +
"n", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
#line 25
testRunner.And("I press the Benefit Plan Settings link within the Benefit Plans screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
TechTalk.SpecFlow.Table table173 = new TechTalk.SpecFlow.Table(new string[] {
"attribute",
"value"});
table173.AddRow(new string[] {
"SearchId",
"020"});
#line 26
testRunner.And("I filter by the Name column within the Benefit Plan Settings screen", ((string)(null)), table173, "And ");
#line hidden
#line 29
testRunner.And("I press the Edit link for the filtered record within the Benefit Plans Settings L" +
"ist screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
}
void System.IDisposable.Dispose()
{
this.TestTearDown();
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.1.0.0")]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class FixtureData : System.IDisposable
{
public FixtureData()
{
ClientBenefitSetupBenefitPlanSettingsFeature.FeatureSetup();
}
void System.IDisposable.Dispose()
{
ClientBenefitSetupBenefitPlanSettingsFeature.FeatureTearDown();
}
}
}
}
#pragma warning restore
#endregion
(прошу прощения за форматирование)