Java 使用TestNG进行跨浏览器测试
我的代码是Java 使用TestNG进行跨浏览器测试,java,xml,selenium,cross-browser,Java,Xml,Selenium,Cross Browser,我的代码是 @BeforeTest @Parameters("browser") public void browserinitialization(String browser) throws Exception { if(browser.equalsIgnoreCase("ie")) { System.setProperty("webdriver.ie.driver", "D:\\ESCLIPSE\\TestNG_project\\lib\\IEDrive
@BeforeTest
@Parameters("browser")
public void browserinitialization(String browser) throws Exception
{
if(browser.equalsIgnoreCase("ie"))
{
System.setProperty("webdriver.ie.driver", "D:\\ESCLIPSE\\TestNG_project\\lib\\IEDriverServer.exe");
DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
driver = new InternetExplorerDriver(caps);
}
else if(browser.equalsIgnoreCase("chrome"))
{
System.setProperty("webdriver.ie.driver", "D:\\ESCLIPSE\\TestNG_project\\lib\\chromedriver.exe");
DesiredCapabilities caps = DesiredCapabilities.chrome();
driver = new InternetExplorerDriver(caps);
}
else
{
throw new Exception("Browser is not correct");
}
driver.get(url);
}
@Test
public void login() throws InterruptedException
{
driver.findElement(By.id("txtUserName")).sendKeys("name");
driver.findElement(By.id("txtPassword")).sendKeys("password");
driver.findElement(By.id("btnOk")).click();
Thread.sleep(5000);
}
@AfterTest
public void quit()
{
driver.quit();
}
我的XML文件是
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestSuite" thread-count="2" parallel="tests" >
<test name="ChromeTest">
<parameter name="browser" value="Chrome" />
<classes>
<class name="firstreport.Firsttryfor">
</class>
</classes>
</test>
<test name="IETest">
<parameter name="browser" value="IE" />
<classes>
<class name="firstreport.Firsttryfor">
</class>
</classes>
</test>
请帮我解决这个问题。我对Java编码还不熟悉。请提前感谢确保XML文件的路径正确。如果您使用的是eclipse,那么应该看到xml文件和类文件 您尚未关闭套件
另外,您是否正在尝试运行类
firstreport.Firsttryfor
而不是XML文件?如果是这样,则会出现错误。检查您是否已将xml文件放置在正确的位置。如果您没有xml文件,则会发生此错误谢谢您的回复Vignesh。我已经在我的项目中添加了xml。如果错误,我应该在哪里添加xml文件?
FAILED CONFIGURATION: @BeforeTest browserinitialization
org.testng.TestNGException:
Parameter 'browser' is required by @Configuration on method browserinitialization but has not been marked @Optional or defined
in C:\Users\arunkumars\AppData\Local\Temp\testng-eclipse--441013644\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.TestRunner.beforeRun(TestRunner.java:641)
at org.testng.TestRunner.run(TestRunner.java:609)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
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)
SKIPPED CONFIGURATION: @AfterTest quit
SKIPPED: login
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 1
Configuration Failures: 1, Skips: 1
===============================================