如何从黄瓜控制台删除特殊字符/数字



我是新来的黄瓜。当我在写一个基本的功能文件时,我使用了表。并打印相同的表值,以查看它们将如何在控制台上显示。但是,在打印值时,我可以看到一些特殊字符。它们是什么以及如何去除它们?任何想法?我在谷歌上搜索了一个解决方案,但没有找到。有人能帮帮我吗?

这是我的特征文件:特性:添加两个值添加两个值

Scenario: tesing sum values
  Given input and output
  When inputs <inputx> and <inputy> is given
 |22|33|
 |33|55|
 Then output must be <output>
 |55|
 |88|
下面是我的Ruby文件
Given(/^input and output$/) do
  puts "Given block"
end
When(/^inputs <inputx> and <inputy> is given$/) do |table|
  # table is a Cucumber::Core::Ast::DataTable
  puts table
end
Then(/^output must be <output>$/) do |table|
   # table is a Cucumber::Core::Ast::DataTable
   puts table
end

下面是控制台

的输出
*** WARNING: You must use ANSICON 1.31 or higher (https://github.com/adoxa/ansicon/) to get coloured output on Windows
C:/Ruby193/bin/ruby -S bundle exec cucumber  --profile default
Using the default profile...
Feature: Addding two values
  Addding two values
  Scenario: tesing sum values
    [32mGiven input and output[0m
      [36mGiven block[0m
[32mWhen inputs <inputx> and <inputy> is given[0m
  [36m[0m
  [36m  | [32m    22[0m[0m |[0m [32m    33[0m[0m |[0m[0m
  [36m  | [32m    33[0m[0m |[0m [32m    55[0m[0m |[0m[0m
  | [36m22[0m[0m |[0m [36m33[0m[0m |[0m
  | [36m33[0m[0m |[0m [36m55[0m[0m |[0m
[32mThen output must be <output>[0m
  [36m[0m
  [36m  | [32m    55[0m[0m |[0m[0m
  [36m  | [32m    88[0m[0m |[0m[0m
  | [36m55[0m[0m |[0m
  | [36m88[0m[0m |[0m
1 scenario ([32m1 passed[0m)
3 steps ([32m3 passed[0m)
0m6.555s

尝试将--no-color添加到您的命令行调用或默认配置文件中。

例如:

default: --no-source --no-color --format pretty

您得到这个错误是因为cucumber试图将彩色输出打印到终端,但您的终端无法这样做。因此,这些符号是可见的。
要解决这个问题,只需在Runner (Step Definition)文件中添加monochrome = true,您正在粘贴这个黄瓜特征文件。示例代码:

@CucumberOptions(features = {"src/test/resources/FeatureFiles/RegisterUser.feature", "src/test/resources/FeatureFiles/RegisterUserVerifyError.feature"}, 
glue = "com/assignment2/userreg/stepdefinations/",
tags = {"@multipleverify"}, monochrome = true, plugin = {"pretty", "html:target/cucumber-reports/cucumber-pretty"}) 

最新更新