背景
- 在Mac下执行monkey测试的时候,提示无法写入日志文件:
/system/bin/sh: can't create log2.txt: Read-only file system
- 经分析,是由于笔者先adb shell,进入设备的shell环境中,如下:
xxxMacBook-Pro:Library xxx$ adb shell
HWBLN-H:/ $
此环境下只能执行monkey测试,但是没有写文件的权限;
解决方法
- 不要进入设备的shell环境中,直接在命令行中执行monkey测试命令,只不过monkey命令前需要加上’adb shell’,如下:
xxxMacBook-Pro:Library xxx$ adb shell monkey -p com.yit.v1 -s 1000 --ignore-crashes --ignore-timeouts -vv 2000 > log2.txt
此时log2.txt会被写到当前目录下。
- 如果想要把日志写到指定目录,有两种方式:
- 在命令行中先进到指定目录,再执行monkey测试;
xxxMacBook-Pro:~ xxx$ ls 02.4 Downloads Movies Sites Applications Han Music jmeter.log Desktop IdeaProjects Pictures log1.txt Documents Library Public log2.txt xxxdeMacBook-Pro:~ xxx$ cd Han/testlogs/ xxxdeMacBook-Pro:testlogs xxx$ adb shell monkey -p com.yit.v1 -s 1000 --ignore-crashes --ignore-timeouts -vv 2000 > log2.txt
- 先找出当前路径,再使用相对路径指定文件路径;
xxxdeMacBook-Pro:Downloads xxx$ pwd /Users/xxx/Downloads xxxdeMacBook-Pro:Downloads xxx$ adb shell monkey -p com.yit.v1 -s 1000 --ignore-crashes --ignore-timeouts -vv 2000 > ../Han/testlogs/log2.txt //基于当前路径,指定log文件存放的相对路径