【问题标题】:Starting process in Visual Studio 2017 on MacMac 上 Visual Studio 2017 中的启动过程
【发布时间】:2018-01-20 04:48:41
【问题描述】:

我正在 Mac 上编写 Nunit 测试。我需要在执行测试时启动一个进程(服务器)。问题是在服务器进程不退出之前测试不会完成。基本上测试运行器卡住了,我需要重新启动 Visual Studio。服务器进程正在 Visual Studio 内部启动,但我希望它位于终端中。即使在测试完成后,我也需要激活此过程。

appProcess.StartInfo.UseShellExecute = true;
                appProcess.StartInfo.FileName = "AppiumServer/node_modules/appium/appium";
                appProcess.StartInfo.Arguments = "--port " + port;
                appProcess.Start();

Appium 是一个带有节点 AppiumServer/main.js 的 bash 脚本。我试图在没有 bash 的情况下启动它,但是当我将 fileName 设置为 Terminal 并将 Arguments 设置为“node AppiuumServer/main.js --port”+port 时,节点服务器将启动但在错误的端口上。你能帮帮我吗?

appium 狂欢

#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")

case `uname` in
  *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac

if [ -x "$basedir/node" ]; then
  "$basedir/node"  "$basedir/../appium/build/lib/main.js" "$@"
  ret=$?
else 
 node  "$basedir/../appium/build/lib/main.js" "$@"
 ret=$?
fi
exit $ret

【问题讨论】:

    标签: c# bash macos visual-studio appium


    【解决方案1】:

    好的,我找到了解决方案。编写 osascript 以在终端中启动 appium 并从 Visual Studio 启动它。然后您可以使用参数传递端口并在 bash $0 $1 等中访问它...像这样启动的服务器将在 Visual Studio 之外启动,并且不会阻止 NUnity 测试,并且使用 osascript 启动的终端将自动关闭。

    #!/bin/bash
    osascript -e 'tell application "Terminal" to do script 
    "'$1'/AppiumServer/node_modules/appium/appium --port '$2''"'
    

    其中 $1 是路径,$2 是端口。 “appium”是一个带有节点“main.js 的路径”的 bash 脚本

    在 c# 中这样开始:

    Process appProcess = new Process();
    appProcess.StartInfo.UseShellExecute = true;
    appProcess.StartInfo.FileName = "path to osascript";
    appProcess.StartInfo.Arguments = "path to appium script this will be in 
    $1"+" 8000";
    appProcess.Start();
    

    8000 当然是 2 美元的端口。希望对遇到类似问题的人有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-26
      • 2017-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多