public void GivenIHaveOpenedSettingsTerminals() { BDMainPage BDMain = new BDMainPage(); BDMain.OpenTerminals(); IsTrue(BDMain.AssertOpenTerminals(), "Не найден заголовок на странице Терминалы"); }
public void WhenIGoToManualDrippingPage() { BDMainPage mainPage = new BDMainPage(); mainPage.OpenManualDripping(); IsTrue(mainPage.AssertOpenManualDripping(), "Отсутствует заголовок Ручное Раскапывание"); }
public void WhenIGoToPositiveControlsPage() { BDMainPage mainPage = new BDMainPage(); mainPage.OpenPositiveControls(); IsTrue(mainPage.AssertOpenPositiveControls(), "Отсутствует заголовок Положительные контроли"); }
public void ThenICheckThatBatchesWithStatusHadSamlesOnlyWithTestOrOnlyWith(string status, string testName1, string testName2) { // проверяем, что в каждом бэтче только один тест BDMainPage bDMain = new BDMainPage(); bDMain.OpenBatches(); IsTrue(bDMain.AssertOpenBatches(), "Что-то пошло не так. не найден заголовок Бэтчи"); BDBatchesPage bDBatches = new BDBatchesPage(); bDBatches.WaitSearchButtonClickability(); // проходим по всем бэтчам в статусе Собран и проверяем, что внутри есть только один из тестов int counter = 1; foreach (Object i in bDBatches.ListOfBatchesWithThisStatus(status)) { bDBatches.OpenContentOfBatchForAnyStatus(status, counter); CommonSteps common = new CommonSteps(); SecondTab = common.ThenTheTabWithTitleShouldBeOpened("BatchDropper"); BDContentOfBatchPage bDContent = new BDContentOfBatchPage(SecondTab); IsFalse(bDContent.AssertFindSampleWithThisName(testName1) & bDContent.AssertFindSampleWithThisName(testName2), "Что то пошло не так, в бэтче есть тесты с разными программами амплификации"); Debug.WriteLine($"Проверка бэтча {counter} завершена"); ++counter; bDMain.OpenBatches(); } }
public void WhenIConfirmAllParent_BatchesIdForStartProductionAcceptance() { BDMainPage mainPage = new BDMainPage(); mainPage.OpenProductionAcceptance(); BDProductionAcceptancePage bDProductionAcceptancePage = new BDProductionAcceptancePage(); MSDatabaseConnector _msBDConnector = new MSDatabaseConnector(Config.MSDbBatchDropperStab); string command = $@"Select count ([Id]) FROM [BatchDropperStab].[dbo].[Batches] Where Status = 10"; var countOfBatches = _msBDConnector.QueryExecutorScalar(command); int intCount; intCount = System.Convert.ToInt32(countOfBatches); if (intCount != 0) { string command1 = $@"SELECT [Id] FROM[BatchDropperStab].[dbo].[Batches] Where Status = 10 Order by ChangedOn desc"; var listOfID = _msBDConnector.QueryExecutor(command1); foreach (string i in listOfID) { Debug.WriteLine(i); bDProductionAcceptancePage.SetParentBatch(i); } } IsTrue(bDProductionAcceptancePage.AssertCountOfElementsInfo(countOfBatches), "Количество элементов не соответствует ожидаемому"); }
public void WhenIAddDNK_SampleOfTestToField(int count, string name, string workplace) { MSDatabaseConnector _msBDConnectorLW = new MSDatabaseConnector(Config.MSDbLW); string command = $@"select TOP({count}) s.TEXT_ID from test t with (nolock) inner join SAMPLE s on t.SAMPLE_NUMBER=s.SAMPLE_NUMBER where t.status='I' and t.ANALYSIS='{name}' and s.TEMPLATE = 'smp_in' and s.status='I' and s.LOCATION = 'HELIX-SPB' "; var result = _msBDConnectorLW.QueryExecutor(command); if (workplace.Equals("IsolationDNK")) // переход в выделение в ДНК и добавление образца { BDMainPage bDMainPage = new BDMainPage(); bDMainPage.OpenDNKWorkplace(); BDIsolationDNKPage bDIsolationDNKPage = new BDIsolationDNKPage(); bDIsolationDNKPage.AssertTheButtonIsVisible(); bDIsolationDNKPage.ClickCreateBatch(); bDIsolationDNKPage.AssertBatchIsCreated(); bDIsolationDNKPage.SetParentBatchID(); BDPlanshetPositionPage bDPlanshetPositionPage = new BDPlanshetPositionPage(); Thread.Sleep(500); // bDPlanshetPositionPage.NewWindowConfirmUsercode(); bDIsolationDNKPage.AddSample(result); } else if (workplace.Equals("ProductionAcceptance")) // переход в Прием в постановке и добавление образца { BDMainPage bDMainPage = new BDMainPage(); bDMainPage.OpenProductionAcceptance(); BDProductionAcceptancePage bDProductionAcceptancePage = new BDProductionAcceptancePage(); bDProductionAcceptancePage.AddSample(result); } }
public void ThenIHaveOpenedSettingsReagents() { BDMainPage BDMain = new BDMainPage(); BDMain.OpenDictionariesReagents(); IsTrue(BDMain.AssertOpenDictionaries_Reagents(), "Не найден заголовок на странице Реагенты"); }
public void GivenILoginAsAdmin(string login, string termID) { NewLogin365Page testLogin365Page = new NewLogin365Page(); // стандартная форма авторизации testLogin365Page.LoginAsUser(login); TestLoginChangePasswordPage testLoginChangePasswordPage = new TestLoginChangePasswordPage(); // Форма смены пароля IsFalse(testLoginChangePasswordPage.AssertNewPasswordField(), "Пароль устарел! Смените пароль для этого пользователя в администрировании 365, а затем пропишите его в файле App.config в разделе UserSettings. Рекомендуемый пароль: Autotests+инкремент, например Autotests5"); TestLoginWrongPasswordPage testWrongPasswordPage = new TestLoginWrongPasswordPage(); // Форма неправильного пароля IsFalse(testWrongPasswordPage.AssertWrongPassword(), "Вы ввели неправильный пароль. Проверьте правильность пароля"); MainPage MainP = new MainPage(); IsTrue(MainP.AssertLeftMenu(), "Левое меню не подгрузилось в течение таймаута. Лагает главный сайт!"); Console.WriteLine("Вход на сайт осуществлен"); MainP.GoToBatchDropper(); BDMainPage BDMain = new BDMainPage(); IsTrue(BDMain.AssertMainPageIsUnlocked(), "Таймаут. Модуль BatchDropper не успел подгрузиться."); BDMain.SetTerminal(termID); // IsTrue(BDMain.AssertTermName(), "Терминал не применился. Проверьте наличие терминала в справочниках."); IsTrue(BDMain.AssertMainTitle(), "Не найден заголовок на главной странице."); }
public void WhenIGoToReagentsPage() { BDMainPage mainPage = new BDMainPage(); mainPage.OpenReagentsWorkplace(); IsTrue(mainPage.AssertOpenReagentsWorkplace(), "Не туда попали. Переход на страницу Реагенты не осуществлен!"); }
public void WhenIGoToFormingPage() { BDMainPage mainPage = new BDMainPage(); mainPage.OpenBatchFormingWorkplace(); IsTrue(mainPage.AssertOpenBatchFormingWorkplace(), "Отсутствует заголовок Формирование тестовых бэтчей"); }
public void WhenIGoToSettingsPage() { BDMainPage bDMainPage = new BDMainPage(); bDMainPage.OpenSettings(); IsTrue(bDMainPage.AssertOpenSettings(), "Не найден заголовок пункта"); }
public void WhenIGoToDevisesPage() { BDMainPage bDMainPage = new BDMainPage(); bDMainPage.OpenDeviceSettings(); IsTrue(bDMainPage.AssertOpenDeviceSettings(), "Заголовок Настройки оборудования отсутствует, либо страница не открылась"); }
public void WhenIIntroduceTheTerminalICheckTerminalNameField() { BDMainPage BDMain = new BDMainPage(); BDMain.OpenSorting(); TerminalSettingPage TSettings = new TerminalSettingPage(); IsTrue(TSettings.AssertForChooseTerminalName(), "Что-то пошло не так, нет поля или заголовка выбора терминала"); }
public void ThenTaskForReagentsWillBeCreate() { BDMainPage mainPage = new BDMainPage(); mainPage.OpenReagentsWorkplace(); BDReagentsWorkplacePage bDReagents = new BDReagentsWorkplacePage(); bDReagents.SetTestBatchID(); bDReagents.SetUsercode(); }
public void ThenICheckCountOfBatches() { BDMainPage bDMainPage = new BDMainPage(); bDMainPage.OpenBatches(); IsTrue(bDMainPage.AssertOpenBatches(), "Не найден заголовок на странице"); BDBatchesPage bDBatchesPage = new BDBatchesPage(); IsTrue(bDBatchesPage.TheTableIsEmpty(), "В таблице есть бэтчи"); }
public void ThenIOpenReverseTranscriptionWorkplaceAndStartNewBatch() { BDMainPage bDMainPage = new BDMainPage(); bDMainPage.OpenReverseTranscriptionWorkplace(); IsTrue(bDMainPage.AssertReverseTranscriptionWorkplace(), "Заголовок рабочего места не найден"); MSDatabaseConnector _msBDConnector = new MSDatabaseConnector(Config.MSDbBatchDropperStab); string command = $@"Select count ([Id]) FROM [BatchDropperStab].[dbo].[Batches] Where Status = 9 and name like 'RT-%'"; var countOfBatches = _msBDConnector.QueryExecutorScalar(command); // Сколько бэтчей со статусом "Сформирован" int intCount; intCount = System.Convert.ToInt32(countOfBatches); // перевод количества в int if (intCount != 0) { for (int i = 1; i <= intCount; i++) { Debug.WriteLine(i); // иконка Взять в работу - подтвердить взять в работу BDReagentsWorkplacePage bDReagentsWorkplacePage = new BDReagentsWorkplacePage(); bDReagentsWorkplacePage.ClickTakeToWorkButton(); bDReagentsWorkplacePage.ClickConfirmTakeToWorkButton(); CommonSteps commonSteps = new CommonSteps(); commonSteps.ThenThePopupWithTitleShouldBeClosed(); // закрыть окно с распечаткой // скопипастить идентификатор и вставить его в поле ввода bDReagentsWorkplacePage.SetTestBatchID(); // подтвердить ШК пользователя bDReagentsWorkplacePage.SetUsercode(); // в поле "Личный штрих-код пользователя для следующего теста" вводить шк пользователя пока поле не станет //с названием "Личный штрих-код пользователя для завершения" if (!bDReagentsWorkplacePage.ConfirmUserCodeForEnding.Exists()) { IsTrue(bDReagentsWorkplacePage.AssertThefieldIsActive(), "Поле для ввода не найдено или заблокировано"); bDReagentsWorkplacePage.FillOutTheReagents(); } // ввести шк пользователя в поле "Личный штрих-код пользователя для завершения" IsTrue(bDReagentsWorkplacePage.AssertConfirmUserCodeForEndingField(), "Поле для окончания ввода не найдено или заблокировано"); bDReagentsWorkplacePage.ConfirmUserCodeForEndingReagents(); // получить всплывающее сообщение. Автопереход к раскапыванию контролей IsTrue(bDReagentsWorkplacePage.AssertReadyMessage(), "Сообщение о раскапанных реагентах не пришло"); BDTubesManualDrippingPage bDTubesManualDrippingPage = new BDTubesManualDrippingPage(); // переход от реагентов к ручному раскапыванию System.Threading.Thread.Sleep(500); // костыль, но без него все сыпется bDTubesManualDrippingPage.AddClipboardCopyOfBatches(); //раскапать бэтчи bDTubesManualDrippingPage.AddClipboardCopyOfTubes(); // раскапать пробы bDTubesManualDrippingPage.ConfurmEndOfWorkRT(); // подтвердить завершение раскапывания личным ШК пока есть поле для ввода IsTrue(bDTubesManualDrippingPage.AssertBatchWithRTCompliteMessage(), "Сообщение о собранном бэтче не пришло"); commonSteps.ThenThePopupWithTitleShouldBeClosed(); // закрыть окно с распечаткой IsTrue(bDReagentsWorkplacePage.AssertTableOfBatches(), "Автоматический возврат на таблицу с бэтчами не сработал"); } } }
public void ThenICheckTaskForReagents() { BDMainPage mainPage = new BDMainPage(); mainPage.OpenReagentsWorkplace(); mainPage.AssertOpenReagentsWorkplace(); BDReagentsWorkplacePage bDReagents = new BDReagentsWorkplacePage(); bDReagents.AssertTheBusyIndicatorIsDisabled(); bDReagents.GetTaskForReagents(); IsTrue(bDReagents.AssertThereAreNotSamplesMessage(), "Сообщение о запрете раскапывания реагентов отсутствует"); }
public void ThenTestsCountsWillBeCreated(int countOfMultiplexes) { BDMainPage BDMain = new BDMainPage(); BDMain.OpenDictionaries(); CommonSteps common = new CommonSteps(); common.RefreshPage(); BDDictTestPage BDDictTest = new BDDictTestPage(); BDDictTest.CheckCountOfTests(); IsTrue(BDDictTest.AssertCountOfFewTests(countOfMultiplexes), "Количество созданных тестов не соответствует ожидаемому."); }
public void WhenIGoToWorkplaceICheckThatTerminalNumberExists(string workplace, int terminal) { BDMainPage BDMain = new BDMainPage(); BDMain.OpenWorkplaceWithName(workplace); TerminalSettingPage TSettings = new TerminalSettingPage(); IsTrue(BDMain.AssertWorkplaceWithName(workplace), $"Что-то пошло не так, на странице не отображается заголовок {workplace}"); MSDatabaseConnector _msBDConnector = new MSDatabaseConnector(Config.MSDbBatchDropperStab); string command = $@"select [Name] FROM [BatchDropperStab].[dbo].[Terminals] where id={terminal}"; var name = _msBDConnector.QueryExecutorScalar(command); IsTrue(TSettings.AssertLinkWitnThisTerminalName(name), $"Что-то пошло не так, терминал {terminal} c именем {name} не выбран"); }
public void WhenIConfirmParent_BatchIdForStartSorting() { BDMainPage BDMain = new BDMainPage(); BDMain.OpenSorting(); IsTrue(BDMain.AssertOpenSorting(), "Заголовок рабочего места не найден"); BDSortingPage sortingPage = new BDSortingPage(); sortingPage.AssertTheButtonIsVisible(); sortingPage.ClickCreateBatch(); sortingPage.AssertTheConfirmBatchFieldIsVisible(); sortingPage.SetParentBatchID(); }
public void ThenICheckThatChild_BatchWasCreated() { BDMainPage bDMain = new BDMainPage(); bDMain.OpenBatches(); IsTrue(bDMain.AssertOpenBatches(), "Что-то пошло не так. не найден заголовок Бэтчи"); // проверяем, что появился дочерний бэтч MSDatabaseConnector _msBDConnector = new MSDatabaseConnector(Config.MSDbBatchDropperStab); string command = $@"Select [Id] FROM [BatchDropperStab].[dbo].[Batches] Where Status = 31 and name like 'C-%'"; var BatchId = _msBDConnector.QueryExecutorScalar(command); BDBatchesPage bDBatches = new BDBatchesPage(); IsTrue(bDBatches.AssertChildBatch(BatchId), "Ошибка! Дочерний бэтч не создан!"); }
public void WhenIConfirmParent_BatchIdForStartProductionAcceptance() { BDMainPage mainPage = new BDMainPage(); mainPage.OpenProductionAcceptance(); BDProductionAcceptancePage bDProductionAcceptancePage = new BDProductionAcceptancePage(); MSDatabaseConnector _msBDConnector = new MSDatabaseConnector(Config.MSDbBatchDropperStab); string command = $@"SELECT [Id] FROM[BatchDropperStab].[dbo].[Batches] Order by ChangedOn desc"; var Parent = _msBDConnector.QueryExecutorScalar(command); bDProductionAcceptancePage.SetParentBatch(Parent); System.Threading.Thread.Sleep(500); IsTrue(bDProductionAcceptancePage.AssertCountOfChildBatches(), "Количество элементов не соответствует ожидаемому"); }
public void WhenIConfirmTest_BatchIdForContinueManualDripping() { BDMainPage mainPage = new BDMainPage(); mainPage.OpenManualDripping(); mainPage.AssertOpenManualDripping(); MSDatabaseConnector _msBDConnector = new MSDatabaseConnector(Config.MSDbBatchDropperStab); string command = $@"SELECT TOP(1) ID from [BatchDropperStab].[dbo].[Batches] Where [Name] like '%T-%' Order By ChangedOn desc"; var tESTBATCH = _msBDConnector.QueryExecutorScalar(command); // Бэтчдроппер БД, вытащить айди активного тестового бэтча измененного самым последним. BDManualDrippingPage manualDrippingPage = new BDManualDrippingPage(); manualDrippingPage.ConfirmTestBatchId(tESTBATCH); }
public void WhenICreateTestWithCells(int count) { BDMainPage BDMain = new BDMainPage(); BDMain.OpenDictionaries(); IsTrue(BDMain.AssertOpenDictTest(), "Не найден заголовок на странице Тесты"); BDDictTestPage BDDictTest = new BDDictTestPage(); BDDictTest.ClickAddTestBtn(); CommonSteps commons = new CommonSteps(); SecondTab = commons.ThenTheTabWithTitleShouldBeOpened("BatchDropper"); BDNewTestPage BDNewTest = new BDNewTestPage(SecondTab); BDNewTest.SetNameOfTest(); //BDNewTest.SetControlOption(); BDNewTest.SetNameOfProgAmp(); BDNewTest.SetTubeVolume(); BDNewTest.SetCheckboxIsActive(); for (int i = 1; i < count; i++) { BDNewTest.ClickTheAddCellBtn(); System.Threading.Thread.Sleep(200); } for (int j = 0; j < count; j++) { BDNewTest.SetNameForSomeCell(j); //BDNewTest.SetControlOfSomeCell(j); //неактуально BDNewTest.SetFirstChannelOfSomeCell(j); System.Threading.Thread.Sleep(500); } for (int k = 1; k < count; k++) { // BDNewTest.SetStandartOfSomeCell(k); // BDNewTest.SetReagentOfSomeCell(k); } BDNewTest.SaveTest(); }
public void ThenISetTerminalNumber(string terminal) { BDMainPage BDMain = new BDMainPage(); BDMain.SetTerminal(terminal); IsTrue(BDMain.AssertTermName(), "Терминал не применился. Проверьте наличие терминала в справочниках."); MSDatabaseConnector _msBDConnector = new MSDatabaseConnector(Config.MSDbBatchDropperStab); string command = $@"select [Name] FROM [BatchDropperStab].[dbo].[Terminals] where id={terminal}"; var name = _msBDConnector.QueryExecutorScalar(command); TerminalSettingPage TSettings = new TerminalSettingPage(); IsTrue(TSettings.AssertLinkWitnThisTerminalName(name), $"Что-то пошло не так, терминал {terminal} c именем {name} не выбран"); CommonSteps commons = new CommonSteps(); commons.RefreshPage(); // обновили страницу TSettings.WaitAfterRefresh(); // костыль, нужно заменить неявным ожиданием IsTrue(TSettings.AssertLinkWitnThisTerminalName(name), $"Что-то пошло не так, терминал {terminal} c именем {name} не выбран"); }
public void ThenICreateAllAvailableTestBatchesOnTheFormigPage() { BDMainPage bDMain = new BDMainPage(); bDMain.OpenBatchFormingWorkplace(); IsTrue(bDMain.AssertOpenBatchFormingWorkplace(), "Что-то пошло не так. не найден заголовок Формирование бэтчей"); BDFormingPage bDForming = new BDFormingPage(); bDForming.WaitForVisibility(); int countOfAmplificationProgramms = bDForming.ListOfAmplificationProgramms.Count; if (countOfAmplificationProgramms != 0) { while (bDForming.AssertWarningCanNotForming() & bDForming.AssertFirstSampleInListForForming()) { bDForming.ClickCreateTablet(); IsTrue(bDForming.AssertPreviewBatchMessage(), "Нет Сообщения о получении превью бэтча!"); bDForming.ClickToFormBatchButton(); IsTrue(bDForming.AssertBatchHaveFormedMessage(), "Ошибка! Нет сообщения о создание бэтча!"); Debug.WriteLine("ОК. Планшет собран"); } } if (countOfAmplificationProgramms != 0) { while (bDForming.AssertWarningCanNotForming() & bDForming.AssertFirstSampleInListForForming()) { bDForming.ClickCreateTripod(); IsTrue(bDForming.AssertPreviewBatchMessage(), "Нет Сообщения о получении превью бэтча!"); bDForming.ClickToFormBatchButton(); IsTrue(bDForming.AssertBatchHaveFormedMessage(), "Ошибка! Нет сообщения о создание бэтча!"); Debug.WriteLine("ОК. Штатив Собран"); } } if (bDForming.AssertFirstSampleInListForForming()) { Debug.WriteLine("Что-то пошло не так - в списке еще есть пробы для формирования бэтчей"); } else { Debug.WriteLine("Нет образцов для формирования бэтча"); } }
public void WhenIConfirmParent_BatchIdForStartIsalatiion() { { BDMainPage bDMainPage = new BDMainPage(); bDMainPage.OpenDNKWorkplace(); IsTrue(bDMainPage.AssertOpenDNKWorkplace(), "Заголовок рабочего места не найден"); BDIsolationDNKPage bDIsolationDNKPage = new BDIsolationDNKPage(); bDIsolationDNKPage.AssertTheButtonIsVisible(); bDIsolationDNKPage.ClickCreateBatch(); bDIsolationDNKPage.AssertBatchIsCreated(); bDIsolationDNKPage.SetParentBatchID(); BDPlanshetPositionPage bDPlanshetPositionPage = new BDPlanshetPositionPage(); Thread.Sleep(500); // подтверждаем своим ШК IsTrue(bDPlanshetPositionPage.AssertConfirmBatchWindow(), "Нет окна для подтверждения установки планшета"); bDPlanshetPositionPage.ConfirmUsercodeInPlanshetPositionPage(); // bDPlanshetPositionPage.NewWindowConfirmUsercode(); } }
public void WhenICheckTestsWithAmplificationProgrammsOnTheFormigPage(int p0) { // проверяем, что на странице Формирование бэтчей отображаются 2 программы аплификации BDMainPage bDMain = new BDMainPage(); bDMain.OpenBatchFormingWorkplace(); IsTrue(bDMain.AssertOpenBatchFormingWorkplace(), "Что-то пошло не так. не найден заголовок Формирование бэтчей"); BDFormingPage bDForming = new BDFormingPage(); bDForming.WaitForVisibility(); int countOfAmplificationProgramms = bDForming.ListOfAmplificationProgramms.Count; if (countOfAmplificationProgramms == p0) { Debug.WriteLine($"ОК. Тесты разделены на {p0} программы амплификации"); } else { throw new NullReferenceException($"Ошибочка вышла! На странице Формирование бэтчей однаружено {countOfAmplificationProgramms} программ аплификации вместо '{p0}'!"); } }
public void ThenGoToTheBathesPageToCheckForThePresenceOfBathesInTheStatus(int p0, string p1) { // проверяем, что сформировано 3 бэтча в статусе Сформирован BDMainPage bDMain = new BDMainPage(); bDMain.OpenBatches(); IsTrue(bDMain.AssertOpenBatches(), "Что-то пошло не так. не найден заголовок Бэтчи"); BDBatchesPage bDBatches = new BDBatchesPage(); bDBatches.WaitSearchButtonClickability(); int countOfListOfBatchesWithThisStatus = bDBatches.ListOfBatchesWithThisStatus(p1).Count; if (countOfListOfBatchesWithThisStatus == p0) { Debug.WriteLine($"ОК. На странице Бэтчи отображаются {p0} бэтчей в статусе {p1}"); } else { Debug.WriteLine($"Что-то пошло не так! Выведено {countOfListOfBatchesWithThisStatus} в статусе {p1}. Должно быть {p0}"); } }
public void ThenIGoToWorkplaceAndCheckThatFieldForChoosingTerminalIsExists(string workplace) { BDMainPage BDMain = new BDMainPage(); BDMain.OpenWorkplaceWithName(workplace); //ввести терминал и обновить страницу TerminalSettingPage TSettings = new TerminalSettingPage(); TSettings.SetTerminalWithoutSave("1"); CommonSteps commons = new CommonSteps(); commons.RefreshPage(); // обновили страницу TSettings.WaitAfterRefresh(); // костыль, нужно заменить неявным ожиданием IsTrue(TSettings.AssertForChooseTerminalName(), "Что-то пошло не так, нет поля или заголовка выбора терминала"); var teminalID = "abc"; BDMain.SetTerminal(teminalID); IsTrue(TSettings.AssertWrongNameOfTerminal(teminalID), $"Что-то пошло не так, нет сообщения о том, что {teminalID} не существует"); teminalID = "999"; BDMain.SetTerminal(teminalID); IsTrue(TSettings.AssertWrongNameOfTerminal(teminalID), $"Что-то пошло не так, нет сообщения о том, что {teminalID} не существует"); }