1 在linux和windows中使用不同的命令打开窗口,比如使用adb 时,linux要用:
Runtime.getRuntime().exec(new String[] {"/bin/sh","-c",cmd});
而windows会用
Runtime.getRuntime().exec(new String[] {"cmd","/c",cmd});,
如果都用/bin/bash,会报以下错误:
java.io.IOException: Cannot run program "/bin/bash": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
2 set aapt before running CTS
CTS currently supports 64-bit Linux and Mac OS host machines.
Before running the CTS, make sure you have recent versions of both Android Debug Bridge (adb) and Android Asset Packaging Tool (AAPT) installed and those tools' location added to the system path of your machine.
To install ADB, download the Android SDK Tools package for your operating system, open it, and follow the instructions in the included README file. For troubleshooting information, see Installing the Stand-alone SDK Tools.
Ensure adb and aapt are in your system path. The following command assumes you've opened the package archive in your home directory:
export PATH=$PATH:$HOME/android-sdk-linux/build-tools/<version>
3 UI automator
使用UI.takeScreenshot(path), path related
a) 使用
/data/local/tmp/
时生成文件aa.png报错,只能先push 一个叫aa.png的文件之后,才能截屏时,替换原来的文件
b)
使用当前testcase本身的包路径,可以生成文件,但是不能pull出来 Permission denied
文件实际路径:/data/user/0/com.test/files/aa.png
c)
save files that are private to your app
File f= mContext.getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS); File path = new File(f.getAbsolutePath()+File.separator+"99.png"); mDevice.takeScreenshot(path);
可以直接生成文件aa.png.
文件实际路径:
/storage/emulated/0/Android/data/com.test/files/Download/aa.png
d)
save public files on the external stroage
File f= Environment.(Environment.)File path = File(f.getAbsolutePath()+File.+)
takeScreenshot--- /storage/emulated/0/Download/8888.png
E/UiDevice: failed to save screen shot to file
java.io.FileNotFoundException: /storage/emulated/0/Download/8888.png (Permission denied)
需要添加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。