最近在工作写一个接口自动化框架。以前只是小规模写过这样的接口自动化,现在希望将项目中所有的接口都包含进去本着持续修改的原则,一开始可以所有细枝末节功能不能完全实现,但核心功能已全部实现。
技术上总体应用:Java+Testng+Maven实现。数据源取自三种:Excel文件、MySQL数据库、其他类型文件。说跑题了,哈哈。总体性的细节以后有机会写。先说一个问题。
实际工作中的HttpDelete需要传一个json,但是实际Apache HttpClient API中的HttpDelete不支持设置Entity。通过查看源码与API文档,发现原来delete与Post和Put不同。
因为HttpPost与HttpPut继承了HttpEntityEnclosingRequestBase类所以可以使用父类的方法setEntity(HttpEntity entity);
如若要使HttpDelete可以使用setEntity方法可以写一个类继承HttpEntityEnclosingRequestBase。
如:我是这样写
public class HttpDeleteWith extends HttpEntityEnclosingRequestBase {
public final String METHOD_NAME = "DELETE";
@Override
public String getMethod() {
// TODO Auto-generated method stub
return METHOD_NAME;
}
public HttpDeleteWith(final URI uri){
super();
setURI(uri);
}
public HttpDeleteWith(final String uri){
super();
setURI(URI.create(uri));
}
public HttpDeleteWith(){
super();
}
这样写是否有问题,欢迎各位私信我。
网友评论