【问题标题】:Screenshot with Cucumber GroovyCucumber Groovy 的屏幕截图
【发布时间】:2019-06-13 12:18:26
【问题描述】:

我正在使用 Cucumber 功能和 Groovy 作为 Katalon Studio 中的步骤定义。因为我们在步骤定义中有每个步骤,并且想要在步骤失败时截取屏幕截图(AShot 或其他)。我想要获取快照的代码,并且想知道我们是否在每个步骤定义文件中都需要它。

我在这个论坛看到了这个类似的问题,但没有明确的答案。

请注意,我知道设置中的“执行失败时截屏”选项。

您能否提供这方面的样本以进一步进行?

【问题讨论】:

    标签: cucumber screenshot katalon-studio


    【解决方案1】:

    尝试将以下内容添加到您的 @After 测试挂钩(或 Test Listeners):

    @After
    public void TearDown(Scenario scenario) {
        if (scenario.isFailed()) {
                WebDriver driver = DriverFactory.getWebDriver()
                byte[] screenshot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.BYTES);
                scenario.embed(screenshot, "image/png");
                scenario.write(scenario.getName());
        }
    }  
    

    您将需要一些导入:

    import cucumber.api.Scenario;
    import org.openqa.selenium.OutputType;
    import org.openqa.selenium.TakesScreenshot;
    import com.kms.katalon.core.webui.driver.DriverFactory;
    

    (或者直接按Ctrl + Shift + O 自动导入缺失的类。)

    【讨论】:

      【解决方案2】:

      首先,您计划作为测试包的测试套件运行,您无需添加任何代码来捕获屏幕截图,Katalon 会自动执行此操作。

      为了作为测试用例运行,请使用下面的示例

      public void catchNotyMessage(){
      
      TestObject noty_warning = WebUI.modifyObjectProperty(findTestObject("DUMMY"), 'css', 'equals', 'div.noty_type_warning', true)
      TestObject noty_error = WebUI.modifyObjectProperty(findTestObject("DUMMY"), 'css', 'equals', 'div.noty_type_error', true)
      
      if (WebUI.verifyElementPresent(noty_error, 1, FailureHandling.OPTIONAL)){
          this.takeWebElementScreenshot(noty_error)
      }
      else if (WebUI.verifyElementPresent(noty_warning, 1, FailureHandling.OPTIONAL)){
          this.takeWebElementScreenshot(noty_warning)
      }
      

      }

      【讨论】:

      • 感谢您的澄清。我将仅将其作为测试套件运行。所以,在这种情况下,我没有将我的脚本添加到套件中。 继续这个问题,在执行黄瓜 groovy 脚本期间,我还需要注意什么以及我需要如何进一步进行,因为我新开始这个黄瓜 groovy 项目。这是关于异常处理,跨脚本同步时间。对于每个黄瓜步骤文件,每当我们使用套件运行时出现错误,它都会截屏,但它应该如何从脚本中出来或退出?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      • 1970-01-01
      相关资源
      最近更新 更多