Java ZK-GUI测试:如何通过UuiD查询GUI元素?

Java ZK-GUI测试:如何通过UuiD查询GUI元素?,java,testing,zk,Java,Testing,Zk,因此,我正在使用zats进行gui测试,我想知道是否有方法可以通过zats中的UuiD而不是动态元素不存在的id来查询ui元素。我已经为动态生成的gui元素编写了IDGenerator(因此现在它将UuiD设置为所有元素)。现在我需要通过UuiD查询某个元素。例如,像这样的desktopAgent.query“listbox[uuid='listbox\u 104']” 因此,这个方法通过UuiD返回组件列表 public List<ComponentAgent> queryAllB

因此,我正在使用zats进行gui测试,我想知道是否有方法可以通过zats中的UuiD而不是动态元素不存在的id来查询ui元素。我已经为动态生成的gui元素编写了IDGenerator(因此现在它将UuiD设置为所有元素)。现在我需要通过UuiD查询某个元素。例如,像这样的
desktopAgent.query“listbox[uuid='listbox\u 104']”

因此,这个方法通过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;

}
public List queryalByRegex(DesktopAgent桌面,字符串组件){
List componentList=新的ArrayList();
//获取桌面的最后一个计数器值
String MAX=(String)desktop.getAttribute(IDGenerator.LAST_COMPONENT_ID);/?
int max=Integer.parseInt(max);
//生成模式Exmpl:“列表框[0-9]”
字符串模式=组件+“\”;
字符串计数器=”;
对于(int idx=0;idx对于(inti=0;i您可以创建这样的方法

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