簡體   English   中英

使用 Selenium Webdriver 連接遠程數據庫並通過 Eclipse 從本地機器運行測試用例

[英]Connect Remote Database using Selenium Webdriver and run Test Cases from local machine through eclipse

我使用的是java 內置的 selenium web 驅動程序,編輯器是eclipse 為了測試我們的網站之一,我通過從 MySQL 數據庫中獲取數據來使用數據驅動測試。

我將開發服務器數據庫轉儲到我的本地機器,並將轉儲的數據安裝在我的機器 xampp 中,並且能夠連接到數據庫並繼續進行測試過程。

要連接到我的本地機器數據庫,我正在使用此連接字符串

String url1 ="jdbc:mysql://localhost:3306/databasename";           
String dbClass = "com.mysql.jdbc.Driver";
Class.forName(dbClass).newInstance();
Connection con = DriverManager.getConnection(url1, "root", "");
Statement stmt = (Statement) con.createStatement();

現在我需要連接到遠程服務器中的原始開發服務器數據庫。

我已經嘗試將此作為連接字符串來連接遠程機器

 String url1 ="jdbc:mysql://10.0.2.129:3306/test";
 String dbClass ="com.mysql.jdbc.Driver";
 Class.forName(dbClass).newInstance();
 Connection con = DriverManager.getConnection(url1, "root","root");

但無法連接到遠程機器數據庫。顯示以下錯誤

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)

任何人都可以建議我需要在連接字符串中進行哪些更改才能連接受 ht 訪問保護的遠程服務器數據庫 以及如何在連接到遠程服務器數據庫的同時從本地機器運行我的測試用例。

請提供一些建議。

您只需要在連接字符串中指定機器的 IP 地址、端口和數據庫名稱。 所以嘗試類似的東西

String dbUrl = "jdbc:mysql://192.168.1.53306/myDB";
DriverManager.getConnection(dbUrl, "username", "password");

並且您的測試應該以與以前相同的方式工作,您只是連接到可能更耗時的不同機器(例如查詢可能需要更多時間),但這是唯一的區別。

您可以利用selenium 測試框架之一提供的數據驅動功能 - ISFW ,您可以在其中指定數據庫查詢以提供測試數據。 例如:

@IsDataProvider(sqlQuery="select query")
@Test
public void testSomething(Map<String, String> testdata){
  //use query col as key testdata.get("colName")
  }

需要添加一個jar文件來連接數據庫

jar: mysql-connector-java

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM