首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有人把Reportportal集成到空手道0.9.5.RC5上?

有没有人把Reportportal集成到空手道0.9.5.RC5上?
EN

Stack Overflow用户
提问于 2020-02-07 23:33:52
回答 3查看 931关注 0票数 1

我正在尝试让Reportportal集成到空手道0.9.5.RC5版本中。我可以将结果推送到Reportportal;但是,report上的步骤不是按顺序进行的,并且reportportal无法执行准确的Auto-Analysis,即使在使用适当的缺陷类型标记了以前的故障之后也是如此。有没有人可以将ReportPortal与空手道0.9.5.RC5版集成在一起?

EN

回答 3

Stack Overflow用户

发布于 2020-02-11 02:13:59

到空手道版本中经常发生的不兼容的变化。

reportportal的团队希望任何稳定的版本都能跟进。

但贡献者将其更新为0.9.5RC5 https://github.com/karthikbits/reportportal-karate

票数 2
EN

Stack Overflow用户

发布于 2020-07-19 22:27:31

使用此类与报表门户进行交互:https://github.com/reportportal/agent-java-karate/blob/a84d3bef617f0f7bf479de57a29477b4b84792ae/src/main/java/com/epam/RPReporter.java

在提交中,开发人员更改了空手道跑步者,但我认为这有点过头了,你可以使用空手道拥有的钩子并将其注入到你的跑步者中。您也可以遵循该方法,但可能需要很少的更改。

下面是我的观点。您可能需要根据自己的需要对其进行调整。注意beforeAll()和afterAll(),它们注释了startLaunch()和finishLaunch(),这是由于我自己的代码,因为我在不同的运行器中执行了几个不同的启动。你可能想要取消对这些的注释。

在您准备好RPReporter类的钩子之后,您将能够轻松地对其进行自定义。

请注意,我还没有尝试过gatling,可能需要向perfEvent方法添加一些东西,以便从您的指标中排除与报告门户的集成。

要将钩子添加到Runner,只需使用Runner API的.hook()方法。

代码语言:javascript
复制
public class RPExecutionHook implements ExecutionHook {

    private RPReporter rpReporter;

    public RPExecutionHook2(RPReporter rpReporter) {
        this.rpReporter = rpReporter;
    }


    @Override
    public boolean beforeScenario(Scenario scenario, ScenarioContext context) {
        return true; // make sure you keep this true or it breaks the Karate logic for Scenario Outline
    }

    @Override
    public void afterScenario(ScenarioResult result, ScenarioContext context) {

    }

    @Override
    public boolean beforeFeature(Feature feature, ExecutionContext context) {
        log.debug("Starting new feature: " + feature.getName());
        this.rpReporter.startFeature(context.result);
        return true;
    }

    @Override
    public void afterFeature(FeatureResult result, ExecutionContext context) {
        log.debug("Finishing feature: " + result.getFeature().getName());
        this.rpReporter.finishFeature(context.result);
    }

    @Override
    public void beforeAll(Results results) {
        //this.rpReporter.startLaunch();
    }

    @Override
    public void afterAll(Results results) {
        //this.rpReporter.finishLaunch();
    }

    @Override
    public boolean beforeStep(Step step, ScenarioContext context) {
        return true;
    }

    @Override
    public void afterStep(StepResult result, ScenarioContext context) {

    }

    @Override
    public String getPerfEventName(HttpRequestBuilder req, ScenarioContext context) {
        return null;
    }

    @Override
    public void reportPerfEvent(PerfEvent event) {

    }
}
票数 2
EN

Stack Overflow用户

发布于 2020-12-15 16:43:43

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60116554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档