2014-10-19 37 views
0

我無法從XML文件訪問屬性。目標是在搜索框中顯示searchkey「value」(在XML文件中)。但是當我將腳本作爲Testng運行時,我將「Ram」(@代碼中的可選值)作爲搜索關鍵字。使用XML進行參數化

當我運行XML時出錯:org.xml.sax.SAXParseException; lineNumber:2;得到columnnumber:17;根元素類型「suite」的文檔類型聲明必須以'>'結尾。 在org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:341)

XML代碼:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 

<suite name="TestSuite" verbose="1"> 

    <parameter name="author" value="Guru99"/> 
    <parameter name="searchkey" value="Testng"/> 

    <test name="testguru"> 

     <parameter name="searchkey" value="U.K"/> 

    <classes> 
     <class name="Testngfiles.Parameters_xml"/> 

    </classes> 
    </test> 
    </suite> 

Java代碼:該文件的名稱是Parameters_xml.java

package Testngfiles; 

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.By; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.WebElement; 
import org.testng.Assert; 
import org.testng.annotations.Optional; 
import org.testng.annotations.Parameters; 

import java.io.File; 

import static org.testng.Assert.assertTrue; 

import org.testng.annotations.*; 

import java.util.concurrent.TimeUnit; 

    public class Parameters_xml { 

@Test 
@Parameters({"author", "searchkey"}) 
public void testparameters(@Optional("ABC")String author,@Optional("Ram")String searchkey) throws Exception 
{ 
    WebDriver driver=new FirefoxDriver(); 
    driver.navigate().to("http://guru99.com/selenium-tutorial.html"); 
    driver.manage().timeouts().implicitlyWait(15,TimeUnit.SECONDS); 
    WebElement searchtext=driver.findElement(By.name("gsquery")); 
    searchtext.sendKeys(searchkey); 

} 
} 

回答

1

enter image description here外貌像xml格式不正確。請嘗試此操作 -

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 

<suite name="BVC" verbose="1"> 
    <parameter name="author" value="Guru99" /> 
    <parameter name="searchkey" value="Testng" /> 
    <test name="SmokeTestFF"> 
     <parameter name="searchkey" value="U.K" /> 
     <classes> 
      <class name="abc.aaa" /> 
     </classes> 
    </test> 
</suite> 

套件,參數,類標記應該在xml中小寫。以上xml正在爲我工​​作&在結果中給出值U.K

相關問題