当前位置: 首页 > 知识库问答 >
问题:

如何使用Xray Rest API将测试执行添加到测试计划中?

祁建业
2023-03-14

我正在尝试使用X射线Rest API将测试执行添加到测试计划中

const axios = require('axios');
const { argv } = require('yargs');

const { clientId, clientSecret } = argv;

const headers = {
  Accept: 'application/json',
  'Content-Type': 'application/json',
};

const authenticateXray = async () => {
  await axios({
    method: 'post',
    url: `https://xray.cloud.xpand-it.com/api/v2/authenticate`,
    headers,
    data: {
      client_id: clientId, // my created client id goes here
      client_secret: clientSecret, // my created client secret goes here
    },
  })
    .then(res => console.log(`Xray authentication response status was: ${res.status}`)) // 200!
    .catch(e => {
      throw new Error(e.response.data.error);
    });
};

然后,我打了个电话

await axios({
    method: 'posts',
    url: `https://xray.cloud.xpand-it.com/api/internal/testplan/${createdTestPlan.data.id}/addTestExecs`,
    data: {
      0: createdTestExecIssue.data.id,
    },
});

但是,我收到了以下错误:(节点:46352)未处理PromisejectionWarning:错误:请求失败,状态代码为400。我可以使用Jira Rest API中的另一个endpoint将测试执行链接到测试计划,但我希望添加它,请查看下面的屏幕截图以供参考。

共有2个答案

陈哲
2023-03-14

您可以使用图QL api来实现这一点,只需替换YourTestPlanID和YourTestExefftionId。

const response =  await axios({
    method: 'post',
    url:    'https://xray.cloud.xpand-it.com/api/v1/graphql',
    data:   { 
      query: 
        `mutation {
          addTestExecutionsToTestPlan(
            issueId: "YourTestPlanID",
            testExecIssueIds: ["yourTestExecutionId"]) {
                addedTestExecutions
                warning
            }
        }`
    },
    headers: { 
        Authorization:  `Bearer TOKEN obtained using the authentication api`,
        'Content-Type': 'application/json' }
});
长孙阳州
2023-03-14

我能够通过以不同的方式传递data来解决这个问题:

await axios({
    ...
    ...
    data: [`${testExecutionId}`],
});
'X-acpt': `encodedCharaterGoesHere-YouNeedToretrievUsingNetworkTabInChrome`,

我的请求最终是这样的:

await axios({
    method: 'post',
    url: `https://xray.cloud.xpand-it.com/api/internal/testplan/${testPlanId}/addTestExecs`,
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/json',
      'X-acpt': `encodedCharaterGoesHere-YouNeedToretrievUsingNetworkTabInChrome`,
      'X-Powered-By': 'Express',
    },
    data: [`${testExecutionId}`],
  });
 类似资料:
  • 我试图将一个测试集添加到Jira中现有的测试执行中,我在这个文档链接中找到了如何将测试与测试执行关联起来,但我仍然不知道如何使用它。 令人困惑的是,查看测试执行的测试的请求与向测试执行添加测试集的请求是相同的。另外,我要将要添加到测试执行中的测试密钥放在哪里。 有人能帮我打电话给那个请求吗?

  • 如何在spring boot应用程序中测试计划的作业任务?

  • 主要内容:测试计划的类型,如何编写测试计划,测试计划指南测试计划是描述软件测试领域和活动的详细文档。它概述了测试策略,目标,测试计划,所需资源(人力资源,软件和硬件),测试评估和测试可交付成果。 测试计划是每个软件测试的基础。这是最重要的活动,可确保以适当的顺序提供所有计划活动清单。 测试计划是用于将软件测试活动作为定义的过程进行的模板,该过程由测试经理完全监视和控制。 测试计划的类型 测试计划有三种类型 主测试计划 阶段测试计划 测试特定类型的测试计

  • 22.13.1.执行测试 测试从main构建过程中分离出来的,运行在一个单独的JVM中执行.Test任务允许控制这些如何发生. 有许多属性用于控制测试过程如何启动.这包括使用诸如系统属性,JVM参数和Java可执行文件。 可以指定是否要并行执行测试.Gradle通过同时运行多个测试进程提供并行执行测试.每个测试进程在同一时间只能执行一个测试,为了充分利用这一特性,一般不需要为tests任务做什么特

  • 主要内容:测试计划注意事项 -可以将测试计划可视化为用于运行测试的JMeter脚本。 测试计划由测试元素组成,例如线程组,逻辑控制器,样本生成控制器,监听器,定时器,断言和配置元素。 测试计划包含执行脚本的所有步骤。 测试计划中包含的所有内容都按照从上到下的顺序执行,或者按照测试计划中定义的顺序执行。 下图给出了测试计划的目录级别。 测试计划注意事项 - 在运行整个测试计划之前,应保存测试计划。 JMeter文件或测试计划以扩

  • 我想测试我的Spring应用程序。当我将@SpringBootTest添加到我的测试类中时,即使我等待了一个多小时,测试也会挂起并且不会开始!删除SpringBootTest注释会导致初始化@Value字段失败,并且我无法测试任何组件类。我的配置类代码: 我的测试类: 运行测试类时的堆栈跟踪: 当我运行该测试时,该测试处于挂起状态: