how read write data from excel sheet selenium web driver
Neste tutorial, você aprenderá a ler e gravar dados de um arquivo do Excel no Selenium WebDriver usando a API FILLO e instruções SQL.
Ler ou gravar dados é uma das operações mais comumente usadas, seja buscar valores de tabelas de banco de dados ou buscar valores de uma planilha do Excel e usá-los para realizar análises.
Neste artigo, falaremos sobre como obter valores de um arquivo Excel usando instruções SQL e a API FILLO.
O que você aprenderá:
Visão geral da API SON
FILLO é uma API Java usada para buscar dados de arquivos do Excel. Com o uso da API FILLO, a parametrização se torna muito fácil, ou seja, executando seus casos de teste no Selenium com um conjunto diferente de dados.
Antes disso, usamos a API JXL para fazer a parametrização, mais tarde o apache POI entrou no mercado e, em ambas as APIs, precisamos escrever um grande código, para percorrer as linhas e colunas e buscar os valores armazenados em uma planilha Excel
Mas agora, com esta nova API FILLO, não há necessidade de se preocupar com o tamanho das linhas e colunas, tudo será cuidado pela API internamente. Você só precisa chamar as classes definidas na API e declarar seus dados de teste no arquivo excel. Consulte o site oficial para documentação e download do arquivo jar- Biblioteca SON Java
Se você estiver usando o Maven, use a dependência do Maven.
Jar FILLO com dependência Maven
sabão webservices em perguntas da entrevista java

começar
- É uma API do Excel para a linguagem Java.
- Suporta arquivos .xls e .xlsx.
- Ele oferece suporte a consultas SELECT, UPDATE e INSERT.
- Use com ou sem a cláusula WHERE e a cláusula LIKE.
Operação permitida com Fillo
Operação SELECT: A instrução SELECT executa a mesma função, como faz ao buscar os valores de uma tabela e exibi-los ao usuário final, da mesma forma que aqui a instrução SELECT retorna dados de uma planilha do Excel.
Sintaxe:
SELECT * From Sheet NameOperação ATUALIZAR: A instrução UPDATE modifica os registros existentes na planilha do Excel.
Sintaxe:
UPDATE sheet1 Set Column Name= ‘Value’ Operação INSERT: A instrução INSERT insere um novo registro em uma planilha do Excel.
Sintaxe:
INSERT INTO Sheet Name (ColumnName1,ColumnName2) VALUES (‘Val1’,’Val2’)Execute as mesmas operações com os operadores WHERE e LIKE:
- “SELECIONE * a partir do nome da planilha, onde ID = 1 e nome = 'Jesus'”
- “SELECIONE * do nome da planilha, onde coluna1 = valor1 e coluna2 = valor2 e coluna3 = valor3”
- “UPDATE Sheet Name Set Country =’ UK ’where ID = 10 and name =’ Jesus '”
- “SELECIONE * a partir do nome da folha, onde o nome, como 'Jes%'”
Etapas de execução a serem seguidas para a operação SELECT / INSERT / UPDATE:
# 1) // Cria um objeto da classe Fillo.
Fillo fillo = new Fillo();#dois) // Crie um objeto para a classe Connection e use o método getConnection () definido na classe Fillo, para estabelecer a conexão entre a planilha do Excel e a API Fillo.
Connection connection = fillo.getConnection(”excelPath”); # 3) // Selecione todos os valores presentes em uma folha. Aqueles presentes dentro do excel e armazenam sua saída em uma variável string.
String strSelectQuerry = 'Select * from SheetName'; # 4) // executa a consulta Select e armazena o resultado em uma classe Recordset presente na API Fillo.
Recordset recordset =connection.executeQuery(strSelectQuerry);# 5) // use loop while para iterar por todas as colunas e linhas disponíveis na planilha presente dentro do arquivo excel.
while(recordset.next()){ // through getfield() method retrieve the data present in a particular column System.out.println(recordset.getField('Column1')); }# 6) // Use uma consulta de atualização para atualizar os detalhes no arquivo excel.
String strUpdateQuerry = 'Update Data Set SiteTitle = 'SoftwareTestingHelp.com' '; connection.executeUpdate (strUpdateQuerry);# 7) // Use Inserir consulta para inserir dados na planilha do excel.
String strInsertQuerry = 'INSERT INTO Data (SiteTitle,SiteTopic) Values('Bharat','NewDelhi')'; connection.executeUpdate (strInsertQuerry);# 8) // feche o conjunto de registros para evitar um vazamento de memória.
recordset. Close(); # 9) // feche a conexão para evitar vazamento de memória.
connection. Close(); Agora, usando as etapas acima, na estrutura do Selenium, buscaremos os valores das linhas e colunas armazenadas em um arquivo Excel viz “TestFile.xlsx” e inseriremos o valor em um site de demonstração: https://wordpress.com/start/about?ref=create-blog-lp
Folha de Excel com valores de linha: “New Test Help” e “Testing_Related_Contents”

Arquivo Excel colocado na pasta Projeto:

Código de Selênio
O código Selenium completo, que busca o valor da planilha do Excel e as entradas no site de teste é fornecido abaixo:
package softwareTestingHelp.Com; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import com.codoid.products.exception.FilloException; import com.codoid.products.fillo.Connection; import com.codoid.products.fillo.Fillo; import com.codoid.products.fillo.Recordset; public class ReadWriteExcel { static WebDriver driver; //demo site -https://wordpress.com/start/about?ref=create-blog-lp //download jar file - https://mvnrepository.com/artifact/com.codoid.products/fillo publicstaticvoid main(String args()) throwsInterruptedException, FilloException{ //Calling up the GoogleChrome driver System.setProperty('webdriver.chrome.driver', 'D:\Srinivas\New folder\exe\chromedriver.exe'); driver = newChromeDriver(); //Opening the demo site - wordpress.com driver.get('https://wordpress.com/start/about?ref=create-blog-lp'); //Locating the Test data excel file String excelPath = '.\Data\TestFile.xlsx'; System.out.println(excelPath); //Create an Object of Fillo Class Fillo fillo = newFillo(); //Create an Object for Connection class and use getConnection() //method defined inside Fillo class, to establish connection between excelsheet and Fillo API’s. Connection connection = fillo.getConnection(excelPath); //Select all the values present in a sheet, which is present inside the excel and store its output in a String variable String strSelectQuerry = 'Select * from Data'; System.out.println(strSelectQuerry); //Execute the Select query and store the result in a Recordset class present in Fillo API. Recordset recordset =null; recordset = connection.executeQuery(strSelectQuerry); //use while loop to iterate through all columns and rows available in sheet present inside excel file while(recordset.next()){ System.out.println('Column 1 = ' +recordset.getField('SiteTitle')); String siteTitle = recordset.getField('SiteTitle'); driver.findElement(By.xpath('//input(@name='siteTitle')')).clear(); driver.findElement(By.xpath('//input(@name='siteTitle')')).sendKeys(siteTitle) ; System.out.println('Column 2 = ' +recordset.getField('SiteTopic')); String siteTopic = recordset.getField('SiteTopic'); driver.findElement(By.xpath('//input(@name='siteTopic')')).clear(); driver.findElement(By.xpath('//input(@name='siteTopic')')).sendKeys(siteTopic) ; connection.close(); } //Use update query to update the details in excel file Connection connection1 = fillo.getConnection(excelPath); System.out.println('Column 1 value before Update clause = ' +recordset.getField('SiteTitle')); String strUpdateQuerry = 'Update Data Set SiteTitle = 'SoftwareTestingHelp.com' '; System.out.println(strUpdateQuerry); connection1.executeUpdate(strUpdateQuerry); System.out.println('Column 1 value after Update clause = ' +recordset.getField('SiteTitle')); //Use Insert query to update the data in excel sheet Connection connection2 = fillo.getConnection(excelPath); System.out.println('Column 1 and column 2 value before insert clause = ' +recordset.getField('SiteTitle') +recordset.getField('siteTopic')); String strInsertQuerry = 'INSERT INTO Data (SiteTitle,SiteTopic) Values('Bharat','NewDelhi')'; System.out.println(strInsertQuerry); connection2.executeUpdate(strInsertQuerry); System.out.println('Column 1 and column 2 value after insert clause = ' +recordset.getField('SiteTitle') +recordset.getField('siteTopic')); } }Instantâneo do código em execução

Saída de código que mostra o resultado da instrução SQL:

Arquivo do Excel após a operação Atualizar e Inserir:

Site de demonstração onde buscamos dados do excel e inserimos no site:

como obter um endereço de e-mail falso
Conclusão
- Fillo é uma API Java muito útil para extrair dados de uma planilha do Excel e suporta arquivos .xls e .xlsx do Excel.
- Ele suporta as instruções SELECT, UPDATE e INSERT.
- Tenha cuidado ao editar o arquivo excel. Se alguma linha ou coluna não for necessária, exclua-a.
- Se você apenas apagar os valores das linhas e colunas sem excluir a linha inteira, a API assumirá que os campos têm o valor e tentará buscar o valor das linhas e colunas e, em troca, obteremos valores em branco.
- Por fim, não se esqueça de fechar a conexão quando terminar de buscar os valores do Excel.
Leitura feliz!!
Leitura recomendada
- Introdução ao Selenium WebDriver - Selenium Tutorial # 8
- Os 25 principais comandos do Selenium WebDriver que você deve saber
- As 10 melhores ferramentas de teste de API em 2021 (ferramentas de teste de API SOAP e REST)
- Tutorial JAVA para iniciantes: mais de 100 tutoriais práticos em vídeo Java
- 90 principais perguntas e respostas da entrevista SQL (mais recentes)
- 30+ Melhores Tutoriais de Selênio: Aprenda Selênio com Exemplos Reais
- Criação do Selenium Framework e acesso aos dados de teste do Excel - Selenium Tutorial # 21
- Data Driven Framework no Selenium WebDriver usando Apache POI