Error while running tests on multiple browsers using XML

267 views
Skip to first unread message

ARK Satyanarayana Raju

unread,
Dec 19, 2013, 7:28:12 AM12/19/13
to seleniu...@googlegroups.com
Hi,
   I have written the following code to run tests in multiple browsers using XML. But while running the suite it is showing error, unable to run tests. Can any one share your knowledge with me to solve this problem?

I am using Selenium 2.37

XML file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name=”Suite1″  parallel=”tests” >

<test name="Application Login”  preserve-order="true">
<parameter name="browserType" value=”FF”/>

    <classes>
        <class name=”Practice_pack_1.Google” />
    </classes>
</test>

<test name="Getting all links” preserve-order="true">
<parameter name="browserType" value=”Chrome”/>

    <classes>
        <class name=”Practice_pack_1.GetallLinks” />
    </classes>
</test>
</suite> 

Class One:
package Practice_pack_1;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class Google {
       WebDriver driver;
        @BeforeTest
        @Parameters ({"browserType"})
        public void open(String browserType) throws InterruptedException
        {
        if(browserType.equals("FF"))
        {
            driver=new FirefoxDriver();
            driver.manage().window().maximize();
            driver.get("http://www.google.co.in/");
            Thread.sleep(2000);
        }
        else if(browserType.equals("Chrome"))

        {
             System.setProperty("webdriver.chrome.driver", "C:\\Users\\ssatyanarayana\\Downloads\\chromedriver.exe");
             driver= new ChromeDriver();
             driver.get("http://www.google.co.in/");   
        }
    }
    @AfterTest
    public void close()
    {
        driver.quit();
    }
    @Test
    public void click() throws InterruptedException
    {
        driver.findElement(By.linkText("Imahes")).click();//Xpath of images
        Thread.sleep(2000);
        String result=driver.getTitle();
        System.out.println("Page Title is :"+result);
    }
}

Class Two:
 package Practice_pack_1;

import java.util.ArrayList;
import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class GetallLinks {
     
    WebDriver driver;
   
    @BeforeTest
    @Parameters ({"browserType"})
    public void open(String browserType)
    {
        if(browserType.equals("FF"))
        {
        System.out.println(".......................");
        driver=new FirefoxDriver();
        driver.manage().window().maximize();
        driver.get("http://www.google.co.in") ;
    }
        else  if(browserType.equals("Chrome"))
        {
            System.setProperty("webdriver.chrome.driver", "C:\\Users\\ssatyanarayana\\Downloads\\chromedriver.exe");
            driver= new ChromeDriver();
            driver.manage().window().maximize();
            driver.get("http://www.google.co.in") ;    
        }
    }
     @Test
     public void ab_count()
     {
       List<WebElement> element = driver.findElements(By.tagName("a"));
       List<WebElement> tmpEle = new ArrayList<WebElement>();
       int linkcount = element.size();
       for(int i=0;i<linkcount;i++){
            if(element.get(i).getText().trim().length()!=0){
                tmpEle.add(element.get(i));
                System.out.println(element.get(i).getText());
            }
   
        }
       System.out.println("Total links are:" +tmpEle.size());
     }
   
    @AfterTest
    public void close()
    {
        driver.quit();
    }
}
     
Output:
org.testng.TestNGException: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 13; Open quote is expected for attribute "{1}" associated with an  element type  "name".
    at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:341)
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:88)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 13; Open quote is expected for attribute "{1}" associated with an  element type  "name".
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    at org.testng.xml.XMLParser.parse(XMLParser.java:39)
    at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:17)
    at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:10)
    at org.testng.xml.Parser.parse(Parser.java:168)
    at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:311)
    ... 3 more

Thanks in advance

Manoj Hans

unread,
Dec 19, 2013, 1:07:13 PM12/19/13
to seleniu...@googlegroups.com
Use below xml file--

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1"  parallel="tests">
<test name="Application Login" preserve-order="true">
<parameter name="browserType" value="FF"/>

    <classes>
        <class name="Practice_pack_1.Google" />
    </classes>
</test>

<test name="Getting all links" preserve-order="true">
<parameter name="browserType" value="Chrome"/>

    <classes>
        <class name="Practice_pack_1.GetallLinks" />
    </classes>
</test>
</suite>  


--Manoj Hans
Reply all
Reply to author
Forward
0 new messages