public void DesfazerAcertoDePromotorComCobrancaGerada_8200() { MultiClubesFunctions McFunctions = new MultiClubesFunctions(); MultiClubesMenus McMenus = new MultiClubesMenus(); var dc = new DesiredCapabilities(); dc.SetCapability("app", @"\\tsidev\Triade\Application\Dev\MultiClubes\System\MultiClubes\MultiClubes.UI.application"); dc.SetCapability("debugConnectToRunningApp", true); RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:9999"), dc); // 1. Pré-requisito: Acerto de comissão gerada para o promotor @NomePromotor, associado ao título @IdTitulo McMenus.AcessarMenuOperacaoFinanceiroAcertoDeComissao(); McFunctions.SearchElementByNameAndClick("Localizar"); McFunctions.WaitForElementLoad(By.Id("listView")); List <IWebElement> elementlist = new List <IWebElement>(); elementlist.AddRange(driver.FindElement(By.Id("listView")).FindElements(By.Name("Sophie Promotor"))); if (elementlist.Count > 0) { new Actions(driver).ContextClick(elementlist[0]).Perform(); McFunctions.SearchElementByNameAndClick("Gerar acerto"); McFunctions.SearchElementByNameAndClick("Sim"); McFunctions.SearchElementByIdAndClick("buttonCancel", true); } //3.Logar no MultiClubes // Presente no TestInitialize //4.Acessar Central de Atendimento McFunctions.AcessarCentralDeAtendimento(); //5.Localizar e Acessar Título McFunctions.AcessarCentralDeAtendimento(); McFunctions.SearchHolder("008Pro"); //6.Acessar o menu Produtos //Serem apresentadas as opções A receber, Recebido, Desativados, Créditos, Resgate, Parcelamento e Mudar promotor //// Já vem marcada como default //7.Clicar na opção A receber //Ser apresentada tela contendo as parcelas de produtos a receber, constando parcela do produto Acerto promotor McFunctions.AcessarProdutosAReceber(); //8.Copiar o valor referente a coluna Nosso número McFunctions.WaitForElementLoad(By.Id("listViewParcel")); var ListViewParcelElements = driver.FindElement(By.Id("listViewParcel")).FindElements(By.Id("")); int counterStep8 = 0; foreach (IWebElement i in ListViewParcelElements) { if (i.GetAttribute("Name") == "Acerto Promotor") { break; } counterStep8++; } var nossoNumero = ListViewParcelElements[counterStep8 + 6].GetAttribute("Name"); McFunctions.CloseWindow(); //9.Clicar no menu Cobranças //Serem apresentadas as opções Ativas, Desativadas e Editar Cobranças //10.Clicar na opção Ativas //Ser apresentada tela contendo as cobranças ativas, constando na coluna Nosso número o mesmo valor do número copiado no passo 8 McFunctions.AcessarCobrancasAtivas(); McFunctions.WaitForElementLoad(By.Id("listViewDun")); var listViewDunElements = driver.FindElement(By.Id("listViewDun")).FindElements(By.Id("")); int counterStep9 = 0; bool encontrounn = false; foreach (IWebElement i in listViewDunElements) { if (i.GetAttribute("Name") == nossoNumero) { encontrounn = true; break; } counterStep9++; } Assert.IsTrue(encontrounn, "Nosso numero encontrado"); McFunctions.CloseWindow(); McFunctions.FinalizarAtendimentoTitulo(); //11.Acessar Acerto de Comissão McMenus.AcessarMenuOperacaoFinanceiroAcertoDeComissao(); //12.Clicar no menu Histórico //Ser apresentada tela para acessar o histórico de acertos de promotores gerados McFunctions.SearchElementByIdAndClick("sideButtonClassHistoric"); McFunctions.SearchElementByNameAndClick("Promotor", true); Thread.Sleep(500); McFunctions.SearchElementByNameAndClick("Promotor"); //13.Clicar no botão Localizar //Ser apresentada lista contendo todos os acertos de promotores gerados McFunctions.SearchElementByIdAndClick("buttonFilter"); //14.Localizar e clicar no acerto de comissão referente aos passos 7 e 10 //Registro de acerto ser corretamente selecionado e apresentado em destaque //15.Dar duplo clique no registro de acerto de promotor //Ser apresentada tela contendo Detalhe do acerto da comissão new Actions(driver).DoubleClick(driver.FindElementsByName("Sophie Promotor")[3]).Build().Perform(); //16.Clicar no botão Opções //Ser apresentado sub - menu contendo as opções disponíveis McFunctions.SearchElementByNameAndClick("Opções"); //17.No sub-menu, clicar na opção Desfazer acerto //Ser apresentada tela solicitando confirmação para desfazer acerto de comissão para o promotor McFunctions.SearchElementByNameAndClick("Desfazer acerto"); //18.Clicar no botão Sim //Acerto de comissão de promotor ser corretamente desfeito e ser apresentada tela de histórico de acertos sem constar o acerto de comissão desfeito McFunctions.SearchElementByNameAndClick("Sim"); McFunctions.CloseWindow(); McFunctions.CloseWindow(); //19.Acessar Central de Atendimento McFunctions.AcessarCentralDeAtendimento(); //20.Localizar e Acessar Título McFunctions.AcessarCentralDeAtendimento(); McFunctions.SearchHolder("008Pro"); //21.Repetir os passos 6 e 7 //Ser apresentada tela contendo as parcelas de produtos a receber, não constando parcela do produto Acerto promotor, desfeita no passo 18 McFunctions.AcessarProdutosAReceber(); McFunctions.WaitForElementLoad(By.Id("listViewParcel")); var NewlistViewParcelElements = driver.FindElement(By.Id("listViewParcel")).FindElements(By.Id("")); var counterStep21 = 0; bool encontrouacertopromotor = false; foreach (IWebElement i in NewlistViewParcelElements) { if (i.GetAttribute("Name") == "Acerto Promotor") { encontrouacertopromotor = true; break; } counterStep21++; } Assert.IsFalse(encontrouacertopromotor, "Acerto Promotor continuou em Produtos a receber"); McFunctions.CloseWindow(); //22.Repetir os passos 9 e 10 //Ser apresentada tela contendo as cobranças ativas, não constando cobrança referente ao acerto de comissão de promotor, desfeita no passo 18 McFunctions.AcessarCobrancasAtivas(); McFunctions.WaitForElementLoad(By.Id("listViewDun")); var NewListViewDunElements = driver.FindElement(By.Id("listViewDun")).FindElements(By.Id("")); var counterStep22 = 0; bool encontrounn2 = false; foreach (IWebElement i in NewListViewDunElements) { if (i.GetAttribute("Name") == nossoNumero) { encontrounn = true; break; } counterStep22++; } Assert.IsFalse(encontrounn2, "Nosso numero encontrado nas cobranças ativas"); McFunctions.CloseWindow(); McFunctions.FinalizarAtendimentoTitulo(); McFunctions.CloseWindow("Central de Atendimento"); }