1、httpclient如何做接口测试?
-
创建一个httpclient客户端,用于收发包
CloseableHttpClient client = HttpClients.createDefault(); -
创建请求方法,填写url
HttpPost Login = new HttpPost(url); -
创建请求实体,填写请求参数
StringEntity ReqEn = new StringEntity(param); -
设置content-type来发送请求实体
ReqEn.setContentType("application/json;charset=UTF-8"); -
添加请求token
Login.addHeader("token", "tokenValue"); -
发送请求时,添加请求实体
Login.setEntity(ReqEn); -
执行客户端发送请求,并接受响应
HttpResponse Resp = client.execute(Login); -
获取响应的返回实体
HttpEntity ResEn = Resp.getEntity(); -
解析返回实体的内容,并转换为String
String ResStr = EntityUtils.toString(ResEn); -
使用if和JSONPath封装一个assert进行断言。
2、JSONPath如何解析字符串?
- JSONPath类似于xpath的语法对json格式字符串进行解析
- 使用j
JSONPath.read(返回的json,"获取的path语句")就可以获取json的里面的信息。 - 语法$表示从根目录开始查找, "."相当于往下一层,类使用xpath的/
- 要注意的是JSONPath遇到数组取值下标是从0开始的。
3、一个token如何供多个接口使用
- 实例化一个HeaderMap用来存储JSONPath提取出来的token
- 使用for循环在每个接口调用是遍历HeaderMap里面的token,并在发送时用addheader加上
4、Java是怎么做数据驱动的?
- 实例化一个HeaderMap用来存储JSONPath提取出来的token
- 使用for循环在每个接口调用是遍历HeaderMap里面的token,并在发送时用addheader加上
3、Jdbc怎么连接数据库?
- 加载数据库连接驱动
Class.forName("com.mysql.jdbc.Driver"); - 通过Connection填写url、用户名,密码建立连接
Connection conn = DriverManager.getConnection(url, user, password); - 声明statement对象,通过这个对象操作数据库
Statement state = conn.createStatement(); - 通过executeQuery()执行sql语句,使用ResultSet保存结果集
ResultSet rs = state.executeQuery("SELECT * FROM store_page;"); - 使用while语句进行遍历结果集,判断结果集不为空,有内容返回,说明查询成功,并且判断结果集是否有下一行数据,并读取该数据
while (rs != null && rs.next()) - 使用getMetaData()存储数据库查询结果的每一行保存到ResultSetMetaData中
ResultSetMetaData rsmd = rs.getMetaData(); - 实例化一个map,用来存储查询到的每一行所有信息
Map<String, String> map = new HashMap<String, String>(); - 使用for循环来遍历存储每一行数据的每列内容,注意SQL中的列从1开始,使用getColumnCount()判断不能大于他的长度
for (int i = 1; i <= rsmd.getColumnCount(); i++) - 从第一列开始遍历每一行数据中的每一列,用rsmd.getColumnName(i)进行存储列名,rs.getString(i)存储值
map.put(rsmd.getColumnName(i), rs.getString(i));
4、CI、CD代表什么意思?
- CI(Continuous Integration)持续集成
- CD(Continuous Deployment)持续部署
- 把研发工作中的各个流程串到一起,形成一个流水线工作,让他可以持续的复用
5、如何使用Jenkins部署测试环境?
- 首先先创建一个项目构建任务,在Source Code Management中配置git地址拉取源码
- 在项目的build菜单中,添加Maven命令调用clean install,完成项目源码的编译生成war包
- 将war包部署到服务器上,如果是本地服务器,通过build任务,执行bat脚本
如果是在Linux服务器上,那么通过publish over ssh插件完成服务器的连接
7、git如何完成上传
- 先 将文件夹初始化为git仓库
git init - 然后 关联本地文件夹和远端仓库地址
git remote <仓库别名> <仓库地址> - 在 将文件夹中的所有内容添加到本地仓库缓存区
git add . - 然后 提交并备注说明
git commit -m “提交说明” - 最后 推送到远端仓库master分支
git push –u <仓库别名> master
8、重载和重写的区别是什么?
- 重载就是方法名相同,参数列表不同,就形成重载。
- 重写就是方法名,参数列表,返回值与父类的相同,就形成了重写。
9、你的代码是怎么分层的?
代码分层就是一个类专注于实现某个功能,比如做接口测试的话,我会通过关键字封装一个httpclientKw的类,专注实现发送请求和解析响应的功能。然后封装一个KeyWordInter类完成自定义功能,比如参数传递跟断言操作等。













网友评论