上来先吐槽一下新项目,一个月快速迭代了 4 个版本,每天加班到半夜 1~2 点,真是快吐血了。。。好在目前暂时稳定了下来,终于有点空闲的时间。闲着没事就来 TesterHome 看看,给自己充充电。看到几个关于 appium server 的帖子,有个地方不是很懂,想请教一下大家!
我看的几个帖子中,在启动 appium server 的时候都新开一个线程去执行 cmd 命令,为什么要这么做?比用主线程去开启 server 好在哪里?
比如下面两段代码的区别在哪里:
public static void startAppiumServer() {
if (isPortUsing("127.0.0.1", 4723)) {
stopAppiumServer();
}
new Thread(new Runnable(){
@Override
public void run() {
String cmd = "cmd /c start appium";
try {
Process p = Runtime.getRuntime().exec(cmd);
log.info("try to start appium server...");
} catch (IOException e) {
e.printStackTrace();
}
}
}
).start();
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void startAppiumServer() {
if (isPortUsing("127.0.0.1", 4723)) {
stopAppiumServer();
}
String cmd = "cmd /c start appium";
try {
Process p = Runtime.getRuntime().exec(cmd);
log.info("try to start appium server...");
} catch (IOException e) {
e.printStackTrace();
}
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}