Appium 个人分享-【如何让 appium 进程运行在 win7 后台】

中年_Brain · 2014年08月13日 · 最后由 中年_Brain 回复于 2014年08月14日 · 2338 次阅读

很多想自己动手写框架的同学都知道,appium 使用图形界面启动,实在是不方便,如果使用框架测试思路,我们就需要让这个进程默默的运行在后台。

而目前 aapium 这个进程也有些不稳定,也就是我之前有提到的内存溢出,最好是写一个初始化方法,在一组 20 个 case 运行完毕,就执行一下这个初始化方法。

回到题目。
1、kill 掉之前的旧进程 node.exe,adb.exe,chromedriver.exe,使用 cmd 命令运行 appium 进程
AppiumRun.bat 内容如下,各位可根据自己的目录调整


@echo off
d:
cd D:\Appium
taskkill /im node.exe /f
taskkill /im adb.exe /f
taskkill /im chromedriver.exe /f
D:\Appium\node_modules\.bin\appium.cmd
exit

2、使用 vbs 调用 cmd 命令文件,让这个窗口运行在后台

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c d:\AppiumRun.bat",0

3、使用自己的代码,我这里使用 java,调用这个 vbs 脚本

// 初始化,启动APPium进程
public void baseInIt() {
    String[] cpCmd = new String[] { "wscript", "D:\\AppRun.vbs" };
    // String path = "D:\\AppRun.vbs";
    Runtime run = Runtime.getRuntime();
    try {
        logger.info("----------初始化,启动APPium进程----------");
        run.exec(cpCmd);
        TimeUnit.SECONDS.sleep(5);
        logger.info("----------初始化,启动APPium进程 ok----------");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

解决此问题。

我遗留一个问题是,appium 的参数传入,我现在还不清楚,请其他同学指出。

共收到 11 条回复 时间 点赞

参数传入点播你一下,sys.argvs

#1 楼 @qddegtya 是在那个步骤传参数,是在 cmd 命令里面吗?

#2 楼 @bxc168 关键字 java String[] args

#4 楼 @qddegtya 你在这样暗撮搓的提醒,让我很愤怒...开源精神再强大一点

@bxc168 代码都用代码块包含吧。

#4 楼 @qddegtya no zuo no die。。。。

#5 楼 @bxc168 我觉得有道理!!!!

为什么还要用 vbs 脚本那, 直接调用 bat 不就可以了? 不用多一步吧, 或者干脆直接把命令写入到 java 的代码中好了.
我以前也干过类似的事情.

#10 楼 @seveniruby 因为直接用 cmd 命令,会有一个讨厌的黑框,所以我才选了 vbs 把这个框隐藏在后台

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册