电子图版打印时出错误报告
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了电子图版打印时出错误报告相关的知识,希望对你有一定的参考价值。
参考技术A 脱机。1、打开设备和打印机页面,找到您的打印机,右键选择查看现在正常打印什么选项,清除前面正在打印的内容。
2、在开始,设置,管理工具,服务,双击PrintSpooler,在常规里面点停止。
3、打开运行对话框,输入Spool,打开PRINTERS文件夹,将里面的东西全部删除,然后再在常规选项卡里点启动打印服务。
4、把打印机电源断开一分钟,再连接上及重启电脑。
5、综上是电子图版打印时出错误报告的原因和解决方案。
TestNG - 如何在 testng 自定义电子邮件报告中打印运行时 testng 参数?
【中文标题】TestNG - 如何在 testng 自定义电子邮件报告中打印运行时 testng 参数?【英文标题】:TestNG - How to print run time testng parameters in testng custom emailable report? 【发布时间】:2019-12-27 10:35:36 【问题描述】:我发现有一个选项可以通过surefire插件将参数设置为testng xml,然后可以从命令行发送参数。
<plugins>
[...]
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<systemPropertyVariables>
<browser>firefox</browser>
</systemPropertyVariables>
</configuration>
</plugin>
[...]
</plugins>
参考: https://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html https://maven.apache.org/surefire/maven-surefire-plugin/examples/system-properties.html
需要在 testng 自定义电子邮件报告中打印参数。能够使用以下代码打印 testng xml 中指定的 testng 参数。但是,无法打印surefire插件中指定的参数。
注意:System.getProperty("browser") 在这里工作。但是,我想打印它们而不必指定参数名称(比如“浏览器”),如下所示。但低于一个不起作用。
Map<String, String> allParameters = context.getCurrentXmlTest().getAllParameters();
for(String parameter: allParameters.keySet())
System.out.println(parameter + " : " + allParameters.get(parameter));
例子:
import java.util.Map;
import org.testng.ITestContext;
import org.testng.ITestResult;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class TestNGTest
ITestContext context;
@BeforeTest
public void beforeTest(ITestContext context)
this.context = context;
@Parameters("browser")
@Test
public void method(String browser)
System.out.println(browser);
Map<String, String> allParameters = context.getCurrentXmlTest().getAllParameters();
for(String parameter: allParameters.keySet())
System.out.println(parameter + " : " + allParameters.get(parameter));
实际输出:
[RemoteTestNG] detected TestNG version 7.0.0
chrome
key : value
===============================================
Suite
Total tests run: 1, Passes: 1, Failures: 0, Skips: 0
===============================================
预期输出:
[RemoteTestNG] detected TestNG version 7.0.0
chrome
key : value
browser : chrome
===============================================
Suite
Total tests run: 1, Passes: 1, Failures: 0, Skips: 0
===============================================
Testng.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="classes" thread-count="4">
<test name="Front-End" group-by-instances="true">
<parameter name="key" value="value"></parameter>
<classes>
<class name="com.ftd.automation.framework.tests.TestNGTest" />
</classes>
</test>
</suite>
请帮助我如何打印在surefire插件中指定或在命令行中传递的testng参数。
【问题讨论】:
【参考方案1】:假设您使用命令行参数运行,例如,
mvn test -Dbrowser=firefox
然后获取参数,
import org.testng.annotations.Parameters;
@Parameters("browser")
@Test
public void myTestMethod(String browser)
System.out.println(browser);
//or as Test parameter
@Test(parameters = "browser")
public void myTestMethod(String browser)
System.out.println(browser);
//or System.getProperty() way
@Test
public void myTestMethod()
System.out.println(System.getProperty("browser"));
上面的效果很好。另外,如果需要使用testng.xml
,可以指定suiteXmlFile
like,
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<systemPropertyVariables>
<browser>firefox</browser>
</systemPropertyVariables>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
编辑:
仅供参考,System.grtProperties()
列出了所有属性,从命令行设置的属性将在那里,但无法将它们与系统添加的其他属性区分开来
【讨论】:
我想打印参数列表(键值对)而不指定参数名称(即键),如下所示。 Map@Parameters( "param-name" )
正在等待密钥。另一种选择是使用System.getProperties()
,但这会获取系统上的 JVM 从操作系统获取的当前属性。当前的系统属性作为属性对象返回,供getProperties()
方法使用。如果不存在这样的一组属性,则首先创建一组系统,然后对其进行初始化。以上是关于电子图版打印时出错误报告的主要内容,如果未能解决你的问题,请参考以下文章