【发布时间】:2017-05-29 11:40:52
【问题描述】:
长话短说,我有一个 JUNIT 测试,我想将它与 JMeter 集成。脚本由 Selenium WebDriver 与 Cucumber 集成编写。
这是我的主要方法,
public class SanityStart extends ClassUtility {
private ClassUtility driver;
private ClassUtility environment;
private ClassUtility path;
private ClassUtility userName;
public static Logger log = Logger.getLogger(SanityStart.class.getName());
public SanityStart(ClassUtility driver, ClassUtility environment, ClassUtility path, ClassUtility userName) {
this.driver = driver;
this.environment = environment;
this.path=path;
this.userName=userName;
}
@Test
public void main(String[] args) throws Throwable {
environment.environmentValue = args[0];
path.pathValue = "@" +args[1];
userName.superUser = args[2];
System.setProperty("userName",userName.superUser);
Main.main(new String[]{"-g", "bell.canada.step.definition", "-t", pathValue, "C:/Users/IBM_ADMIN/Documents/Automation/Cr Automation/CR Automation/src/NewFeature.feature"});
}
}
由于我想重用该变量,我创建了一个包含依赖注入器变量的 ClassUtility。
public class ClassUtility {
public WebDriver baseDriver;
public String orderNo;
public String pageIn;
public String environmentValue;
public String pathValue;
public String superUser;
public String profile1;
public String profile2;
}
我需要在运行时从 JMeter 中获取环境、路径和用户名等值。因此,它会根据请求调用多个线程并进行负载测试。
当我尝试作为 JUNIT 测试运行时,我收到以下错误,
java.lang.Exception: 测试类应该有一个公共的零参数构造函数 java.lang.Exception: 方法 main 应该没有参数
需要您对我如何实现这一目标的建议/反馈! JUNIT测试中甚至可以有一个主要方法吗?提前致谢!
【问题讨论】:
-
为什么我会得到,“测试类应该有一个公共的零参数构造函数”。这是否意味着我不能使用依赖注入的构造函数?
标签: java spring junit dependency-injection jmeter