डेटाबेस परीक्षण का उपयोग करके Selenium और JDBC: कैसे कनेक्ट करें?

⚡ स्मार्ट सारांश

डेटाबेस परीक्षण का उपयोग करके Selenium यह JDBC पर निर्भर करता है, क्योंकि WebDriver स्वयं केवल ब्राउज़र लेयर को ही मान्य करता है। ये चरण दिखाते हैं कि कैसे खोलें MySQL कनेक्शन स्थापित करें, SQL चलाएं, रिजल्टसेट पढ़ें और संग्रहीत डेटा को सत्यापित करें।

  • 🔌 जेडीबीसी ब्रिज: Selenium वेबड्राइवर केवल ब्राउज़र को संचालित करता है, इसलिए जेडीबीसी प्रत्येक डेटा अभिकथन के लिए डेटाबेस परत प्रदान करता है।
  • 🧩 चालक वर्ग: आधुनिक MySQL Connector/J स्वचालित रूप से com.mysql.cj.jdbc.Driver को पंजीकृत करता है, इसलिए स्पष्ट Class.forName कॉल वैकल्पिक है।
  • 🔗 कनेक्शन स्ट्रिंग: A MySQL URL यह jdbc:mysql://host:3306/database का अनुसरण करता है, और 3306 डिफ़ॉल्ट सर्वर पोर्ट है।
  • 📥 परिणाम प्रबंधन: Statement.executeQuery एक ResultSet लौटाता है, जिसे आप next() के साथ दोहराते हैं और getString के माध्यम से पढ़ते हैं।
  • संसाधन सुरक्षा: try-with-resources, Connection, Statement और ResultSet को तब भी बंद कर देता है जब कोई अभिकथन बीच में ही विफल हो जाता है।
  • 🚀 स्वच्छता संबंधी प्रश्नों के लिए: PreparedStatement पैरामीटर इंजेक्शन के जोखिम को खत्म करते हैं और सर्वर को कैश्ड निष्पादन योजना का पुन: उपयोग करने की अनुमति देते हैं।

डेटाबेस परीक्षण का उपयोग करना Selenium

डेटाबेस कनेक्शन Selenium

Selenium वेबड्राइवर सीमित है परीक्षण ब्राउज़र का उपयोग करके अपने एप्लिकेशन का उपयोग करें। Selenium डेटाबेस सत्यापन के लिए वेबड्राइवर में आपको JDBC (“Java डेटाबेस कनेक्टिविटी”).

जेडीबीसी (Java डेटाबेस कनेक्टिविटी) एक है एसक्यूएल लेवल एपीआई जो आपको SQL स्टेटमेंट निष्पादित करने की अनुमति देता है। यह बीच कनेक्टिविटी के लिए जिम्मेदार है Java प्रोग्रामिंग भाषा और डेटाबेस की एक विस्तृत श्रृंखला। JDBC API निम्नलिखित क्लास और इंटरफ़ेस प्रदान करता है

  • चालक प्रबंधक
  • चालक
  • संबंध
  • कथन
  • परिणाम सेट
  • SQLException

डेटाबेस को कैसे कनेक्ट करें Selenium

अपने डेटाबेस का परीक्षण करने के लिए Selenium, आपको निम्नलिखित 3 चरणों का पालन करना होगा

डेटाबेस को कनेक्ट करें Selenium

चरण 1) डेटाबेस से कनेक्शन बनाएं

डेटाबेस से कनेक्शन बनाने के लिए सिंटैक्स है

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

यहाँ,

  • यूजरआईडी डेटाबेस में कॉन्फ़िगर किया गया उपयोगकर्ता नाम है
  • कॉन्फ़िगर किए गए उपयोगकर्ता का पासवर्ड
  • URL इसका प्रारूप jdbc:< dbtype>://ipaddress:portnumber/db_name है”
  • - आप जिस डेटाबेस से कनेक्ट करने की कोशिश कर रहे हैं, उसका ड्राइवर। ओरेकल डेटाबेस से कनेक्ट करने के लिए यह मान "oracle" होगा। MySQL में "emp" नाम के डेटाबेस से कनेक्ट करने के लिए भी यही मान लागू होता है। URL यह jdbc:mysql://localhost:3036/emp होगा

और कनेक्शन बनाने के लिए कोड इस तरह दिखता है

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

आपको कोड का उपयोग करके JDBC ड्राइवर को भी लोड करना होगा

Class.forName("com.mysql.jdbc.Driver");
⚠️ चेतावनी: com.mysql.jdbc.Driver को Connector/J 8.0 में अप्रचलित कर दिया गया था। इसके बजाय com.mysql.cj.jdbc.Driver का उपयोग करें। JDBC 4.0 के बाद से ड्राइवर स्वयं पंजीकृत हो जाता है, इसलिए Class.forName वैकल्पिक है। MySQL यह 3306 पर सुनता है, 3036 पर नहीं।

चरण 2) डेटाबेस को क्वेरीज़ भेजें

एक बार कनेक्शन स्थापित हो जाने पर, आपको क्वेरीज़ निष्पादित करने की आवश्यकता होगी।

आप क्वेरीज़ भेजने के लिए स्टेटमेंट ऑब्जेक्ट का उपयोग कर सकते हैं।

Statement stmt = con.createStatement();

एक बार स्टेटमेंट ऑब्जेक्ट बन जाने पर SQL क्वेरीज़ को निष्पादित करने के लिए executeQuery विधि का उपयोग करें

stmt.executeQuery(select *  from employee;);
⚠️ चेतावनी: executeQuery एक स्ट्रिंग लेता है, इसलिए SQL को इस प्रकार लिखें: executeQuery(“select * from employee”)। उपयोगकर्ता इनपुट के लिए PreparedStatement का उपयोग करें।

चरण 3) परिणामों को संसाधित करें

निष्पादित क्वेरी के परिणाम ResultSet ऑब्जेक्ट में संग्रहीत किए जाते हैं।

Java परिणामों को संसाधित करने के लिए बहुत सारे उन्नत तरीके प्रदान करता है। कुछ तरीके नीचे सूचीबद्ध हैं

परिणामों की प्रक्रिया

डेटाबेस परीक्षण का उदाहरण Selenium

चरण 1) स्थापित करें MySQL सर्वर और MySQL कार्यक्षेत्र

Mysql और Mysql Workbench की पूरी गाइड देखें यहाँ उत्पन्न करें

इंस्टॉल करते समय MySQL सर्वर, कृपया डेटाबेस पर ध्यान दें

  • उपयोगकर्ता नाम
  • पासवर्ड
  • पोर्ट नंबर

आगे के चरणों में इसकी आवश्यकता होगी।

MySQL वर्कबेंच SQL कोड की आवश्यकता के बिना डेटाबेस को प्रबंधित करना आसान बनाता है। हालाँकि, आप इसका उपयोग भी कर सकते हैं MySQL डेटाबेस के साथ बातचीत करने के लिए टर्मिनल.

चरण 2) In MySQL वर्कबेंच, अपने से कनेक्ट करें MySQL सर्वर

डेटाबेस परीक्षण के साथ Selenium

अगली स्क्रीन में,

  1. का स्थानीय उदाहरण चुनें MySQL
  2. पोर्ट नंबर दर्ज करें
  3. उपयोगकर्ता नाम दर्ज करें
  4. पास वर्ड दर्ज करें
  5. ठीक क्लिक करें

डेटाबेस परीक्षण के साथ Selenium

चरण 3) डेटाबेस बनाने के लिए,

  1. स्कीमा बटन बनाएं पर क्लिक करें
  2. स्कीमा/डेटाबेस का नाम दर्ज करें
  3. अप्लाई पर क्लिक करें

डेटाबेस परीक्षण के साथ Selenium

चरण 4) नेविगेटर मेनू में,

  1. एम्प डेटाबेस के नीचे टेबल्स पर क्लिक करें
  2. कर्मचारी के रूप में तालिका का नाम दर्ज करें
  3. नाम और आयु जैसे फ़ील्ड दर्ज करें
  4. अप्लाई पर क्लिक करें

डेटाबेस परीक्षण के साथ Selenium

आपको निम्न पॉप-अप दिखाई देगा। लागू करें पर क्लिक करें

डेटाबेस परीक्षण के साथ Selenium

चरण 5) हम निम्नलिखित डेटा बनाएंगे

नाम आयु
चोटी 25
Nick 36
Bill 47

तालिका में डेटा बनाने के लिए

  1. नेविगेटर में, कर्मचारी तालिका का चयन करें
  2. दाएँ फलक में, फ़ॉर्म संपादक पर क्लिक करें
  3. नाम और आयु दर्ज करें
  4. अप्लाई पर क्लिक करें

डेटाबेस परीक्षण के साथ Selenium

जब तक सारा डेटा तैयार न हो जाए, प्रक्रिया को दोहराएँ

डेटाबेस परीक्षण के साथ Selenium

चरण 6) डाउनलोड MySQL JDBC कनेक्टर यहाँ उत्पन्न करें

डेटाबेस परीक्षण के साथ Selenium

चरण 7) डाउनलोड किए गए Jar को अपने प्रोजेक्ट में जोड़ें

  1. अपने पर राइट क्लिक करें Java फ़ाइल पर क्लिक करें। फिर बिल्ड पाथ → बिल्ड पाथ कॉन्फ़िगर करें पर क्लिक करें।
  2. पुस्तकालयों का चयन करें
  3. बाहरी JARs जोड़ें पर क्लिक करें
  4. आप देख सकते हैं MySQL आपके पुस्तकालय में कनेक्टर जावा
  5. इसे प्रोजेक्ट में जोड़ने के लिए ओपन पर क्लिक करें

डेटाबेस परीक्षण के साथ Selenium

चरण 8) निम्नलिखित कोड को संपादक में कॉपी करें

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();			
		}
}
⚠️ चेतावनी: प्रकाशित रूप में ही सूची को संरक्षित रखा गया है। आधुनिक समकक्ष: com.mysql.cj.jdbc.Driver, पोर्ट 3306, लोअरकेस पैकेज, और सफाई के लिए try-with-resources।

चरण 9) कोड निष्पादित करें, और आउटपुट जांचें

डेटाबेस परीक्षण के साथ Selenium

यही प्रक्रिया किसी भी रिलेशनल इंजन पर लागू होती है।

लोकप्रिय डेटाबेस के लिए JDBC ड्राइवर और कनेक्शन स्ट्रिंग

MySQL यह केवल एक विकल्प है। JDBC पैटर्न सभी इंजनों में एक जैसा रहता है: आयात, स्टेटमेंट कॉल और रिजल्टसेट लूप नहीं बदलते। केवल ड्राइवर आर्टिफैक्ट और URL अलग-अलग डेटाबेस पर परीक्षण किए जा रहे एप्लिकेशन के चलने पर नीचे दी गई तालिका का उपयोग करें।

डाटाबेस चालक वर्ग नमूना कनेक्शन URL डिफ़ॉल्ट पोर्ट
MySQL com.mysql.cj.jdbc.ड्राइवर jdbc:mysql://localhost:3306/emp 3306
PostgreSQL org.postgresql.ड्राइवर jdbc:postgresql://localhost:5432/emp 5432
Oracle ओरेकल.जेडीबीसी.Oracleचालक jdbc:oracle:thin:@localhost:1521:orcl 1521
SQL सर्वर com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://localhost:1433;databaseName=emp 1433

पोर्ट नंबर ही अधिकांश प्रारंभिक विफलताओं का कारण बनते हैं। कनेक्शन अस्वीकृत त्रुटि का लगभग हमेशा मतलब होता है कि पोर्ट नंबर में कोई समस्या है। URL यह सर्वर द्वारा वास्तव में उपयोग किए जा रहे पोर्ट से मेल नहीं खाता है। डिफ़ॉल्ट मान लेने से पहले अपने सर्वर कॉन्फ़िगरेशन की जाँच करें।

प्रत्येक ड्राइवर एक सिंगल JAR फ़ाइल के रूप में आता है जिसे आप स्टेप 7 में दिखाए अनुसार बिल्ड पाथ में जोड़ते हैं। ऊपर सूचीबद्ध प्रत्येक इंजन स्वचालित रूप से पंजीकृत हो जाता है, इसलिए Class.forName लाइन की आवश्यकता नहीं है। इसका मतलब है कि एक सिंगल हेल्पर मेथड आपके सूट द्वारा लक्षित सभी एनवायरनमेंट के लिए काम कर सकता है।

अक्सर पूछे जाने वाले प्रश्न

नहीं। जेडीबीसी 4.0 के बाद से (Java 6) ड्राइवर मैनेजर सर्विस लोडर तंत्र के माध्यम से ड्राइवरों का पता लगाता है, इसलिए कनेक्टर/जे जार को क्लासपाथ में जोड़ना ही पर्याप्त है। इस कॉल को केवल तभी रखें जब कोई पुराना कंटेनर ड्राइवर को स्वचालित रूप से पंजीकृत करने में विफल हो।

कनेक्टर/जे जार रनटाइम क्लासपाथ से गायब है, या URL गलत तरीके से बना है। पुष्टि करें कि JAR फ़ाइल संदर्भित पुस्तकालयों के अंतर्गत दिखाई दे रही है, और जांचें कि URL यह jdbc:mysql:// से शुरू होता है और एक पहुंच योग्य होस्ट और पोर्ट का नाम बताता है।

हाँ। सहायक जैसे गिटहब कोपिलॉट स्कीमा विवरण से स्कैफोल्ड कनेक्शन हेल्पर, रिजल्टसेट लूप और अभिकथन। Revकमिट करने से पहले प्रत्येक जनरेट की गई क्वेरी की सही टेबल नामों और इंजेक्शन सुरक्षा के लिए जांच करें।

एआई मॉडल यथार्थवादी सीड पंक्तियाँ उत्पन्न करते हैं, सीमा मान सुझाते हैं, और स्कीमा माइग्रेशन के बाद विचलित होने वाले अभिकथनों को चिह्नित करते हैं। ऐसे प्लेटफ़ॉर्म Testim इसे रखरखाव पर लागू करें, हालांकि संदर्भ की अखंडता के लिए मानवीय समीक्षा आवश्यक बनी रहती है।

हमेशा। एक बंद न किया गया कनेक्शन या रिजल्टसेट एक लंबी श्रृंखला में सर्वर कनेक्शन पूल को समाप्त कर देता है। उन्हें try-with-resources में लपेटें, या उन्हें @AfterMethod ब्लॉक में बंद करें ताकि अभिकथन विफल होने पर भी सफाई प्रक्रिया चलती रहे।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: