1.下载相关的jar包

2.获取到testlink的url和key,注意:url不是testlink的连接地址,是连接地址+/lib/api/xmlrpc.php

3.测试是否连接成功

	public static void main(String args[]) {
String url = "http://test.tl.gmsd.lan/lib/api/xmlrpc.php";
String devKey = "223f929e98e3d74fa3c000b67668e305";
TestLinkAPI api = null; URL testlinkURL = null; try {
testlinkURL = new URL(url);
} catch ( MalformedURLException mue ) {
mue.printStackTrace( System.err );
System.exit(-1);
} //api = new
try {
api = new TestLinkAPI(testlinkURL, devKey);
} catch( Exception te) {
te.printStackTrace( System.err );
System.exit(-1);
} System.out.println(api.ping());
}

  运行后,出现hello即表明连接成功

4. 更改测试用例执行结果

        /*批量根据用例id执行*/
TestPlan tp = api.getTestPlanByName("XXXX((2015/7/21-2015/7/30)", "交易系统"); String buildName = "XXXX";
Integer testPlanId = tp.getId(); TestSuite[] ts = api.getTestSuitesForTestPlan(tp.getId());
System.out.println(ts.length);
TestCaseDetails tcd = null;
int index = 0;
for(int i=0;i<ts.length;i++) {
TestCase[] tc = api.getTestCasesForTestSuite(ts[i].getId(), true, tcd);
//System.out.println(tc.length);
System.out.println(ts[i].getName());
for(int j=0;j<tc.length;j++) {
Integer testCaseId = tc[j].getId();
// api.reportTCResult(testCaseId, null, testPlanId, ExecutionStatus.PASSED, null, buildName, "自动化上传结果的备注", null, null, null, null, null, null);
//api.createTestPlan("testPlanqjf1", projectName, notes, isActive, isPublic)
} index += tc.length;
}
System.out.println("共执行 "+index+" 条用例");

/*跟进用例id更改*/

//获取测试计划id
Integer testPlanId = api.getTestPlanByName("新增还款方式(最新)", "交易系统").getId();
String buildName = "交易新增还款方式";

Integer testCaseId = 3734;

api.reportTCResult(testCaseId, null, testPlanId, ExecutionStatus.FAILED, null, buildName, "自动化上传结果的备注", null, null, null, null, null, null);

  

        /*创建测试用例*/
String testCaseName= "居间人管理:添加居间人";
Integer testSuiteId = 6762;
Integer testProjectId = 214;
//Integer testSuiteId1 = 6762; //获取测试用例集id
System.out.println(api.getTestCase(6763, null, null).getTestSuiteId());
//获取getAuthorLogin
System.out.println("getAuthorLogin="+api.getTestCase(6763, null, null).getAuthorLogin());
//api.getTestSuiteByID(6762)
//获取getSummary
System.out.println(api.getTestCase(6763, null, null).getTestProjectId());
api.getTestCase(6763, null, null);
System.out.println("id="+api.getTestProjectByName("交易系统").getId()); // System.out.println(api.getTestCase(6763, null, null).getSummary());
// api.createTestCase(testCaseName, testSuiteId, 170, "qusername", "点击一级菜单【居间人管理】选择二级菜单【居间人管理】功能,进入居间人管理界面", null, null, null, null, null, null, null, null);

相关的用例id和buildname可以从导出的测试计划xml文件中得到。如下图

附录:

testlink常用的方法:http://testlinkjavaapi.sourceforge.net/implemented_methods.html

testlink接口:http://testlinkjavaapi.sourceforge.net/structure.html

java如何连接testlink的更多相关文章

  1. Java Mysql连接池配置和案例分析--超时异常和处理

    前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...

  2. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  3. JAVA JDBC连接 SQLServer2012 连接失败 端口号错误

    SQLServer2012的SQL Sever 网络配置 我有4个 SQLEXPRESS的协议 SQLSERVER2008的协议 MSSQLSERVER的协议 SQLSERVER2012的协议 他们都 ...

  4. JAVA长连接demo

    http://blog.csdn.net/caomiao2006/article/details/38830475 JAVA长连接demo 2014-08-25 23:20 4767人阅读 评论(2) ...

  5. Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 及sql2008外围服务器

    转载:Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 错误原因如下: Exception in thread & ...

  6. Java网络连接之HttpURLConnection、HttpsURLConnection

    工具类包含两个方法: http请求.https请求 直接看代码: package com.jtools; import java.io.BufferedReader; import java.io.I ...

  7. mongodb3.0分片及java代码连接操作测试(开启用户验证)

    最近抽时间搭建了一下mongodb简单的分片,整个过程还算是蛮顺利,只不过在用户验证这一块遇到了一些问题,好在最后终于搞定. 一.服务器搭建过程: 1.安装四个mongodb:一个作为config.一 ...

  8. java自定义连接池

    1.java自定义连接池 1.1连接池的概念: 实际开发中"获取连接"或“释放资源”是非常消耗系统资源的两个过程,为了姐姐此类性能问题,通常情况我们采用连接池技术来贡献连接Conn ...

  9. java项目连接jdbc报错:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server

    java项目连接jdbc报错:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not creat ...

随机推荐

  1. 与众不同 windows phone (50) - 8.1 新增控件: PickerFlyout, ListPickerFlyout

    [源码下载] 与众不同 windows phone (50) - 8.1 新增控件: PickerFlyout, ListPickerFlyout 作者:webabcd 介绍与众不同 windows ...

  2. ViewPager和Fragment的组合使用

    如图是效果图用的是Viewpager和fragment来实现的主界面 不过其中的预加载我没有解决 如下是代码代码比较简单 package com.ithello.dingding; import ja ...

  3. 序列中找子序列的dp

    题目网址: http://codeforces.com/problemset/problem/414/B Description Mashmokh's boss, Bimokh, didn't lik ...

  4. [PHP] 自定义错误处理

    关闭掉默认的错误提示,注册自己的错误提示 Application.php <?php class Application{ public static function main(){ head ...

  5. Docker源码编译

    官方建议docker源码编译在docker容器内进行,因为官方提供的容器内已经继承了编译需要的环境,如果非要自己搭建编译环境也不是不可以,就是稍微有些繁琐.以下以1.8.2版本为例. 1.pull d ...

  6. 再说Play!framework http://hsfgo.iteye.com/blog/806974

    这篇帖子的内容我本来想发到 http://www.iteye.com/topic/806660这里的主贴里去的,想挽回被隐藏的命运,但我写完本贴的内容,却发现为时已晚.好吧,我承认,上一个贴的标题容易 ...

  7. jQuery 的 ajax

    jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. load() 方法从服务器加载数据,并把返回的数据放入被选元素中. $(selector).load ...

  8. How to copy files between sites using JavaScript REST in Office365 / SharePoint 2013

    http://techmikael.blogspot.in/2013/07/how-to-copy-files-between-sites-using.html I'm currently playi ...

  9. 错误:StrictMode $ AndroidBlockGuardPolicy.onNetwork

    you have to insert 2 lines "StrictMode" on MainActivity Class, example's below: 在onCreate( ...

  10. iOS设计模式之中介者模式

    中介者模式 基本理解 中介者模式又叫做调停者模式,其实就是中间人或者调停者的意思. 尽管将一个系统分割成许多对象通常可以增加可复用性,但是对象之间的连接又降低了可复用性. 如果两个类不必彼此直接通信, ...