为 cucumber-html-reporter 截屏的函数生成“5000 后函数超时..”错误

2023-12-21

我正在使用 protractor-cucumber-framework,我想为我编写的测试生成 html 报告。我决定使用 cucumber-html-reporter 来实现它。在我的 hooks.js 中,我编写了一个 this.After 对象来在测试失败时截取屏幕截图:

   this.After(function(scenario, callback) {
     if (scenario.isFailed()) {
        browser.takeScreenshot().then(function(buffer) {
            return scenario.attach(new Buffer(buffer, 'base64'), function(err) {
                callback(err);
            });
        });
     }
     else {
        callback();
     }
   });

一切工作正常,生成报告并仅在测试失败时拍摄并附加屏幕截图。但是当进行 After 步骤时我也收到一条错误消息(因此当出现一些失败时):

函数在 5000 毫秒后超时

我想删除此消息,因为它也出现在我的 html 报告中。谁能为我提供解决方案来做到这一点?


下面的代码对我有用。我已将其添加到步骤定义 js 文件中。在报告的场景末尾,它添加了屏幕截图。

defineSupportCode(({After}) => {
    After(function(scenario) {
        if (scenario.isFailed()) {
            var attach = this.attach; 
                return browser.takeScreenshot().then(function(png) {
            var decodedImage = new Buffer(png, "base64");
                return attach(decodedImage, "image/png");
            });
            }
        });
    });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 cucumber-html-reporter 截屏的函数生成“5000 后函数超时..”错误 的相关文章

  • Ruby + Cucumber:如何在代码中执行 Cucumber?

    我想从 Ruby 代码中执行 Cucumber 功能 通常情况下cucumber随 gem 安装的二进制文件在命令行上执行 并指定了一项或多项功能 但是 我想定义创建动态功能执行流程的逻辑 换句话说 程序可以计算出应该执行哪些功能 是否可以
  • 如何查看node.js发送到服务器的请求?

    关于这个问题 在 Nodejs Protractor 中将 Cookie 从一个请求传输 传递到另一个请求 https stackoverflow com questions 42078780 transfer pass cookies f
  • 包含任何文本的元素的量角器预期条件

    有没有办法检查元素中是否有任何文本 我已经找到了textToBePresentInElement但此函数会检查指定值 如果失败则不会返回正确的错误 我通过 API 填充该元素 并且稍后加载它 因此我希望浏览器等到元素中出现任何信息 然后检查
  • 量角器拖放:Angular 与 Angular with HTML5

    我在量角器测试中遇到了拖放问题 就像其他人一样 但一般情况下没有 仅在使用 HTML5 的角度应用程序中 为了演示 我使用两个演示拖放功能的网页编写了一个小型量角器测试套件 第一个页面 在第一个测试用例中使用 演示了 AngualarJS
  • 茉莉花量角器打字稿在其块中发生预期故障后继续执行

    我正在使用 Protractor jasmine 框架和打字稿 所以我在describe中有多个it块 所以在每个it块内有很多方法或期望条件我正在验证 因此 当前当其中一个期望失败时 整个块就会终止 所以即使在一步失败后我也想继续执行 下
  • 如何有条件地跳过 Cucumber 中的场景?

    如何有条件地跳过场景 例如 我希望仅在满足某些条件时才继续某个场景 但如果不存在 我不希望将其注册为失败 这是我遇到的一个问题 我编写的测试是针对一个 UI 该 UI 具有不断变化的 BE 数据库 我目前无法在其中包含静态数据 这意味着有时
  • 如何让 gradle 和 cucumber 一起工作?

    让 gradle 干净利落地使用 Cucumber 是一个挑战 我想要得到gradle build编译并运行测试 但到目前为止我还没有成功 构建 gradle plugins id com github samueltbrown cucum
  • 在 Protractor 中定位父元素的推荐方法

    根据最新公布的时尚指南 https github com angular protractor blob master docs style guide md never use xpath 使用by xpath 定位器被认为是一种不好的做
  • 为量角器安装特定的 chromedriver

    我在 CircleCi 上运行的 chrome 驱动程序遇到问题 问题是运行时 node modules bin webdriver manager update 然后使用以下命令检查 chromedriver 和 selenium 的版本
  • 根据 getText() 的文本从 Protractor 中的 ElementArrayFinder 获取特定元素

    我正在尝试根据所需元素的文本从 ElementArrayFinder 获取特定的 ElementFinder 例如 假设我有 Angular2 应用程序提供的以下 HTML 片段 ul li span Adam span span clas
  • 如何生成诱惑报告

    我是魅力报告的新手 想要生成魅力报告 有人能帮忙吗 我正在尝试一个简单的示例 我的项目文件夹包含 config js 和 test js 以及安装的魅力报告 当我运行配置文件时 它会创建一个文件夹 allure results 在其中我可以
  • Chimpjs 和 Meteor:不使用 Velocity 的测试中的方法调用

    此应用程序显示了使用 Cucumber 测试 Meteor 的示例 https github com mhurwi cucumber meteor tutorial https github com mhurwi cucumber mete
  • 使用试运行选项运行黄瓜时出错

    我试图通过仅打开和关闭浏览器一次来提高运行测试的速度 http watirmelon com 2012 04 01 Five page object anti patterns http watirmelon com 2012 04 01
  • 在基于 AngularJS 的 Web 应用程序中使用 Selenium

    我逐渐知道 Selenium 是 UI 测试之父 现在我的问题是为什么 Angular 团队开发了 Protractor 对于基于 AngularJS 的 Web 应用程序 Selenium 不能完成同样的工作 Protractor 所做的
  • 处理量角器中的未知错误

    我有一个protractor通过配置多个浏览器进行设置multiCapabilities 在 browserstack 上运行测试 我的主要量角器规格 测试之一包含以下内容afterEach block afterEach function
  • 使用 angular-cli 运行 Protractor 时 SpecReporter 不是构造函数错误

    当我尝试跑步时ng e2e或直接protractor命令我收到此错误 14 39 00 I update chromedriver chromedriver 2 28 up to date 14 39 04 I launcher Runni
  • 使用 Cucumber Scenario Outline 处理 Excel 电子表格

    如果可能的话 我试图找到一种更优雅的方法来处理从与 Excel 电子表格行 第 n 个 相关的 Cucumber Scenario Outline 中调用第 n 个数字 目前 我正在使用迭代编号来定义要从中提取数据的 Excel 电子表格的
  • 在 Protractor / Webdriver 中等待页面重定向

    我有一个测试 单击按钮并重定向到用户仪表板 当发生这种情况时 Webdriver 返回 javascript error document unloaded while waiting for result 为了解决这个问题 我插入brow
  • 您可以在 Cucumber 的 Give、When 和 Then 步骤定义期间定义实例变量吗

    我知道使用 Cucumber 您可以在给定步骤定义期间定义实例变量 该实例变量成为World范围 然后 您可以在 When 和 Then 的步骤定义期间访问此实例变量 您是否也可以在 When 和 Then 步骤定义期间定义实例变量 并在后
  • 断言错误:预期 [ true ] 为 true

    我遇到了奇怪的断言问题 因此即使成功的断言也会被标记为失败 如下所示 this expect this getWidget contacts isNamesDisplayed to eventually be true and notify

随机推荐