Foi criado na engine do Selenium no TestFlow um helper para auxiliar a criação do seus testes.

  • Métodos do helper do Selenium e suas funções
    • Instanciar o Web Driver 
      • Instanciar o Web Driver do Chrome com opções:
        • var Options = new ChromeOptions();
        • options.AddArgument("–incognito");
        • _seleniumManager.SetupChromeDriver(options);
      • Instanciar um  Web Driver do Chrome de um local específico
        • _seleniumManager.SetupChromeDriver(@"C:\MeuChromeDriverDiretorio", new ChromeOptions());
      • Instanciar um Web Driver diferente do Chrome com opções
        • var firefoxDriver = new FirefoxDriver(new FirefoxOptions());
        • _seleniumManager.UpdateWebDriver(firefoxDriver);
      • Atualizar a largura e altura do WebDriver (widht, height)
        • _seleniumManager.UpdateWindowSize(1920, 1080);
    • Interação com a interface
      • Esperar utilizando o By e o tempo esperado
        • _seleniumManager.Wait(By.Id("botao"), 5000);
      • Esperar utilizando o Id do elemento e o tempo esperado
        • _seleniumManager.WaitByElementId("botao", 5000);
      • Esperar utilizando uma expressão com o Web Driver e o tempo esperado
        • _seleniumManager.Wait(drv => drv.FindElement(By.Id("botao")), 5000);
      • Esperar até uma condição e o tempo em segundos
        • _seleniumManager.WaitForCondition(ExpectedConditions.ElementToBeClickable(By.CssSelector(selector)), 5);
      •  Esperar até o elemento existir utilizando o Id do elemento e o tempo em segundos
        •  _seleniumManager.WaitByElementIdUntilElementExists("botao", 5);
      • Esperar até o elemento estiver clicável utilizando o Id do elemento e o tempo em segundos
        • _seleniumManager.WaitByElementIdUntilElementBeClickable("botao", 5);
      • Esperar até o elemento existir utilizando o "By" e o tempo em segundos
        •  _seleniumManager.WaitByUntilElementExists(By.Id("botao"), 5);
      • Esperar até o elemento estiver clicável utilizando o "By" e o tempo em segundos
        • _seleniumManager.WaitByUntilElementBeClickable("botao", 5);
      •  Esperar até o elemento existir utilizando seletor css e o tempo em segundos
        • _seleniumManager.WaitByCssSelectorUntilElementExists(".botao", 5);
      •  Esperar até o elemento estiver clicável utilizando o seletor css e o tempo em segundos
        • _seleniumManager.WaitByCssSelectorUntilElementBeClickable(".botao", 5);
      • Clicar em um elemento utilizando o By
        • _seleniumManager.Click(By.Id("botao"));
        • _seleniumManager.ClickByCssSelector("classname");
        • _seleniumManager.ClickByElementId("botao");
        • _seleniumManager.Click(By.XPath("xpath")); 
      • Navegar para uma URL por string
      • Navegar para uma URL utilizando um objeto Uri
      • Maximizar a janela do navegador
        • _seleniumManager.Maximize();
      • Preencher um campo utilizando o By
        • _seleniumManager.SendKeys(By.Id("campoTexto"), "texto");
        • _seleniumManager.SendKeysByElementId("campoTexto", "texto");
        • _seleniumManager.SendKeysCssSelector("form", "texto");
        • _seleniumManager.SendKeys(By.XPath("xpath"), "texto");
      • Finalizar (Dispose) do Web Driver
        • _seleniumManager.Quit();
    • Adicionar o Web Driver no contexto do TestFlow para ser utilizado em outras atividades.
      • context.Resources.Add(_seleniumManager, "Selenium Manager");
  • Sem rótulos