通过放心连接数据库(REST API 自动化)

Connect to Database through rest assured (REST API automation)

我们正在使用 serenity-rest-assured 自动测试 REST APIs。要求是连接到 PostgreSQL 数据库并将 GET API 调用值与数据库 table 值进行比较。

我在互联网上搜索过,但找不到答案。我可能没有使用正确的搜索关键字。

请指导,是否可以完成连接数据库并测试API结果?

刚刚试了一下,下面的内容足以证明您可以从数据库中获取值并根据您在 Rest Assured 实施过程中获取的值进行验证。

这是一小段代码,您可以根据需要即兴创作

这是我的 class,我希望代码不言自明

  public class S_62551943 {

    // Declaration of the variables
    
    private final String url = "jdbc:postgresql://localhost/dvdrental";
    private final String user = "postgres";
    private final String password = "root";
    public static String fname = null;

    // Method to initalize connection to the database and execute query
    
    public void connect() {

        try {
            Connection conn = DriverManager.getConnection(url, user, password);
            {
                if (conn != null) {

                    PreparedStatement pst = conn.prepareStatement("select first_name from actor where last_name = 'Lollobrigida'");
                    ResultSet rs = pst.executeQuery();
                    {
                        while (rs.next()) {

                            fname = rs.getString("first_name");
                            System.out.println("The value from the table is : "+fname);
                        }
                    }

                } else
                    System.out.println("Failed to connect");
            }

        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }
    }

    // Main method and Rest Assured Code
    
    public static void main(String[] args) {
        S_62551943 app = new S_62551943();
        app.connect();      
        given().when().get("https://reqres.in/api/users/2").then().body("data.first_name", equalToIgnoringCase(fname));
        System.out.println("Execution Successful");
    }

}

有关 Postgres 的更多信息 - https://www.postgresqltutorial.com/