Teste de banco de dados usando Selenium e JDBC: Como conectar?

โšก Resumo Inteligente

Teste de banco de dados usando Selenium depende do JDBC, porque o prรณprio WebDriver valida apenas a camada do navegador. Estas etapas mostram como abrir um MySQL Conexรฃo, execuรงรฃo de SQL, leitura de um ResultSet e verificaรงรฃo dos dados armazenados.

  • ???? Ponte JDBC: Selenium O WebDriver controla apenas o navegador, portanto o JDBC fornece a camada de banco de dados para cada verificaรงรฃo de dados.
  • ๐Ÿงฉ Classe de motorista: EQUIPAMENTOS MySQL O Connector/J registra automaticamente o com.mysql.cj.jdbc.Driver, portanto, uma chamada explรญcita a Class.forName รฉ opcional.
  • ๐Ÿ”— Cadeia de conexรฃo: A MySQL URL segue jdbc:mysql://host:3306/database, e 3306 รฉ a porta padrรฃo do servidor.
  • ๐Ÿ“ฅ Tratamento de resultados: Statement.executeQuery retorna um ResultSet, que vocรช itera com next() e lรช atravรฉs de getString.
  • ๐Ÿ›ก๏ธ Seguranรงa dos recursos: O try-with-resources fecha Connection, Statement e ResultSet mesmo quando uma asserรงรฃo falha no meio do processo.
  • ๐Ÿš€ Higiene de consultas: Os parรขmetros PreparedStatement eliminam o risco de injeรงรฃo e permitem que o servidor reutilize um plano de execuรงรฃo em cache.

Teste de banco de dados usando Selenium

Conexรฃo de banco de dados em Selenium

Selenium O Webdriver estรก limitado a Testes seus aplicativos usando o navegador. Usar Selenium Webdriver para verificaรงรฃo de banco de dados vocรช precisa usar o JDBC (โ€œJava Conectividade de banco de dadosโ€).

JDBC (Java Conectividade de banco de dados) รฉ um SQL API de nรญvel que permite executar instruรงรตes SQL. ร‰ responsรกvel pela conectividade entre os Java Linguagem de programaรงรฃo e uma ampla variedade de bancos de dados. A API JDBC fornece as seguintes classes e interfaces

  • Gerenciador de Driver
  • Dirigir
  • Conexรฃo
  • Declaraรงรฃo
  • Conjunto de resultados
  • SQLException

Como conectar o banco de dados em Selenium

Para testar seu banco de dados usando Selenium, vocรช precisa observar os 3 passos a seguir

Conectar banco de dados em Selenium

Passo 1) Faรงa uma conexรฃo com o banco de dados

Para fazer uma conexรฃo com o banco de dados a sintaxe รฉ

DriverManager.getConnection(URL, "userid", "password" )

Aqui,

  • Userid รฉ o nome de usuรกrio configurado no banco de dados
  • Senha do usuรกrio configurado
  • URL tem o formato jdbc:< tipo de banco de dados>://endereรงo IP:nรบmero da porta/nome do banco de dadosโ€
  • - O driver do banco de dados ao qual vocรช estรก tentando se conectar. Para se conectar a um banco de dados Oracle, esse valor serรก โ€œoracleโ€. Para se conectar a um banco de dados com o nome โ€œempโ€ no MySQL, use o driver โ€œempโ€. URL serรก jdbc:mysql://localhost:3036/emp

E o cรณdigo para criar conexรฃo se parece com

Connection con = DriverManager.getConnection(dbUrl,username,password);

Vocรช tambรฉm precisa carregar o driver JDBC usando o cรณdigo

Class.forName("com.mysql.jdbc.Driver");
โš ๏ธ Atenรงรฃo: O driver com.mysql.jdbc.Driver foi descontinuado no Connector/J 8.0. Utilize com.mysql.cj.jdbc.Driver. Desde o JDBC 4.0, o driver se registra automaticamente, portanto, Class.forName รฉ opcional. MySQL Escuta na frequรชncia 3306, nรฃo na 3036.

Etapa 2) Enviar consultas ao banco de dados

Depois que a conexรฃo for feita, vocรช precisarรก executar consultas.

Vocรช pode usar o objeto Statement para enviar consultas.

Statement stmt = con.createStatement();

Depois que o objeto de instruรงรฃo for criado, use o mรฉtodo executeQuery para executar as consultas SQL

stmt.executeQuery(select *  from employee;);
โš ๏ธ Atenรงรฃo: O mรฉtodo executeQuery aceita uma string, portanto, o SQL deve ser interpretado entre aspas: executeQuery(โ€œselect * from employeeโ€). Utilize um PreparedStatement para entrada do usuรกrio.

Etapa 3) Processar os resultados

Os resultados da consulta executada sรฃo armazenados no objeto ResultSet.

Java fornece muitos mรฉtodos avanรงados para processar os resultados. Poucos dos mรฉtodos estรฃo listados abaixo

Processe os resultados

Exemplo de teste de banco de dados com Selenium

Passo 1) Instale MySQL servidor e MySQL Workbench

Confira o guia completo do Mysql e Mysql Workbench aqui.

Durante a instalaรงรฃo MySQL Servidor, observe o banco de dados

  • Nome de Utilizador
  • Senha
  • Nรบmero da porta

Serรก necessรกrio em etapas posteriores.

MySQL O Workbench facilita a administraรงรฃo do banco de dados sem a necessidade de codificar SQL. Porรฉm, vocรช tambรฉm pode usar o MySQL Terminal para interagir com o banco de dados.

Passo 2) In MySQL WorkBench, conecte-se ao seu MySQL servidor

Teste de banco de dados com Selenium

Na prรณxima tela,

  1. Selecione a instรขncia local de MySQL
  2. Insira o nรบmero da porta
  3. Nome utilizador
  4. Digite a senha
  5. clique em OK

Teste de banco de dados com Selenium

Passo 3) Para criar banco de dados,

  1. Clique no botรฃo criar esquema
  2. Insira o nome do esquema/banco de dados
  3. Clique em Aplicar

Teste de banco de dados com Selenium

Passo 4) No menu do navegador,

  1. Clique em Tabelas, abaixo do banco de dados emp
  2. Insira o nome da tabela como funcionรกrio
  3. Insira os campos como nome e idade
  4. Clique em Aplicar

Teste de banco de dados com Selenium

Vocรช verรก o seguinte pop-up. Clique em Aplicar

Teste de banco de dados com Selenium

Passo 5) Criaremos os seguintes dados

Nome Idade
Soutien 25
Nick 36
Bill 47

Para criar dados na tabela

  1. No navegador, selecione a tabela de funcionรกrios
  2. No painel direito, clique em Editor de formulรกrio
  3. Digite o nome e a idade
  4. Clique em Aplicar

Teste de banco de dados com Selenium

Repita o processo atรฉ que todos os dados sejam criados

Teste de banco de dados com Selenium

Passo 6) Faรงa o download do MySQL Conector JDBC aqui.

Teste de banco de dados com Selenium

Passo 7) Adicione o Jar baixado ao seu projeto

  1. Clique com o botรฃo direito no seu Java Arquivo. Em seguida, clique em Caminho de construรงรฃo โ†’ Configurar caminho de construรงรฃo
  2. Selecione as bibliotecas
  3. Clique em adicionar JARs externos
  4. Vocรช pode ver MySQL conector java na sua biblioteca
  5. Clique em abrir para adicionรก-lo ao projeto

Teste de banco de dados com Selenium

Passo 8) Copie o seguinte cรณdigo no editor

Package  htmldriver;		
import  java.sql.Connection;		
import  java.sql.Statement;		
import  java.sql.ResultSet;		
import  java.sql.DriverManager;		
import  java.sql.SQLException;		
public class  SQLConnector {				
    	public static void  main(String[] args) throws  ClassNotFoundException, SQLException {													
				//Connection URL Syntax: "jdbc:mysql://ipaddress:portnumber/db_name"		
                String dbUrl = "jdbc:mysql://localhost:3036/emp";					

				//Database Username		
				String username = "root";	
                
				//Database Password		
				String password = "guru99";				

				//Query to Execute		
				String query = "select *  from employee;";	
                
         	    //Load mysql jdbc driver		
           	    Class.forName("com.mysql.jdbc.Driver");			
           
           		//Create Connection to DB		
            	Connection con = DriverManager.getConnection(dbUrl,username,password);
          
          		//Create Statement Object		
        	   Statement stmt = con.createStatement();					
       
       			// Execute the SQL Query. Store results in ResultSet		
         		ResultSet rs= stmt.executeQuery(query);							
         
         		// While Loop to iterate through all data and print results		
				while (rs.next()){
			        		String myName = rs.getString(1);								        
                            String myAge = rs.getString(2);					                               
                            System. out.println(myName+"  "+myAge);		
                    }		
      			 // closing DB Connection		
      			con.close();			
		}
}
โš ๏ธ Atenรงรฃo: Listagem preservada conforme publicada. Equivalentes modernos: com.mysql.cj.jdbc.Driver, porta 3306, pacote em minรบsculas e try-with-resources para limpeza.

Passo 9) Execute o cรณdigo e verifique a saรญda

Teste de banco de dados com Selenium

Os mesmos passos se aplicam a qualquer mecanismo de busca relacional.

Drivers JDBC e strings de conexรฃo para bancos de dados populares

MySQL รฉ apenas uma opรงรฃo. O padrรฃo JDBC permanece idรชntico em todos os mecanismos: as importaรงรตes, a chamada Statement e o loop ResultSet nรฃo mudam. Apenas o artefato do driver e o URL como os bancos de dados sรฃo diferentes, utilize a tabela abaixo quando o aplicativo em teste for executado em outro banco de dados.

banco de dados aula de motorista Conexรฃo de exemplo URL Porta padrรฃo
MySQL com.mysql.cj.jdbc.Driver jdbc:mysql://localhost:3306/emp 3306
PostgreSQL org.postgresql.Driver jdbc:postgresql://localhost:5432/emp 5432
Oracle oracle.jdbc.OracleDirigir jdbc:oracle:thin:@localhost:1521:orcl 1521
SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://localhost:1433;databaseName=emp 1433

A maioria das falhas na primeira tentativa de conexรฃo geralmente ocorre devido aos nรบmeros de porta. Um erro de conexรฃo recusada quase sempre significa que a porta no... URL Nรฃo corresponde ร  porta em que o servidor estรก realmente escutando. Verifique a configuraรงรฃo do seu servidor antes de assumir o valor padrรฃo.

Cada driver รฉ distribuรญdo como um รบnico arquivo JAR que vocรช adiciona ao caminho de compilaรงรฃo exatamente como mostrado na Etapa 7. Todos os mecanismos listados acima se registram automaticamente, portanto, nenhuma linha `Class.forName` รฉ necessรกria. Isso significa que um รบnico mรฉtodo auxiliar pode atender a todos os ambientes para os quais seu conjunto de testes รฉ direcionado.

Perguntas Frequentes

Nรฃo. Desde o JDBC 4.0 (Java 6) O DriverManager descobre os drivers atravรฉs do mecanismo ServiceLoader, portanto, adicionar o JAR do Connector/J ao classpath รฉ suficiente. Mantenha a chamada apenas quando um contรชiner legado nรฃo conseguir registrar o driver automaticamente.

O arquivo JAR do Connector/J estรก faltando no classpath de tempo de execuรงรฃo, ou o URL estรก malformado. Confirme se o JAR aparece em Bibliotecas Referenciadas e verifique se o URL Comeรงa com jdbc:mysql:// e indica um host e porta acessรญveis.

Sim. Assistentes como Copiloto do GitHub Estruturar funรงรตes auxiliares de conexรฃo, loops ResultSet e asserรงรตes a partir de uma descriรงรฃo de esquema. RevVerifique cada consulta gerada para garantir que os nomes das tabelas estejam corretos e que a seguranรงa contra injeรงรฃo de injeรงรฃo de dependรชncias esteja garantida antes de confirmar a operaรงรฃo.

Os modelos de IA geram linhas iniciais realistas, sugerem valores limite e sinalizam asserรงรตes que se desviam apรณs uma migraรงรฃo de esquema. Plataformas como Testim Isso se aplica ร  manutenรงรฃo, embora a revisรฃo humana continue sendo necessรกria para a integridade referencial.

Sempre. Uma conexรฃo ou conjunto de resultados nรฃo fechado esgota o pool de conexรตes do servidor ao longo de uma longa execuรงรฃo. Envolva-os em um bloco `try-with-resources` ou feche-os em um bloco `@AfterMethod` para que a limpeza seja executada mesmo quando uma asserรงรฃo falhar.

Resuma esta postagem com: