Я использую uiautomator dumpWindowHierarchy (...), чтобы выгрузить дерево представления текущего дисплея устройства. Однако, похоже, я не могу изменить каталог сохранения для сбрасываемых XML-файлов. Ниже приведен код, но он сохраняет .xml-файл в папку/data/local/tmp/local/tmp. Переменная «dumpXml» - это просто имя файла, например. "Test.xml"uiautomator dumpWindowHierarchy (...) не может изменить каталог дампа
public void dumpView(String dumpXml) {
final File dump = new File(new File(Environment.getDataDirectory(), "local/tmp"), dumpXml);
dump.mkdirs();
if (dump.exists()) {
dump.delete();
}
try {
getUiDevice().dumpWindowHierarchy(dumpXml);
Log.i(TAG, String.format("UI hierarchy: " + dumpXml));
} catch (Exception e) {
testCaseAssertion("ERROR: did not dump a view file");
}
}
Если изменить new File(new File(Environment.getDataDirectory(), "local/tmp"), dumpXml);
в другую папку, например, new File("sdcard/Test"), dumpXml);
, тогда я не смог найти сброшенный .xml-файл.
Может кто-нибудь объяснить мне, почему? Как я могу изменить сохраненный каталог сбрасываемого XML-файла?
Какую строку вы передаете в dumpView (...)? например Какова ценность dumpXml? –
Похоже, вы создаете новый каталог (переменная 'дамп'), но вы не обновляете значение, которое вы передаете в dumpWindowHierarchy (..) –
'public void dumpWindowHierarchy (String fileName)' устарело. Вместо этого используйте 'dumpWindowHierarchy (File)' или 'dumpWindowHierarchy (OutputStream)'. –