اختبار قواعد البيانات باستخدام Selenium وJDBC: كيف يتم الاتصال؟
⚡ ملخص ذكي
اختبار قواعد البيانات باستخدام Selenium يعتمد على JDBC، لأن WebDriver نفسه يتحقق من صحة طبقة المتصفح فقط. توضح هذه الخطوات كيفية فتح MySQL الاتصال، وتشغيل SQL، وقراءة مجموعة النتائج، والتحقق من البيانات المخزنة.
اتصال قاعدة البيانات في Selenium
Selenium يقتصر برنامج تشغيل الويب على الاختبار تطبيقاتك باستخدام المتصفح. ليستخدم Selenium برنامج تشغيل الويب للتحقق من قاعدة البيانات، تحتاج إلى استخدام JDBC ("Java اتصال قاعدة البيانات").
جدبك (Java اتصال قاعدة البيانات) أ SQL مستوى API الذي يسمح لك بتنفيذ عبارات SQL. وهو المسؤول عن الاتصال بين Java لغة برمجة ومجموعة واسعة من قواعد البيانات. توفر واجهة برمجة تطبيقات JDBC الفئات والواجهات التالية
- مدير سائق
- سائق
- الاتصال
- ملخص الحساب
- مجموعة النتائج
- SQLException
كيفية ربط قاعدة البيانات في Selenium
من أجل اختبار قاعدة البيانات الخاصة بك باستخدام Selenium، عليك اتباع الخطوات الثلاث التالية
الخطوة 1) قم بإجراء اتصال بقاعدة البيانات
من أجل إجراء اتصال بقاعدة البيانات، يكون بناء الجملة
DriverManager.getConnection(URL, "userid", "password" )
هنا،
- معرف المستخدم هو اسم المستخدم الذي تم تكوينه في قاعدة البيانات
- كلمة المرور للمستخدم الذي تم تكوينه
- URL يكون بتنسيق jdbc:< dbtype>://ipaddress:portnumber/db_name”
- - برنامج تشغيل قاعدة البيانات التي تحاول الاتصال بها. للاتصال بقاعدة بيانات أوراكل، ستكون هذه القيمة "oracle". للاتصال بقاعدة بيانات باسم "emp" في MySQL URL سيكون jdbc:mysql://localhost:3036/emp
ويبدو رمز إنشاء الاتصال
Connection con = DriverManager.getConnection(dbUrl,username,password);
تحتاج أيضًا إلى تحميل برنامج تشغيل JDBC باستخدام الكود
Class.forName("com.mysql.jdbc.Driver");
الخطوة 2) إرسال الاستعلامات إلى قاعدة البيانات
بمجرد إجراء الاتصال، تحتاج إلى تنفيذ الاستعلامات.
يمكنك استخدام كائن البيان لإرسال الاستعلامات.
Statement stmt = con.createStatement();
بمجرد إنشاء كائن البيان، استخدم طريقة ExecuterQuery لتنفيذ استعلامات SQL
stmt.executeQuery(select * from employee;);
الخطوة 3) معالجة النتائج
يتم تخزين نتائج الاستعلام المنفذ في كائن ResultSet.
Java يوفر الكثير من الطرق المتقدمة لمعالجة النتائج. يتم سرد عدد قليل من الأساليب أدناه
مثال على اختبار قاعدة البيانات مع Selenium
الخطوة 1) تثبيت MySQL المخدم و MySQL طاولة العمل
تعرف على الدليل الكامل لـ Mysql وMysql Workbench اضغط هنا
أثناء التثبيت MySQL الخادم، يرجى ملاحظة قاعدة البيانات
- اسم المستخدم
- كلمة المرور
- منفذ رقم
وسوف تكون هناك حاجة في خطوات أخرى.
MySQL يسهل Workbench إدارة قاعدة البيانات دون الحاجة إلى ترميز SQL. على الرغم من ذلك، يمكنك أيضًا استخدام MySQL محطة للتفاعل مع قاعدة البيانات.
الخطوة 2) In MySQL WorkBench، قم بالاتصال بجهازك MySQL المخدم
في الشاشة التالية ،
- حدد المثيل المحلي لـ MySQL
- أدخل رقم المنفذ
- أدخل اسم المستخدم
- أدخل كلمة المرور
- انقر OK
الخطوة 3) لإنشاء قاعدة بيانات،
- انقر فوق زر إنشاء المخطط
- أدخل اسم المخطط/قاعدة البيانات
- انقر فوق تطبيق
الخطوة 4) في قائمة المتصفح،
- انقر على الجداول، أسفل قاعدة بيانات emp
- أدخل اسم الجدول كموظف
- أدخل الحقول كالاسم والعمر
- انقر فوق تطبيق
ستظهر لك النافذة المنبثقة التالية. انقر فوق "تطبيق"
الخطوة 5) سوف نقوم بإنشاء البيانات التالية
| الاسم | العمر |
|---|---|
| ★★★★ | 25 |
| Nick | 36 |
| Bill | 47 |
لإنشاء البيانات في الجدول
- في المتصفح، حدد جدول الموظفين
- في الجزء الأيسر، انقر فوق محرر النماذج
- أدخل الاسم والعمر
- انقر فوق تطبيق
كرر العملية حتى يتم إنشاء كافة البيانات
الخطوة 6) تحميل MySQL موصل JDBC اضغط هنا
الخطوة 7) أضف الجرة التي تم تنزيلها إلى مشروعك
- انقر بزر الماوس الأيمن على ملف Java ملف. ثم انقر على مسار الإنشاء ← تكوين مسار الإنشاء
- حدد المكتبات
- انقر فوق إضافة JARs خارجية
- يمكنك ان ترى MySQL موصل جافا في مكتبتك
- انقر على فتح لإضافته إلى المشروع
الخطوة 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(); } }
الخطوة 9) قم بتنفيذ الكود، وتحقق من الإخراج
تنطبق نفس الخطوات على أي محرك علائقي.
برامج تشغيل JDBC وسلاسل الاتصال لقواعد البيانات الشائعة
MySQL هذا مجرد خيار واحد. يبقى نمط JDBC متطابقًا عبر جميع المحركات: عمليات الاستيراد، واستدعاء Statement، وحلقة ResultSet لا تتغير. فقط عنصر برنامج التشغيل و URL تختلف، لذا استخدم الجدول أدناه عندما يتم تشغيل التطبيق قيد الاختبار على قاعدة بيانات أخرى.
| قاعدة البيانات | فئة السائق | نموذج اتصال URL | المنفذ الافتراضي |
|---|---|---|---|
| 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.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. هذا يعني أن دالة مساعدة واحدة تكفي لجميع البيئات التي تستهدفها مجموعتك.













