2015-11-12 25 views
0

所以,我使用zats爲gui測試,我想知道是否有任何方式來查詢UUID在ZATS UUID由元素不存在的動態元素。我爲我的動態生成的gui元素編寫了IDGenerator(所以現在它設置了UuiD的所有元素)。現在我需要通過UuiD查詢某個元素。例如像這樣desktopAgent.query"listbox[uuid='listbox_104']"沒有任何反應。ZK-GUI測試:如何通過UuiD查詢gui元素?

因此,這是方法,通過UUID

返回組件列表
public List<ComponentAgent> queryAllByRegex(DesktopAgent desktop, String component) { 
    List<ComponentAgent> componentList = new ArrayList<ComponentAgent>(); 
    // getting the last counter value for the desktop 
    String MAX = (String) desktop.getAttribute(IDGenerator.LAST_COMPONENT_ID); // ? 
    int max =Integer.parseInt(MAX);  
    // generate the pattern Exmpl: "listbox_[0-9]" 
    String pattern = component + "_"; 
    String counter = ""; 
    for (int idx = 0; idx < MAX.length(); idx++) { 
     counter = counter + "[0-9]"; 
    } 
    pattern = pattern + counter; 

    // genetrate regular expressions 
    Generex generex = new Generex(pattern); 

    // Using Generex iterator to iterate the recently generated list of strings by regex pattern 
    Iterator iterator = generex.iterator(); 

    for(int i=0; i<=max;i++){ 
     //removes extra nulls 
     String comp = removeNulls(iterator.next()); 
     ComponentAgent agent = desktop.query(component+"[uuid='"+comp+"']"); 
     if (agent != null) { 
      componentList.add(agent); 
      log.info("found by id" + comp); 
     } 
    } 
    return componentList; 

} 

在這裏,我得到空什麼都我想

ComponentAgent劑= desktop.query(部件+ 「[UUID ='」 +排版+ 「']」);

我真的很困惑,我不知道是否有可能用ZATS測試我的zk-gui。 THX

回答

0

您可以創建一個像這樣的方法。

public ComponentAgent getComponentByUuid(DesktopAgent desktopAgent, String uuid) { 
    return new DefaultComponentAgent(
      desktopAgent.getPages().get(0), desktopAgent.as(Desktop.class) 
      .getComponentByUuidIfAny(uuid)); 
}