### Question:
Browser { public static List<ServerInfo> listServer(String host, String domain, String userName, String password) throws Throwable { ServerList serverList = new ServerList(host, userName, password, domain); Collection<ClassDetails> classDetails = serverList.listServersWithDetails(new Category[]{Categories.OPCDAServer20}, new Category[]{}); List<ServerInfo> serverInfos = new ArrayList<>(); System.out.println("在目标主机上发现如下OPC服务器："); for(ClassDetails details: classDetails){ serverInfos.add(new ServerInfo(details.getProgId(), details.getClsId(), details.getDescription())); System.out.format("\tprogId: '%s' \r\n\tclsId：'%s' \r\n\tdescription:'%s' \r\n\r\n", details.getProgId(), details.getClsId(), details.getClsId()); } return serverInfos; } private  Browser(); static List<DataItem> readSync(Server server, Collection<String> itemIds); static List<DataItem> readSync(Server server); static void readAsyn(Server server, Collection<String> itemIds, ScheduledExecutorService threadPool, long heartBeat,DataCallback dataCallback); static void readAsyn(Server server, ScheduledExecutorService threadPool,long heartBeat, DataCallback dataCallback); static void readAsyn(Server server, ScheduledExecutorService threadPool, DataCallback dataCallback); static void subscibe(Server server); static Collection<String> browseItemIds(Server server); static List<ServerInfo> listServer(String host, String domain, String userName, String password); static void browserServer();  }### Answer:
@Test public void listServer() throws Throwable { List<ServerInfo> infos = Browser.listServer("192.168.2.254", "192.168.2.254", "Administrator", "GDTvm6.5"); Assert.assertNotNull(infos); }