Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cucumber js 1/Webdriver.io-将屏幕截图嵌入到步骤而不是挂接后_Javascript_Node.js_Webdriver Io_Cucumberjs - Fatal编程技术网

Javascript Cucumber js 1/Webdriver.io-将屏幕截图嵌入到步骤而不是挂接后

Javascript Cucumber js 1/Webdriver.io-将屏幕截图嵌入到步骤而不是挂接后,javascript,node.js,webdriver-io,cucumberjs,Javascript,Node.js,Webdriver Io,Cucumberjs,我使用以下方法运行测试: Webdriver.io 4.2 cumber.js 1.1.3 多份报告 我将截图嵌入到After钩子中,它们出现在After钩子的报告中,但是在失败的步骤中可以看到断言错误。我想在测试失败时将屏幕截图嵌入步骤本身,而不是在后钩子中 根据多个cucumber html reporter文档,它可以显示附加到cucumber json文件的任何内容 有人能帮我把截图嵌入失败的步骤吗 谢谢,, John检查您的测试是否失败,实际的屏幕截图嵌入当前驻留在您的后的钩子中。 因

我使用以下方法运行测试:

  • Webdriver.io 4.2
  • cumber.js 1.1.3
  • 多份报告
  • 我将截图嵌入到After钩子中,它们出现在After钩子的报告中,但是在失败的步骤中可以看到断言错误。我想在测试失败时将屏幕截图嵌入步骤本身,而不是在后钩子中

    根据多个cucumber html reporter文档,它可以显示附加到cucumber json文件的任何内容

    有人能帮我把截图嵌入失败的步骤吗

    谢谢,, John

    检查您的测试是否失败,实际的屏幕截图嵌入当前驻留在您的
    后的
    钩子中。
    因此,它被保存为
    挂钩后的
    中的附件

    如果你想独立地将此检查移动到每个步骤,我想你需要包装cucumber步骤定义或在每个步骤中添加屏幕截图

    如何,取决于你是否正在处理回电或承诺。不同的包装方法/级别是可能的(例如包装
    cucumber.When
    本身或只是回调)

    单个步骤的示例:

    When( "cucumber expression", function()
    {
       return myTestPromise
          .catch(takeScreenshot)
    }
    
    或: 对.json输出进行后期处理,以将嵌入从后期移动到失败步骤。 (警告:前面是脆弱性)


    无论哪种方式,其额外/非默认代码。你必须问问自己,这是否值得努力。

    谢谢你的回复。我不想对Json文件进行后期处理,这可能会产生意外的结果。我会拿包装纸告诉你。