使用Selenium Webdriver连接远程数据库,并通过eclipse从本地计算机运行测试用例

Joh*_*ohn 6 java .htaccess selenium selenium-webdriver

我正在使用selenium web驱动java构建,编辑器是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();
Run Code Online (Sandbox Code Playgroud)

现在我需要连接到远程服务器中的原始开发服务器数据库.

我试过这个连接字符串来连接远程机器

 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");
Run Code Online (Sandbox Code Playgroud)

但无法连接到远程机器数据库.显示以下错误

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)
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我在连接字符串中需要做哪些更改才能连接远程服务器数据库,该数据库是否受到访问保护?以及如何在连接到远程服务器数据库时从本地计算机运行我的测试用例.

请提供一些建议.

Pet*_*sik 0

您只需在连接字符串中指定计算机的 IP 地址、端口和数据库名称。所以尝试类似的东西

String dbUrl = "jdbc:mysql://192.168.1.53306/myDB";
DriverManager.getConnection(dbUrl, "username", "password");
Run Code Online (Sandbox Code Playgroud)

您的测试应该以与以前相同的方式工作,您只是连接到不同的机器,这可能会更耗时(例如查询可能需要更多时间),但这是唯一的区别。