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类完成自定义功能,比如参数传递跟断言操作等。
网友评论