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

Java 使用SeleniumWebDriver连接远程数据库,并通过eclipse从本地计算机运行测试用例,java,.htaccess,selenium,selenium-webdriver,Java,.htaccess,Selenium,Selenium Webdriver,我正在使用java构建的selenium web驱动程序,编辑器是eclipse。为了测试我们的一个网站,我使用从MySQL数据库获取数据的数据驱动测试 我将开发服务器数据库转储到本地计算机,并将转储的数据安装到我的计算机xampp中,并且能够连接到数据库并继续进行测试过程 要连接到本地计算机数据库,我使用此连接字符串 String url1 ="jdbc:mysql://localhost:3306/databasename"; String dbClass = "com

我正在使用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");

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

您可以利用其中一个提供的数据驱动功能,您可以指定数据库查询来提供测试数据。 例如:

@IsDataProvider(sqlQuery="select query")
@Test
public void testSomething(Map<String, String> testdata){
  //use query col as key testdata.get("colName")
  }
@IsDataProvider(sqlQuery=“选择查询”)
@试验
公共void testSomething(映射testdata){
//使用查询列作为键testdata.get(“colName”)
}

您需要添加一个jar文件来连接到数据库

jar: mysql-connector-java

要打开我们的远程服务器数据库,我们必须提供ht access用户名和密码,您能告诉我如何在连接字符串中传递该信息吗?与您在连接到localhost时所做的相同。我还编辑了我的答案,以反映感谢你的答复,但我所说的与你所理解的略有不同。我说的是Htaccess用户名和密码,当我们打开远程数据库时,需要提供该用户名和密码,该用户名和密码与数据库用户名和密码不同。通过以下字符串dbUrl=“jdbc:mysql://192.168.1.53306/myDB"; getConnection(dbUrl,“用户名”,“密码”);我们可以连接到数据库,但在连接到数据库之前,我们必须清除ht访问权限,如何进行。John,你的问题与webdriver无关。在论坛上搜索“使用java进行htaccess身份验证”。“htaccess”问题也有一个标签。