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

iqxoj9l9  于 2022-11-16  发布在  Eclipse
关注(0)|答案(3)|浏览(108)

我正在使用selenium web驱动程序java built,编辑器是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访问保护的远程服务器数据库吗?以及我如何在连接到远程服务器数据库时从本地计算机运行测试用例。
请提供一些建议。

jckbn6z7

jckbn6z71#

您只需要在连接字符串中指定机器的IP地址、端口和数据库名称。

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

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

flvlnr44

flvlnr442#

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

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

olhwl3o23#

需要添加jar文件以连接到数据库

jar: mysql-connector-java

相关问题