java实现⾃动化测试接⼝访问(⼆)--Http登录授权接⼝实例1.待测试的接⼝说明
1、⾃⼰写的⼀个登录功能,通过加密算法获得私钥,token还有cookie,通过Postman访问该接⼝
1. 接⼝的地址:
2. 请求的⽅式:post
3. 请求的结果:
2、测试⽬标
登录成功后,返回是否返回预期的状态和token
2.新建Java web项⽬
1、⼯程结构说明
2、User.java源码
/**
* ⽤户实例,每个字段对应数据库user表的每个字段
*/
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [username=" + username + ", password=" + password + "]"; }
}
3、JdbcUtils.java源码
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 数据库连接常⽤类
*
*/
public class JdbcUtils {
/
**
* 进⾏数据库连接,并返回连接对象
* @return 数据库连接对象
* @throws Exception
*/
public static Connection getConnection() throws Exception {
String url = "jdbc:mysql:///数据库名?characterEncoding=utf8&useSSL=false";
String username = "⽤户名";
String password = "密码";
String driver = "sql.jdbc.Driver";
Class.forName(driver); // 将数据库连接驱动driver加载到内存中
Connection(url, username, password); // 返回连接对象 }
/**
* 关闭数据库连接的静态⽅法
* @param conn 需要关闭的连接对象
* @param stmt 需要关闭的语句对象
* @param rs 需要关闭的查询结果对象
*/
public static void close(Connection conn, Statement stmt, ResultSet rs) {
if(rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
4、UserDao.java源码
resultset 遍历import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
st.entities.User;
st.utils.JdbcUtils;
public class UserDao {
/**
* 根据给定的sql和参数进⾏数据库查询,并将结果转成对象返回
* @param sql 需要执⾏的select语句
* @param args select查询语句中占位符所需的参数
* @return select查询后返回的对象集合
*/
public List<User> getUsers(String sql, args){
List<User> users = new ArrayList<>();
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = Connection(); // 获取数据库连接
ps = conn.prepareStatement(sql); // 创建带有占位符的语句对象 for(int i = 0; i < args.length; i++) {
ps.setObject(i+1, args[i]); // 对占位符进⾏实际赋值
}
rs = ps.executeQuery(); // 执⾏sql语句,并获取返回
()) { // 根据返回进⾏记录的逐条遍历
User _user = new User();
_user.String("username"));
_user.String("password"));
users.add(_user); // 每⼀条记录代表⼀个user对象,添加到集合中 }
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.close(conn, ps, rs); // 关闭数据库连接
}
return users;
}
}
5、Authorization .java源码
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论