Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用TestNG进行跨浏览器测试_Java_Xml_Selenium_Cross Browser - Fatal编程技术网

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
===============================================