Java实现手机重启压力测试
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Calendar;
import java.util.Date;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class chongqi {
public static void main(String[] args) throws IOException,Exception{
// TODO Auto-generated method stub
for(int j=1;j<=10000;j++) {
Thread.currentThread().sleep(10000);
//PrintStream ps = new PrintStream("E:\\Eclipse Workspace\\chongqi\\log/log.txt");
//System.setOut(ps);
System.out.println("设备连接成功...");
Process process1 = Runtime.getRuntime().exec("adb reboot");
// 开始时间
long stime = System.currentTimeMillis();
//获取时间
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH )+1;
int day = cal.get(Calendar.DAY_OF_MONTH);
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
System.out.print("重启时间"+year+"年");
System.out.print(month+"月");
System.out.print(day+"日");
System.out.print(hour+"时");
System.out.print(minute+"分");
System.out.print(second+"秒");
Thread.currentThread().sleep(5000);
//监控以上的程序是否在获取端口之前运行完
System.out.println("\n 设备重启中。。。");
process1.waitFor();
Process process2 = Runtime.getRuntime().exec("adb wait-for-device");
process2.waitFor();
// 结束时间
long etime = System.currentTimeMillis();
// 计算执行时间
System.out.printf("重启用时:%d 毫秒.", (etime - stime));
System.out.println( "");
if((etime - stime)>40000) {
//log:开机后运行这条命令:adb logcat -d -b events | findstr boot_progress
String cmdStr = "adb logcat -d -b events | grep boot_progress";
Runtime run = Runtime.getRuntime();
try {
Process process = run.exec(cmdStr);
InputStream in = process.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
BufferedReader br = new BufferedReader(reader);
StringBuffer sb = new StringBuffer();
String message;
while((message = br.readLine()) != null) {
sb.append(message);
}
System.out.println(sb);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.print("fail");
}
System.out.println("\n 已经重启第"+j+"次");
// 执行时间(1s)
Thread.sleep(1000);
}
}
}