java dom4j遍历xml_[java开发篇][dom4j模块]遍历,解析xml
packagecom.softwinner.performance.benchmark;importandroid.content.Context;importandroid.content.Intent;importandroid.support.test.InstrumentationRegistry;importandroid.support.test.uiautomator.By;impo
packagecom.softwinner.performance.benchmark;importandroid.content.Context;importandroid.content.Intent;importandroid.support.test.InstrumentationRegistry;importandroid.support.test.uiautomator.By;importandroid.support.test.uiautomator.UiDevice;importandroid.support.test.uiautomator.UiObject;importandroid.support.test.uiautomator.UiObjectNotFoundException;importandroid.support.test.uiautomator.UiSelector;importandroid.support.test.uiautomator.Until;importandroid.util.Log;importorg.dom4j.Document;importorg.dom4j.Element;importorg.dom4j.io.SAXReader;importorg.junit.Before;importorg.junit.Test;importjava.io.BufferedReader;importjava.io.File;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.Reader;importjava.util.Iterator;importjava.util.LinkedList;importjava.util.List;import staticorg.hamcrest.core.IsNull.notNullValue;import staticorg.junit.Assert.assertThat;import staticorg.junit.Assert.assertTrue;/*** Created by Administrator on 2017/7/21.*/
public classtest {private static Listlist;private static final String PATH = "/sdcard/window_dump.xml";private final static int LAUNCH_TIMEOUT = 5000;
UiDevice device;private final String mLogTag = "testliuzhipeng";
@Beforepublic void setup() throwsInterruptedException {
device=UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());this.grantPermission();
openApplication("com.antutu.videobench");
Thread.sleep(20000);
device.waitForIdle();
Log.i(mLogTag,"sleep finished");
}
@Testpublic void testAA() throwsUiObjectNotFoundException, IOException, InterruptedException {
File file= newFile(PATH);if(file.exists()){
assertTrue(String.format("delete %s fail ",PATH), file.delete());
}
device.dumpWindowHierarchy(file);if (!file.exists()) {
Log.i(mLogTag,"dump fail");
assertTrue("dump fail", false);
}try{
list= new LinkedList();//1、读取xml文件
SAXReader reader = newSAXReader();
Document document=reader.read(file);//2、获取根节点
Element rootNode =document.getRootElement();
treeWalk(rootNode);
Log.i(mLogTag,"list::" +list.toString());
Log.i(mLogTag,"list.size::" +list.size());if (list != null)
list.clear();
list= null;
Log.i(mLogTag,"End");
}catch(Exception e) {
e.printStackTrace();
}
}private static voidprint(Object obj) {
System.out.println(obj);
}private void treeWalk(Element element) throwsUiObjectNotFoundException {
String text;for (Iterator i =element.elementIterator(); i.hasNext(); ) {
Element elementNode=(Element) i.next();if (elementNode.elements().size() > 0) {
treeWalk(elementNode);
}
print(elementNode.toString());
Log.i(mLogTag, elementNode.toString());
XMLBean bean= newXMLBean(elementNode);
print("-------------------------------------------");
Log.i(mLogTag,"-------------------------------------");if (bean.text.equals("Play Music")) {
print(bean.bounds);
Log.i(mLogTag, bean.bounds);
}
print("-------------------------------------------");
list.add(bean);
}
}public voidopenApplication(String packageNameStr){//wakeScreen();
/*Start from the home screen*/device.pressHome();final String launcherPackage =device.getLauncherPackageName();
assertThat(launcherPackage,notNullValue());
device.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)),
LAUNCH_TIMEOUT);//launch the app
Context context =InstrumentationRegistry.getContext();final Intent intent =context.getPackageManager()
.getLaunchIntentForPackage(packageNameStr);//Clear out any previous instances
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(intent);//Wait for the app to appear//try {Thread.sleep(5000);} catch (InterruptedException e) {e.printStackTrace();}//wakeScreen();
device.wait(Until.hasObject(By.pkg(packageNameStr).depth(0)),
LAUNCH_TIMEOUT);
}public voidgrantPermission(){
openApplication("com.softwinner.performance.frameratetest");try {Thread.sleep(1000);} catch(InterruptedException e) {e.printStackTrace();}
Log.i(mLogTag,"after open test apk success, grant stored permission");//wakeScreen();
UiObject permission = device.findObject(newUiSelector()
.resourceId("com.android.packageinstaller:id/permission_allow_button")
);if(permission.waitForExists(1000)){try{//wakeScreen();
permission.clickAndWaitForNewWindow();
Log.i(mLogTag,"click grant store permission");
}catch(UiObjectNotFoundException e) {
e.printStackTrace();
}
}
}public void printMessage(finalInputStream input){new Thread(newRunnable() {
@Overridepublic voidrun() {
Reader reader= newInputStreamReader(input);
BufferedReader bf= newBufferedReader(reader);
String line= null;try{while((line = bf.readLine()) != null){
Log.i(mLogTag, line);
}
}catch(IOException e){
e.printStackTrace();
}
}
}).start();
}
}

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)