我一直试图从TestNG XML套件中检索一些参数。带有testrail引用的参数附加到xml套件,这些套件被认为会因已知错误而失败。我想在生成的报告中包含这个参数(我们使用程度报告)。我尝试了许多从xml套件中检索参数的方法,但返回的参数总是为零。
我尝试使用ITestContext从xml文件中检索数据。
public void flush( ITestContext testContext ) {
Map<String, String> parameters = ( ( (ITestContext) testContext ).getCurrentXmlTest() )
.getAllParameters();
for ( Map.Entry<String, String> entry : parameters.entrySet() ) {
warn( "testrail_case_id: " + entry.getKey() + " (id): " + entry.getValue() );
}
extent.flush();
}
<suite name="MySuite" parallel="false" thread-count="1"
junit="false" verbose="1">
<listeners>
<listener class-name="MyListener"/>
</listeners>
<test name="MyTest">
<parameter name="testrail_case_id" value="684342"/>
<classes>
<class name="MyTestClass"/>
</classes>
</test>
</suite>
我试图重现你的问题。我用TestNG创建了一个新的空项目,该项目带有suit XML。我创建了两个配置,一个直接运行类,另一个通过套件运行测试。结果是getAllParameters()在直接运行类时返回零,在通过suit XML运行时返回参数。
我的猜测是,不知何故,您的配置要么直接运行类,要么如果选择了suit,它绕过或无法访问suit文件(不太可能)。
当我尝试获取西装文件名时,得到了以下结果:
示例代码:
import org.testng.annotations.Test;
import org.testng.annotations.BeforeTest;
import java.util.Map;
import org.testng.ITestContext;
import org.testng.annotations.AfterTest;
public class MyFirstTest {
@Test
public void f(ITestContext testContext) {
Map<String, String> parameters = ( ( (ITestContext) testContext ).getCurrentXmlTest() )
.getAllParameters();
System.out.println("file name : " +( ( (ITestContext) testContext ).getCurrentXmlTest() ).getSuite().getFileName() );
System.out.println("parameters size "+parameters.size() );
for ( Map.Entry<String, String> entry : parameters.entrySet() ) {
System.out.println( "testrail_case_id: " + entry.getKey() + " (id): " + entry.getValue() );
}
}
@BeforeTest
public void beforeTest() {
}
@AfterTest
public void afterTest() {
}
}
问题内容: 我知道我不是第一个遇到这个问题的人,但是我似乎找不到有效的解决方案 使用网络服务集返回json时,.net仍将其包装在XML包装器中。 我搜索并尝试了很多东西 正如某些帖子中所建议的,我尝试将各种httphandler设置添加到我的web.config中,但是这些没有效果。我也不认为这是必要的,因为我正在使用全新的win7 / iis7.5 / .net4机器。我读到,由于.net 3
我试图制作一个for循环脚本,使用Angular创建订单,并将其添加到网页中。我在使用某些for循环时遇到了问题,因为当我使用控制台时。log(),它只输出外部循环,不输出内部循环。我需要把变量的顺序传递给另一个函数,所以我需要这个顺序来获得正确的数据。 结果: 它重复最后一个外环值,而不输出内环值。我对Javascript还是很陌生的,所以我需要一些洞察力和解决方案,也许还有简单的方法?谢谢!
我正在使用Java/JT400驱动程序将一个应用程序集成到AS400。当我从参数文件中提取数据时,我遇到了一个问题--检索到的数据似乎是编码的。 在此之前,我没有与AS400一起工作的经验,真的需要一些帮助。此问题仅与参数文件有关。数据库表工作正常。
我正在使用maven运行我的集成测试,这些测试在TestNG套件中。在Eclipse下运行套件时--我的测试套件运行成功。当运行“mvn verify”来运行我的集成测试时,我看到failsafe插件配置调试打印,其中包括suite.xml文件和我编译的类的正确路径,但它没有执行我的测试(构建过程成功完成)。 我尝试过运行相同的pom配置,但是使用了surefire插件而不是failsafe插件,
问题内容: 我有以下查询: 这将同时返回“匹配”对象(整个文档)和“ inner_hits”对象(嵌套在匹配内部)。 有没有办法让我只返回出现在“ inner_hits”结果中的匹配“查询”元素,而没有获取整个文档? 问题答案: 应该可以通过以下方式 在顶层 禁用source- field 来实现
我注意到,如果没有where(),returning()操作不可用。这是故意的吗? 这项工作: 这不起作用: 我应该考虑这个“黑客”吗?