关于相同的错误有几个线程,但它们没有激活,我认为最后它们是活动的是大约1年前所以我打开新线程。
Testng.xml : -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" verbose="1">
<parameter name="google" value="http://www.ezeego1.co.in/" />
<test name="Test">
<classes>
<class name="selenium.karma.bu.DriverApp" />
<class name="selenium.karma.bu.ReadSuite" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
DriverApp.java : -
public class DriverApp {
public static WebDriver driver;
@Parameters("google")
@BeforeSuite
public void setUp(String appUrl) throws Exception{
ProfilesIni prof = new ProfilesIni();
FirefoxProfile p = prof.getProfile("default");
p.setPreference("extensions.headertool.preferencies.editor", "sm_universalid: swkv8851\nftusergivenname: vidushi \nftusersn: shukla\nftapplicationroles: Admin\nftusercredentials: ES,PL\n\n");;
p.setPreference("extensions.headertool.preferencies.onoff", true);
driver = new FirefoxDriver(p);
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.get("http://10.171.23.218:3080/karmaGui/karmaGui/KarmaGui.html?locale=en#Main") ;
Thread.sleep(5000);
driver.manage().window().maximize();
}
我们已将它扩展到另一个java类readsuite.java。
当我用testng执行我的ReadSuite.java时,我收到以下错误: -
Total Rows Accross the sheets : 0
FAILED CONFIGURATION: @BeforeSuite setUp
org.testng.TestNGException:
Parameter 'google' is required by @Configuration on method setUp but has not been marked @Optional or defined
in C:\Users\swkv8851\AppData\Local\Temp\testng-eclipse--1721497351\testng-customsuite.xml
at org.testng.internal.Parameters.createParameters(Parameters.java:155)
at org.testng.internal.Parameters.createParameters(Parameters.java:358)
at org.testng.internal.Parameters.createConfigurationParameters(Parameters.java:86)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:199)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:277)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
这里
C:\ Users \ swkv8851 \ AppData \ Local \ Temp \ testng-eclipse - 172149735 enter code here
1 \ testng-customsuite.xml在运行时创建,内容为
<suite name="Default suite">
<test verbose="2" name="Default test">
<classes>
<class name="selenium.karma.bu.ReadSuite" />
</classes>
</test>
<!-- Default test -->
</suite>
<!-- Default suite -->
请帮我识别错误。
当我在driverapp.java中评论@parameter和@Beforesuite时,我没有收到此错误,但是我的浏览器没有被调用。
答案 0 :(得分:1)
似乎TestNG以编程方式创建了testng.xml,因为它无法找到您的testng.xml,或者您将项目作为TestNG Test而不是 testng.xml运行文件的
答案 1 :(得分:1)
如果您只想运行套件xml文件,则需要选择套件文件并选择Run As-&gt; TestNG Suite。
但是,如果要选择特定测试并使用套件文件的非测试部分,即套件/监听器/参数部分,则可以通过转到Project Properties-&gt;将此文件设置为模板xml。 TestNG - &gt;模板XML文件(在这里给出你的testng xml的绝对路径)
答案 2 :(得分:1)
虽然它似乎是一个非常古老的帖子,但我正在分享对我有用的解决方案。
基本上,它需要两个TestNG Run'Class'和'Suite'
的设置设置TestNG Run'Class'
第1步:转到项目=&gt;运行As =&gt;运行配置=&gt; '测试'标签
第2步:选中“类”选项。它应该是带有所需'.java'文件的集合
例如'functionalTestCases.java'在包'testCases'上,然后'Class'将被设置为'testCases.functionalTestCases.java'
第3步:验证“名称”字段。
例如,它可以是'functionalTC'
步骤4:使用“应用”按钮保存更改
设置TestNG Run'Suite'
第1步:转到项目=&gt;运行As =&gt;运行配置=&gt; '测试'标签
第2步:选中“套房”选项。它应该是具有所需'testng.xml'文件路径的集合
第3步:验证“名称”字段
例如,它可以是'projectname_testng.xml'
步骤4:使用“应用”按钮保存更改
正确保存这些设置后,使用'projectname_testng.xml'
运行项目另外,我在'testCases.functionalTestCases.java'中使用TestNG注释作为'@BeforeClass'的方法(引用并检查'testng.xml'传递的'参数')
答案 3 :(得分:0)
这可能是因为@Test运行。 您需要在套件级别
运行它