Este projeto foi desenvolvido com o propósito de resolver o desafio proposto pelo site "https://rpachallenge.com/". Nele, é necessário criar um bot capaz de baixar um arquivo Excel, ler seu conteúdo, clicar no botão de Start e preencher dinamicamente o site. Isso ocorre porque a cada nova etapa de inserção dos dados, as colunas mudam de posição dinamicamente.
O projeto é composto por diversos componentes que trabalham juntos para automatizar o preenchimento de formulários da web. Ele utiliza Selenium WebDriver para interagir com os elementos da web e extrai dados de uma planilha do Excel para preencher os formulários.
A classe WebFormService
contém métodos para interagir com elementos da web e preencher formulários da web de forma dinâmica. Ele utiliza o Selenium WebDriver para navegar em páginas da web e interagir com campos de formulário.
A classe ExcelService
lê dados de uma planilha do Excel, fornecendo uma matriz de objetos ExcelData
contendo as informações necessárias para preencher os campos do formulário da web.
O modelo ExcelData
representa a estrutura dos dados extraídos da planilha do Excel. Ele contém propriedades como FirstName, LastName, CompanyName, RoleInCompany, Address, Email e PhoneNumber.
As interfaces (IExcelService
e IWebFormService
) definem contratos que os serviços devem implementar. Isso permite a troca mais fácil de implementações e facilita os testes unitários.
A classe DependencyInjection
configura o contêiner de injeção de dependência usando Microsoft.Extensions.DependencyInjection. Ela registra serviços como ChromeDriver (para Selenium WebDriver), ExcelService
e WebFormService
para serem injetados na aplicação.
Para executar o projeto:
- Certifique-se de ter as dependências necessárias instaladas, incluindo ChromeDriver e o WebDriver apropriado para seu navegador.
- Atualize a variável
excelFilePath
no arquivoProgram.cs
com o caminho para sua planilha do Excel. - Compile e execute a aplicação.
Ao executar a aplicação, ela lerá os dados da planilha do Excel especificada e preencherá o formulário da web localizado em https://rpachallenge.com/. O processo de preenchimento do formulário será automatizado com base nos dados fornecidos na planilha do Excel.
Contribuições para este projeto são bem-vindas. Se você encontrar problemas ou tiver sugestões de melhorias, sinta-se à vontade para abrir um problema ou enviar uma solicitação pull.
- Lucas Benediht Caldeira
Este projeto está licenciado sob a Licença MIT.