public void ThenISeeEmptyCart() { CommonSteps common = new CommonSteps(); SecondTab1 = common.ThenTheTabWithTitleShouldBeOpened("Edit"); CCENCartPage cCENCartPage = new CCENCartPage(SecondTab1); IsTrue(cCENCartPage.AssertEmptyCart(), "Корзина не пустая"); }
public void ThenITryToDeleteNewTerminal() { BDTerminalsPage BDTerminals = new BDTerminalsPage(); // нажать удалить и закрыть окно подтверждения удаления BDTerminals.DeleteTerminalWithThisTitleButton("New Title of Autotest Terminal").Click(); BDTerminals.ClickCloseWindowOfConfirmDeleteTerminalButton(); if (BDTerminals.CheckNewTerminal("New Title of Autotest Terminal").Exists() & BDTerminals.CheckNewTerminal("New System name of Autotest Terminal").Exists()) { Debug.WriteLine("ОК. Терминал не удалился"); } else { Debug.WriteLine("Что-то пошло не так, терминал удалился после закрытия окна подтверждения удаления"); } //нажать удалить и Отмена в окне подтверждения BDTerminals.DeleteTerminalWithThisTitleButton("New Title of Autotest Terminal").Click(); BDTerminals.ClickCancelDeleteTerminalButton(); if (BDTerminals.CheckNewTerminal("New Title of Autotest Terminal").Exists() & BDTerminals.CheckNewTerminal("New System name of Autotest Terminal").Exists()) { Debug.WriteLine("ОК. Терминал не удалился"); } else { Debug.WriteLine("Что-то пошло не так, терминал удалился после отмены подтверждения удаления"); } //нажать удалить и подтвердить удаление BDTerminals.DeleteTerminalWithThisTitleButton("New Title of Autotest Terminal").Click(); BDTerminals.ClickConfirmDeleteTerminalButton(); BDTerminals.WaitAfterRefresh(); if (BDTerminals.CheckNewTerminal("New Title of Autotest Terminal").Exists() & BDTerminals.CheckNewTerminal("New System name of Autotest Terminal").Exists()) { Debug.WriteLine("Что-то пошло не так, терминал не удалился после подтверждения удаления"); } else { Debug.WriteLine("ОК. Терминал удален"); } CommonSteps commons = new CommonSteps(); commons.RefreshPage(); // обновили страницу BDTerminals.WaitAfterRefresh(); if (BDTerminals.CheckNewTerminal("New Title of Autotest Terminal").Exists() & BDTerminals.CheckNewTerminal("New System name of Autotest Terminal").Exists()) { Debug.WriteLine("Что-то пошло не так, терминал не удалился после подтверждения удаления и обновления страницы"); } else { Debug.WriteLine("ОК. Терминал удален, не отображается после обновления страницы"); } }
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 ThenIOpenPreorderForEdit() { PreOrderJournalPage preOrderJournalPage = new PreOrderJournalPage(); preOrderJournalPage.OpenForEdit(); System.Threading.Thread.Sleep(2000); CommonSteps common = new CommonSteps(); SecondTab = common.ThenTheTabWithTitleShouldBeOpened("Edit"); System.Threading.Thread.Sleep(2000); }
public void ThenTheIndicateOfDelayedNomenclatureWillBeShown() { CommonSteps common = new CommonSteps(); SecondTabs = common.ThenTheTabWithTitleShouldBeOpened("Edit"); CCENNomenclaturesPage nomenclaturesPage = new CCENNomenclaturesPage(SecondTabs); nomenclaturesPage.AddSomeNomenctatureToCart("02-002"); //CCENCartPage cCENCartPage = new CCENCartPage(SecondTab); //cCENCartPage.GoToCartTab(); // IsTrue(cCENCartPage.AssertDelayedText(),"Нет подписи о задержке выполнения номенклатуры"); }
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 ThenIOpenPreorderForEditAndDeleteAllNomenclaturesFromCart() { PreOrderJournalPage preOrderJournalPage = new PreOrderJournalPage(); preOrderJournalPage.OpenForEdit(); System.Threading.Thread.Sleep(2000); CommonSteps common = new CommonSteps(); SecondTab = common.ThenTheTabWithTitleShouldBeOpened("Edit"); System.Threading.Thread.Sleep(2000); CCENCartPage cCENCartPage = new CCENCartPage(SecondTab); cCENCartPage.GoToCartTab(); cCENCartPage.DeleteAllHXIDsFromCart(); //IsTrue(cCENCartPage.AssertEmptyCart(), "Корзина не пустая"); }
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 ThenIOpenPreorderForEditAndSeeValuesInTheInsuranceFields() { PreOrderJournalPage preOrderJournalPage = new PreOrderJournalPage(); preOrderJournalPage.OpenForEdit(); System.Threading.Thread.Sleep(2000); CommonSteps common = new CommonSteps(); SecondTab = common.ThenTheTabWithTitleShouldBeOpened("Edit"); System.Threading.Thread.Sleep(2000); CCENPersonalDataPage cCENPersonalDataPage = new CCENPersonalDataPage(SecondTab); cCENPersonalDataPage.GoToPersonalDataTab(); System.Threading.Thread.Sleep(1000); IsTrue(cCENPersonalDataPage.AssertNumberOfPolicyFieldValueIsNotEmpty(), "Ошибка. Это поле пустое."); IsTrue(cCENPersonalDataPage.AssertDispatcherFieldValueIsNotEmpty(), "Ошибка. Это поле пустое."); IsTrue(cCENPersonalDataPage.AssertValidityFieldValueIsNotEmpty(), "Ошибка. Это поле пустое."); }
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} не существует"); }
public void WhenIGoToBathesPageICheckThatTheTabletConsistOfSamplesAndBatchHasStatus(int countSamples, string batchStatus) { 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 = 10 and name like 'P-%'"; var BatchId = _msBDConnector.QueryExecutorScalar(command); BDBatchesPage bDBatches = new BDBatchesPage(); if (bDBatches.BatchWithIdAndStatus(BatchId, batchStatus).Exists()) { Debug.WriteLine($"ОК. Бэтч {BatchId} в статусе {batchStatus}"); } else { throw new NullReferenceException($"Ошибочка вышла! Не найден бэтч '{BatchId}' в статусе '{batchStatus}'"); } //проверить, что в содержимом бэтча под образцы занимают N колитчество лунок bDBatches.ClickToShowContentBatchWithIdButton(BatchId); CommonSteps common = new CommonSteps(); SecondTab = common.ThenTheTabWithTitleShouldBeOpened("BatchDropper"); BDContentOfBatchPage bDContent = new BDContentOfBatchPage(SecondTab); int countSamplesInBatch = bDContent.ListOfDrippingSamples.Count; System.Threading.Thread.Sleep(2000); if (countSamplesInBatch == countSamples) { Debug.WriteLine($"ОК. Пробами занято {countSamples} лунок в бэтче"); } else { throw new NullReferenceException($"Ошибочка вышла! В бэтче {BatchId} пробами занято {countSamplesInBatch} лунок вместо '{countSamples}'!"); } }
public void ThenIOpenStagingReactionsInTubesWorkplaceAndStartNewBatch() { BDMainPage bDMainPage = new BDMainPage(); bDMainPage.OpenTubesManualDripping(); IsTrue(bDMainPage.AssertOpenTubesManualDripping(), "Заголовок рабочего места не найден"); MSDatabaseConnector _msBDConnector = new MSDatabaseConnector(Config.MSDbBatchDropperStab); string command = $@"Select count ([Id]) FROM [BatchDropperStab].[dbo].[Batches] Where Status = 9 and name like 'TT-%'"; var countOfBatches = _msBDConnector.QueryExecutorScalar(command); // Сколько бэтчей со статусом "Сформирован" int intCount; intCount = System.Convert.ToInt32(countOfBatches); // перевод количества в int if (intCount != 0) { for (int i = 1; i <= intCount; i++) { BDTubesManualDrippingPage bDTubesManualDrippingPage = new BDTubesManualDrippingPage(); bDTubesManualDrippingPage.AssertButtonIsVisible(); // подтверждение, что кнопка взять в работу есть bDTubesManualDrippingPage.ClickTakeToWorkButton(); // нажать взять в работу bDTubesManualDrippingPage.ClickConfirmTakeToWorkButton(); // подтвердить взятие в работу бэтча CommonSteps commonSteps = new CommonSteps(); commonSteps.ThenThePopupWithTitleShouldBeClosed(); // закрыть окно с распечаткой bDTubesManualDrippingPage.SetTestBatchID(); // подтвердить ID бэтча commonSteps.ThenThePopupWithTitleShouldBeClosed(); // закрыть окно с распечаткой bDTubesManualDrippingPage.SetUsercode(); // ввести ШК пользователя bDTubesManualDrippingPage.AddClipboardCopyOfBatches(); //раскапать бэтчи bDTubesManualDrippingPage.AddClipboardCopyOfTubes(); // раскапать пробы bDTubesManualDrippingPage.ConfurmEndOfWork(); // подтвердить завершение раскапывания личным ШК пока есть поле для ввода commonSteps.ThenThePopupWithTitleShouldBeClosed(); // закрыть окно с распечаткой } } else { throw new NullReferenceException("Ошибочка вышла! В базе не найдено бэтчей со статусом: Отрицательные контроли собраны"); } }
public void ThenCreateNewTerminalRefreshPageAndCheckThatItExist() { BDTerminalsPage BDTerminals = new BDTerminalsPage(); // добавить новый тестовый терминал BDTerminals.ClikToAddTerminal(); BDTerminals.AddNewTerminalTitle("Title of Autotest Terminal"); BDTerminals.AddNewTerminalName("System name of Autotest Terminal"); BDTerminals.AddLaboratory(); BDTerminals.ClickSaveNewTerminalButton(); CommonSteps commons = new CommonSteps(); commons.RefreshPage(); // обновили страницу BDTerminals.WaitAfterRefresh(); if (BDTerminals.CheckNewTerminal("Title of Autotest Terminal").Exists()) { Debug.WriteLine("ОК. Терминал добавлен"); } else { Debug.WriteLine("Что-то пошло не так, новый терминал не сохранился"); } }
public void ThenITryToChangeInputFieldsInNewTerminal() { BDTerminalsPage BDTerminals = new BDTerminalsPage(); // нажать добавить и отменить BDTerminals.ClikToAddTerminal(); BDTerminals.AddNewTerminalTitle("New Title of Autotest Terminal"); BDTerminals.AddNewTerminalName("New System name of Autotest Terminal"); BDTerminals.AddAnotherLaboratory(); BDTerminals.ClikCancelAddNewTerminalButton(); if (BDTerminals.CheckNewTerminal("New Title of Autotest Terminal").Exists() & BDTerminals.CheckNewTerminal("New System name of Autotest Terminal").Exists()) { Debug.WriteLine("Что-то пошло не так, сохранен новый терминал при нажатии на Отмену"); } else { Debug.WriteLine("ОК. При отмене новый терминал не добавляется"); } // изменить поля и нажать отменить BDTerminals.ChangeTerminalWithThisTitleButton("Title of Autotest Terminal").Click(); BDTerminals.CleanEmrtyTerminalTitle(); BDTerminals.CleanEmrtyTerminalName(); BDTerminals.AddNewTerminalTitle("New Title of Autotest Terminal"); BDTerminals.AddNewTerminalName("New System name of Autotest Terminal"); BDTerminals.AddAnotherLaboratory(); BDTerminals.ClikCancelAddNewTerminalButton(); if (BDTerminals.CheckNewTerminal("New Title of Autotest Terminal").Exists() & BDTerminals.CheckNewTerminal("New System name of Autotest Terminal").Exists()) { Debug.WriteLine("Что-то пошло не так, сохренены изменения при отмене"); } else { Debug.WriteLine("ОК. Изменения при отмене не применились"); } // изменить поля и нажать сохранить BDTerminals.ChangeTerminalWithThisTitleButton("Title of Autotest Terminal").Click(); BDTerminals.CleanEmrtyTerminalTitle(); BDTerminals.CleanEmrtyTerminalName(); BDTerminals.AddNewTerminalTitle("New Title of Autotest Terminal"); BDTerminals.AddNewTerminalName("New System name of Autotest Terminal"); BDTerminals.AddAnotherLaboratory(); BDTerminals.ClickSaveNewTerminalButton(); if (BDTerminals.CheckNewTerminal("New Title of Autotest Terminal").Exists() & BDTerminals.CheckNewTerminal("New System name of Autotest Terminal").Exists()) { Debug.WriteLine("ОК. Изменения в полях сохранены"); } else { Debug.WriteLine("Что-то пошло не так, изменения не сохранены"); } CommonSteps commons = new CommonSteps(); commons.RefreshPage(); // обновили страницу BDTerminals.WaitAfterRefresh(); if (BDTerminals.CheckNewTerminal("New Title of Autotest Terminal").Exists() & BDTerminals.CheckNewTerminal("New System name of Autotest Terminal").Exists()) { Debug.WriteLine("ОК. Изменения в полях отображаются после обновления страницы"); } else { Debug.WriteLine("Что-то пошло не так, изменения не сохранены, не отображаются после обноления страницы"); } }
public void ThenICheckSendCopyResultsInBatchPage() { BDMainPage bDMainPage = new BDMainPage(); bDMainPage.OpenBatches(); // переходим на страницу Бэтчи MSDatabaseConnector _msBDConnector = new MSDatabaseConnector(Config.MSDbBatchDropperStab); string command = $@"Select count ([Id]) FROM [BatchDropperStab].[dbo].[Batches] Where Status = 50"; // считаем количество бэтчей в статусе "Требует валидации" 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 = 50 Order by ChangedOn desc"; var listOfID = _msBDConnector.QueryExecutor(command1); foreach (string id in listOfID) // Если подходящих бэтчей несколько, берём каждый { // Кликаем на галку проверки на странице бэтчей BDBatchesPage bDBatchesPage = new BDBatchesPage(); CommonSteps commons = new CommonSteps(); commons.RefreshPage(); IsTrue(bDBatchesPage.AssertContentOfBatchButton(), "Не найдена кнопка для открытия содержимого первого бэтча со статусом Требует валидации"); bDBatchesPage.OpenContentOfFirstNeedValidateTest(); SecondTab = commons.ThenTheTabWithTitleShouldBeOpened("BatchDropper"); BDBatchesPage bDBatchesPageNew = new BDBatchesPage(SecondTab); bDBatchesPageNew.ClickIconResultsWasChecked(); IsTrue(bDBatchesPageNew.AssertDialogWindowConfirmIsOpen(), "Не открылось диалоговое окно подтверждения действия Результаты проверены"); bDBatchesPageNew.ClickConfirmButtonResultsWasChecked(); // отпраавляем результат bDMainPage.OpenBatches(); commons.RefreshPage(); bDBatchesPage.ClickIconResultsReadyToSend(); IsTrue(bDBatchesPage.AssertDialogWindowReadyToSendIsOpen(), "Не открылось диалоговое окно подтверждения действия Экспорт в LW"); bDBatchesPage.ClickConfirmReadyToSendButton(); IsTrue(bDBatchesPage.AssertSucceedMessage(), "Сообщение об успехе не появилось"); // копируем файл с подтвержденным результатом в LabWare var batchNeedsCopy = System.Convert.ToInt32(id); string[] getFile = Directory.GetFiles(@"\\\\tst10-web.medlinx.corp\\BatchDropper\\LW_Stab\\", $"*{batchNeedsCopy}.csv"); string fileName = Path.GetFileName(getFile[0]); System.Diagnostics.Debug.WriteLine(fileName); File.Copy(getFile[0], $"\\\\tst10-lwapp.medlinx.corp\\LW-LIMS-V6\\LW-LIMS_KULIKOV-A\\{fileName}"); // проверяем, что файл скопировался string[] checkFile = Directory.GetFiles(@"\\\\tst10-lwapp.medlinx.corp\\LW-LIMS-V6\\LW-LIMS_KULIKOV-A\\", $"*{batchNeedsCopy}.csv"); string checkName = Path.GetFileName(checkFile[0]); if (fileName == checkName) { System.Diagnostics.Debug.WriteLine("Результаты для бэтча " + batchNeedsCopy + " выгружены в LabWare"); } else { System.Diagnostics.Debug.WriteLine("Что то пошло не так. Результаты бэтча " + batchNeedsCopy + " не удалось выгрузить в LabWare"); } System.Threading.Thread.Sleep(4000); }// Этот блок будет воспроизведен для всех подходящих по статусу бэтчей } else { throw new NullReferenceException("Ошибочка вышла! В базе не найдено бэтчей, требующих проверки результатов"); } }
public void WhenICreateTestWithParametersFromTheTable(Table table) { var BDTestInstance = table.CreateInstance <Models.BDTest>(); // BDTestInstance.Subgroups = table.CreateInstance<List<String>>(); // var result = BDTestInstance.GetSubrgoups; var resultListOfSubgroups = BDTestInstance.GetList(f => f.Subgroups); var resultListOfReagentsOT = BDTestInstance.GetList(f => f.ReagentsOT); var resultOfReagents = BDTestInstance.GetList(f => f.CellReagents); var resultOfStandarts = BDTestInstance.GetList(f => f.CellStandarts); 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.SetNameOfProgAmpWithArg(BDTestInstance.AmpProgram); // Заполнение программы амплификации BDNewTest.SetNameOfTestWithArg(BDTestInstance.Name); // Заполнение имени теста System.Threading.Thread.Sleep(200); foreach (string sg in resultListOfSubgroups) { BDNewTest.SetNameOfSubgroup(sg); } // Заполнение подгруппы Выделения if (BDTestInstance.Volume != 0) { BDNewTest.SetVolumeOfTube(BDTestInstance.Volume); } // Заполнение объема пробирки else { throw new InvalidCastException("Объем пробирки не может быть нулевым. Измените значение в файле сценария"); } if (BDTestInstance.IsDNA == "true") { BDNewTest.SetCheckboxTubeIsolationForDNK(); } // Чекбокс ДНК else if (BDTestInstance.IsDNA == "false") { } else { throw new ArgumentOutOfRangeException("Значение агрумента должно быть строго true либо false. Измените значение в файле сценария"); } if (BDTestInstance.IsWAX == "true") { BDNewTest.SetCheckboxHasWax(); } // Чекбокс ВОСК else if (BDTestInstance.IsWAX == "false") { } else { throw new ArgumentOutOfRangeException("Значение агрумента должно быть строго true либо false. Измените значение в файле сценария"); } if (BDTestInstance.IsActive == "false") { BDNewTest.SetCheckboxIsActive(); } // Чекбокс Активен else if (BDTestInstance.IsActive == "true") { } else { throw new ArgumentOutOfRangeException("Значение агрумента должно быть строго true либо false. Измените значение в файле сценария"); } if (BDTestInstance.Doubles != 0) { BDNewTest.SetCountOfDoubles(BDTestInstance.Doubles); } // Дубли else { throw new NullReferenceException("Количество дублей не может быть нулевым. Измените параметр в файле сценария"); } if (resultListOfReagentsOT.First() != "") { foreach (string r in resultListOfReagentsOT) { BDNewTest.SetReagentsOT(r); } // Заполнение Реагентов ОТ. } //_________________________________________ЛУНКИ________________________________________________________________ int count = BDTestInstance.CellsCount; // Получение указанного количества лунок для сценария if (count == 1) // Строго для однолуночного теста { //Заполняем канал только для первой лунки: if (BDTestInstance.Fam == "true") { BDNewTest.SetFirstChannelOfOneCell(); } else if (BDTestInstance.Fam == "false") { } else { throw new ArgumentOutOfRangeException("Значение агрумента fam должно быть строго true либо false. Измените значение в файле сценария"); } if (BDTestInstance.Hex == "true") { BDNewTest.SetSecondChannelOfOneCell(); } else if (BDTestInstance.Hex == "false") { } else { throw new ArgumentOutOfRangeException("Значение агрумента hex должно быть строго true либо false. Измените значение в файле сценария"); } if (BDTestInstance.Rox == "true") { BDNewTest.SetThirdChannelOfOneCell(); } else if (BDTestInstance.Rox == "false") { } else { throw new ArgumentOutOfRangeException("Значение агрумента rox должно быть строго true либо false. Измените значение в файле сценария"); } BDNewTest.SetNameOfFirstCell(); // Заполняем имя только для первой лунки BDNewTest.SetControlOption(BDTestInstance.CellControl); // Заполняем луночный контроль первой лунки System.Threading.Thread.Sleep(1000); if (resultOfReagents.First() != "") { foreach (string r in resultOfReagents) { BDNewTest.SetReagentOption(r); System.Threading.Thread.Sleep(900); } // Заполняем реагенты первой лунки } if (resultOfStandarts.First() != "") { foreach (string j in resultOfStandarts) { BDNewTest.SetStandartOption(j); } //Заполняем страндартs для первой лунки } BDNewTest.SaveTest(); // Сохраняем тест } else if (count > 1 && count <= 20) // Если количество лунок в тесте не равно 1 { for (int i = 1; i < count; i++) // Кликаем на кнопку добавления лунки нужное количество раз { BDNewTest.ClickTheAddCellBtn(); System.Threading.Thread.Sleep(100); } for (int j = 0; j < count; j++) // Заполнение нужного количества лунок значениями { BDNewTest.SetNameForSomeCell(j); //Заполнение имени каждой лунки теста if (BDTestInstance.CellControl != "") { BDNewTest.SetControlOfSomeCell(j, BDTestInstance.CellControl); } // Заполнение луночного контроля для лунок else { } if (BDTestInstance.Fam == "true") { BDNewTest.SetFirstChannelOfSomeCell(j); } else if (BDTestInstance.Fam == "false") { } else { throw new ArgumentOutOfRangeException("Значение агрумента fam должно быть строго true либо false. Измените значение в файле сценария"); } if (BDTestInstance.Hex == "true") { BDNewTest.SetSecondChannelOfSomeCell(j); } else if (BDTestInstance.Hex == "false") { } else { throw new ArgumentOutOfRangeException("Значение агрумента hex должно быть строго true либо false. Измените значение в файле сценария"); } if (BDTestInstance.Rox == "true") { BDNewTest.SetThirdChannelOfSomeCell(j); } else if (BDTestInstance.Rox == "false") { } else { throw new ArgumentOutOfRangeException("Значение агрумента rox должно быть строго true либо false. Измените значение в файле сценария"); } System.Threading.Thread.Sleep(1100); } for (int k = 0; k <= count - 1; k++) // Заполнение нужного количества лунок значениями { if (resultOfStandarts.First() != "") { foreach (string st in resultOfStandarts) { BDNewTest.SetStandartOfSomeCell(k, st); } } } for (int p = 1; p <= count; p++) // Заполнение нужного количества лунок значениями { foreach (string r in resultOfReagents) { BDNewTest.SetReagentOfSomeCell(p, r); } } BDNewTest.SaveTest(); } else { throw new ArgumentOutOfRangeException("Давайте не будем создавать более 20-ти лунок в тесте."); } System.Threading.Thread.Sleep(2000); }