Selenium webdriver 错误:从数据库中提取数据时关闭连接

Selenium webdriver 错误:从数据库中提取数据时关闭连接,selenium-webdriver,Selenium Webdriver,在运行TestSuite中的两个测试用例时,我遇到了一个奇怪的问题。测试套件由15个测试用例组成,这两个分别是第9个和第10个Tc 当我只运行这两个测试用例时,它们都运行得很好,但是在整个测试套件运行的情况下,这两个都不在报告中。(完全被跳过) 这两个测试用例都具有执行数据库查询并从数据库和控制台中获取患者姓名的功能,我们已经看到这是错误背后的根本原因。 我们面临“错误:从数据库获取数据时Io异常:连接重置”-9th Tc 从数据库中获取数据时“关闭连接”-10th Tc 下面是我们编写的获取患

在运行TestSuite中的两个测试用例时,我遇到了一个奇怪的问题。测试套件由15个测试用例组成,这两个分别是第9个和第10个Tc

当我只运行这两个测试用例时,它们都运行得很好,但是在整个测试套件运行的情况下,这两个都不在报告中。(完全被跳过)

这两个测试用例都具有执行数据库查询并从数据库和控制台中获取患者姓名的功能,我们已经看到这是错误背后的根本原因。 我们面临“错误:从数据库获取数据时Io异常:连接重置”-9th Tc 从数据库中获取数据时“关闭连接”-10th Tc

下面是我们编写的获取患者姓名的代码:

            try
    {
        stmt =con.createStatement(); //public static java.sql.Statement stmt;public static ResultSet rs;public static Connection con; these 3 we declared in driver script

        rs=stmt.executeQuery("select d.id, c.first_name, c.last_name, d.ssn from Table1 d, Table2 c  where c.id=d.contact_id and d.facility_id='"+facilityID+"' and d.security_id='"+securityID+"' and <Some condition> and d.id not in (<Some data>);
        if (rs.next() == true){
            DBFirstName=rs.getString(2);
            DBLastName=rs.getString(3);
            DBFullName = DBLastName +", " +DBFirstName;
            System.out.println("DB Full Name ="+DBFullName);
        }else{
            System.out.println("Inside else"); 
            return "Fail :Unable to fetch Patient data(lastname) from database";
        }
    }

    catch(Throwable t)
    {
        APPLICATION_LOGS.debug("Error : In fetching data from Database" +t.getMessage());
        System.out.println("Error : In fetching data from Database" +t.getMessage());
    }

    rs.close();
    stmt.close();
试试看
{
stmt=con.createStatement();//public static java.sql.Statement stmt;public static ResultSet rs;public static Connection con;这三个是我们在驱动程序脚本中声明的
rs=stmt.executeQuery(“从表1 d、表2 c中选择d.id、c.first_name、c.last_name、d.ssn,其中c.id=d.contact_id和d.facility_id=”“+facilityID+”、d.security_id=”、“+securityID+”、d.id不在();
如果(rs.next()==true){
DBFirstName=rs.getString(2);
DBLastName=rs.getString(3);
DBFullName=DBLastName+“,”+DBFirstName;
System.out.println(“DB Full Name=“+DBFullName”);
}否则{
System.out.println(“其他内部”);
返回“失败:无法从数据库中获取患者数据(姓氏)”;
}
}
捕获(可丢弃的t)
{
应用程序_LOGS.debug(“错误:从数据库获取数据时”+t.getMessage());
System.out.println(“错误:从数据库获取数据时”+t.getMessage());
}
rs.close();
stmt.close();
如果有人有任何想法,请告诉我。 提前谢谢。
Nilanjan。

请检查数据库连接是否已打开。Con.open()可能可以完成此工作。另外,请尝试检查堆栈跟踪。我猜它会在您开始使用连接时出现,因为它尚未打开。请检查并告诉是的,这是我发现的问题。谢谢。