2014-11-05 8 views
0

В настоящее время я использую среду Selenium WebDriver с Java и TestNG. Я использую файл свойств, чтобы сохранить все мои локаторы элементов, указав уникальное имя для каждого элемента. Как использовать xml-файл, чтобы сохранить все мои локаторы элементов и как получить эти локаторы в моих сценариях автоматизации?Объектный репозиторий в xml-файле для Selenium WebDriver с Java и TestNG

Спасибо заранее!

ответ

1

Вы можете использовать XML в качестве хранилища объектов, как

<ObjRep> 
<url>http://www.google.com</url> 
<search_TxtFld>q</search_TxtFld> 
<submt>btnG</submt> 
</ObjRep> 

И вы можете использовать код для извлечения объектов из XML ниже код:

public void objRepository(String eleName){ 
    try{ 
    File file=new File("F:\\Test.xml"); 
    DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); 
    DocumentBuilder db=dbf.newDocumentBuilder(); 
    Document doc=db.parse(file); 
    doc.getDocumentElement().normalize(); 
    //System.out.println("The node name is: "+doc.getDocumentElement().getNodeName()); 

    NodeList nList=doc.getElementsByTagName("ObjRep"); 
    //System.out.println("The length is: "+nList.getLength()); 
    for(int i=0; i<nList.getLength(); i++){ 
     Node nNode=nList.item(i); 
     if(nNode.getNodeType()==Node.ELEMENT_NODE){ 
      Element ele=(Element) nNode; 
      System.out.println(ele.getElementsByTagName(eleName).item(i).getTextContent()); 
      } 
    } 

    }catch(Exception e){ 
     e.printStackTrace(); 
    } 
} 

И вы можете использовать в качестве

WebDriver d = new FirefoxDriver(); 
d.get(objRepository(url)); 
d.findelement(by.name(objRepository(search_TxtFld)).sendkeys("test"); 
d.findelement(by.name(search_TxtFld(submt)).click(); 
+0

Спасибо! Вишал. – mra419

0

Если вы используете файл свойств для хранения локаторов, не можете ли вы просто использовать интерфейс Java для чтения свойств в переменных и иметь ли скрипты ссылки на переменные в интерфейсе?

+0

Я уже пользуюсь этим. Я хочу использовать xml-файл вместо файла свойства. – mra419

+0

Кажется, гораздо больше работы, но если это так, как вы предпочитаете. – zmorris