美文网首页
API自动化

API自动化

作者: 黑咔 | 来源:发表于2019-10-29 16:08 被阅读0次

    1、httpclient如何做接口测试?

    1. 创建一个httpclient客户端,用于收发包
      CloseableHttpClient client = HttpClients.createDefault();

    2. 创建请求方法,填写url
      HttpPost Login = new HttpPost(url);

    3. 创建请求实体,填写请求参数
      StringEntity ReqEn = new StringEntity(param);

    4. 设置content-type来发送请求实体
      ReqEn.setContentType("application/json;charset=UTF-8");

    5. 添加请求token
      Login.addHeader("token", "tokenValue");

    6. 发送请求时,添加请求实体
      Login.setEntity(ReqEn);

    7. 执行客户端发送请求,并接受响应
      HttpResponse Resp = client.execute(Login);

    8. 获取响应的返回实体
      HttpEntity ResEn = Resp.getEntity();

    9. 解析返回实体的内容,并转换为String
      String ResStr = EntityUtils.toString(ResEn);

    10. 使用if和JSONPath封装一个assert进行断言。

    2、JSONPath如何解析字符串?

    1. JSONPath类似于xpath的语法对json格式字符串进行解析
    2. 使用jJSONPath.read(返回的json,"获取的path语句")就可以获取json的里面的信息。
    3. 语法$表示从根目录开始查找, "."相当于往下一层,类使用xpath的/
    4. 要注意的是JSONPath遇到数组取值下标是从0开始的。

    3、一个token如何供多个接口使用

    1. 实例化一个HeaderMap用来存储JSONPath提取出来的token
    2. 使用for循环在每个接口调用是遍历HeaderMap里面的token,并在发送时用addheader加上

    4、Java是怎么做数据驱动的?

    1. 实例化一个HeaderMap用来存储JSONPath提取出来的token
    2. 使用for循环在每个接口调用是遍历HeaderMap里面的token,并在发送时用addheader加上

    3、Jdbc怎么连接数据库?

    1. 加载数据库连接驱动
      Class.forName("com.mysql.jdbc.Driver");
    2. 通过Connection填写url、用户名,密码建立连接
      Connection conn = DriverManager.getConnection(url, user, password);
    3. 声明statement对象,通过这个对象操作数据库
      Statement state = conn.createStatement();
    4. 通过executeQuery()执行sql语句,使用ResultSet保存结果集
      ResultSet rs = state.executeQuery("SELECT * FROM store_page;");
    5. 使用while语句进行遍历结果集,判断结果集不为空,有内容返回,说明查询成功,并且判断结果集是否有下一行数据,并读取该数据
      while (rs != null && rs.next())
    6. 使用getMetaData()存储数据库查询结果的每一行保存到ResultSetMetaData中
      ResultSetMetaData rsmd = rs.getMetaData();
    7. 实例化一个map,用来存储查询到的每一行所有信息
      Map<String, String> map = new HashMap<String, String>();
    8. 使用for循环来遍历存储每一行数据的每列内容,注意SQL中的列从1开始,使用getColumnCount()判断不能大于他的长度
      for (int i = 1; i <= rsmd.getColumnCount(); i++)
    9. 从第一列开始遍历每一行数据中的每一列,用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部署测试环境?

    1. 首先先创建一个项目构建任务,在Source Code Management中配置git地址拉取源码
    2. 在项目的build菜单中,添加Maven命令调用clean install,完成项目源码的编译生成war包
    3. 将war包部署到服务器上,如果是本地服务器,通过build任务,执行bat脚本
      如果是在Linux服务器上,那么通过publish over ssh插件完成服务器的连接

    7、git如何完成上传

    1. 先 将文件夹初始化为git仓库
      git init
    2. 然后 关联本地文件夹和远端仓库地址
      git remote <仓库别名> <仓库地址>
    3. 在 将文件夹中的所有内容添加到本地仓库缓存区
      git add .
    4. 然后 提交并备注说明
      git commit -m “提交说明”
    5. 最后 推送到远端仓库master分支
      git push –u <仓库别名> master

    8、重载和重写的区别是什么?

    1. 重载就是方法名相同,参数列表不同,就形成重载。
    2. 重写就是方法名,参数列表,返回值与父类的相同,就形成了重写。

    9、你的代码是怎么分层的?
    代码分层就是一个类专注于实现某个功能,比如做接口测试的话,我会通过关键字封装一个httpclientKw的类,专注实现发送请求和解析响应的功能。然后封装一个KeyWordInter类完成自定义功能,比如参数传递跟断言操作等。

    相关文章

      网友评论

          本文标题:API自动化

          本文链接:https://www.haomeiwen.com/subject/umrgvctx.html