本文链接: https://www.cnblogs.com/hchengmx/p/test-framework-integrate-with-rally.html


1. 支持的语言

根据官方GitHub显示,https://github.com/RallyTools

目前支持的语言有 Python, NodeJs, .Net, Clojure, Ruby, Java, PHP..

以下均以Java举例。

其中Get/Query/Create用的比较多,所以只介绍了这几种。更多的请求可参考 官方API文档

2. 创建API Key

API Key可以理解为替代了账号密码。

Rally Application Manager 中Create New API Keys

创建以后,需要在代码中引用API Keys

RallyRestApi restApi = new RallyRestApi(new URI(host), "API Keys");

3. GetRequest

得到某Referance的详细参数(Get the specified object.)

String ref =  Ref.getRelativeRef(testCaseQueryResponse.getResults().get(0).getAsJsonObject().get("_ref").getAsString()); //testcase/457072321724
GetRequest getRequest = new GetRequest(ref);
GetResponse getResponse = restApi.get(getRequest);

4. QueryRequest

QueryRequest testCaseQueryRequest = new QueryRequest("TestCase");
testCaseQueryRequest.setFetch(new Fetch(new String[]{testCaseID, "Name", "FormattedID"}));
QueryFilter queryFilter = new QueryFilter("FormattedID", "=", testCaseID);
testCaseQueryRequest.setQueryFilter(queryFilter);
QueryResponse testCaseQueryResponse = restApi.query(testCaseQueryRequest);

5. CreateRequest

比如遇到情况,一个资源是另外一个资源的其中属性,比如Test Case Result必须是某一个Test Case的,Test Case是Test Case Result的其中一个属性,这种需要先根据Test CaseId找到Test Case Reference,然后Test Case Result再引用。

QueryResponse testCaseQueryResponse = restApi.query(testCaseQueryRequest);
String testCaseRef = testCaseQueryResponse.getResults().get(0).getAsJsonObject().get("_ref").getAsString(); //get test case reference JsonObject newTestCaseResult = new JsonObject();
newTestCaseResult.addProperty("Verdict", verdict);
newTestCaseResult.addProperty("Date", s1);
newTestCaseResult.addProperty("Notes", Notes);
newTestCaseResult.addProperty("Build", Build);
newTestCaseResult.addProperty("TestCase", testCaseRef); CreateRequest testCaseResultCreateRequest = new CreateRequest("testcaseresult", newTestCaseResult);
CreateResponse testCaseResultCreateResponse = restApi.create(testCaseResultCreateRequest);

6. 参考资料

  1. Rally Software Introduction
  2. GitHub - RallyTools/RallyRestToolkitForJava: A Java Toolkit for Accessing Rally's Webservice API
  3. CA Agile Central Web Services API Documentation v2.0
  4. For Developers
  5. Agile Central App SDK 2.1 Docs
  6. CA Agile Central - Webhooks(beta)
  7. RallyRestApi (Rally Rest Toolkit For Java 2.2.1 API)

代码调用Rally的接口介绍的更多相关文章

  1. 代码调用t.cn接口生成短址

    新浪短网址接口的稳定性和跳转速度还是很给力的,现给出其API说明. 该接口支持两种返回格式:xml和json 对应的URL请求地址为: xml:http://api.t.sina.com.cn/sho ...

  2. 一行代码搞定Dubbo接口调用

    本文来自网易云社区 作者:吕彦峰 在工作中我们经常遇到关于接口测试的问题,无论是对于QA同学还是开发同学都会有远程接口调用的需求.针对这种问题我研发了一个工具包,专门用于远程Dubbo调用,下面就让我 ...

  3. Hive 接口介绍(Web UI/JDBC)

    Hive 接口介绍(Web UI/JDBC) 实验简介 本次实验学习 Hive 的两种接口:Web UI 以及 JDBC. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanl ...

  4. js调用百度地图接口

    原文:js调用百度地图接口 这是前几天公司做的新项目,上面需要用到地图的数据.第一次做这类型的东西没啥思路,咱们经理说,这东西简单,截个图存文件夹里调整好尺寸,数据库里存上图片的地址动态调用就行了.心 ...

  5. 【百度地图API】如何在地图上添加标注?——另有:坐标拾取工具+打车费用接口介绍

    原文:[百度地图API]如何在地图上添加标注?--另有:坐标拾取工具+打车费用接口介绍 摘要: 在这篇文章中,你将学会,如何利用百度地图API进行标注.如何使用API新增的打车费用接口. ------ ...

  6. Redis --> Redis的接口介绍及使用

    Redis的接口介绍及使用 Redis是一个远程内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型.Redis提供了5种不同类型的数据结构,各式各样的问题都可以很自然 ...

  7. 全国天气预报信息数据 API 功能简介与代码调用实战视频

    此文章对开放数据接口 API 之「全国天气预报信息数据 API」进行了功能介绍.使用场景介绍以及调用方法的说明,供用户在使用数据接口时参考之用,并对实战开发进行了视频演示. 1. 产品功能 接口开放了 ...

  8. Spring之InstantiationAwareBeanPostProcessor接口介绍

      InstantiationAwareBeanPostProcessor接口是BeanPostProcessor的子接口,通过接口字面意思翻译该接口的作用是感知Bean实例话的处理器.实际上该接口的 ...

  9. java如何调用对方http接口(II)

    java如何调用接口 在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适,所以,问题来了,java如何调用接口?很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对 ...

随机推荐

  1. centOS一次性更新所有依赖库

    CentOS中使用yum一次性更新安装依赖库 [tom@localhost /]# sudo -s [root@localhost /]# LANG=C [root@localhost /]# yum ...

  2.  CPUs Intel 925X/915 Chipset (925X主板芯片组)

    这个是2004年的intel产品的设计(主板,主板芯片组,北桥,南桥),结构也比较清晰,主要想看南桥和北桥的设计. 一些英文解释 ECC是一种能够实现"错误检查和纠正"的技术D92 ...

  3. TNS-12533: TNS:illegal ADDRESS parameters(修复)

    修复 TNS-12533: TNS:illegal ADDRESS parameters oracle@prd:/home/oracle$sqlplus sys/abc@fp as sysdba SQ ...

  4. Zabbix6 网络发现

    Zabbix6 网络发现 功能 快速发现并添加主机 简单的管理 随着环境的改变而快速搭建系统 发现配置依据 IP地址段 基于服务(FTP.SSH.Web.POP3.IMAP.TCP-)的 从Zabbi ...

  5. 移动端input解决键盘问题 方案1

    $('body').on('focusin', 'input, textarea', function(event) { if(navigator.userAgent.indexOf('Android ...

  6. docker基础_数据卷

    docker数据卷 为什么要使用数据卷 如果数据都在容器中,那么容器一旦删除,数据就会丢失!docker容器需要将产生的数据同步到本地.容器与容器之间也需要有一个数据共享的技术 将某些文件共享.这就是 ...

  7. 原生 js 重点案例 [tab栏切换]

    代码示例 :  <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  8. 伪元素 Before & Aster

    1. html 结构 <label class="is-required" for="name">姓名</label> <inpu ...

  9. java中int的最值解析

    java中int的最大值为十进制的2147483647,也就是java能进行操作的最大数值,超出就会显示不正常.针对以下问题进行讨论. 1.最大值为什么是2147483647? java中int类型占 ...

  10. 6.2 计划任务crond

    创建.编辑计划任务的命令为crontab -e,查看当前计划任务的命令为crontab -l,删除某条计划任务的命令为crontab -r. 参数 作用 -e 编辑计划任务 -u 指定用户名称 -l ...