在TeamCity中,我正在设置"命令行"跑步者类型。我的目标是在窗口中运行命令行脚本&让它运行。然后转到下一个构建步骤,而不关闭在上一步中打开的命令行窗口。在我的上一个构建步骤中,我想关闭在初始构建步骤期间仍处于打开状态的命令行窗口。
以上方案基于我的构建步骤,同时配置' BrowserStack"测试项目。我想在我的命令行'中执行BrowserStackLocal.cmd。跑步者类型步骤&让它运行。然后转到下一个构建步骤,我将完成所有测试。最后,在最后一个构建步骤中,我想在完成测试后关闭命令行窗口。
目前,在执行“启动BrowserStackLocal.exe -force”后,构建步骤并不知道该怎么做。因为它将等待回复代码。
关于如何进入下一个构建步骤的任何想法?
答案 0 :(得分:2)
正如Alina指出的那样,你需要设置一个命令行'构建步骤,在运行测试之前在后台启动 BrowserStackLocal 。配置可以是:
Runner Type = Command Line
Run = Custom Script
Using 'advanced options' set Working directory where BrowserStackLocal is present if it differs from the checkout directory.
自定义脚本示例:
适用于Linux / Mac
#!/bin/bash
./BrowserStackLocal <BrowserStack Key> -force &
适用于Windows
start /B BrowserStackLocal.exe <BrowserStack Key> -force
您可以等待允许BrowserStackLocal
进程启动,然后再转到Team City项目中的下一个构建步骤。此外,您可以设置一个后期构建操作来终止正在运行的BrowserStackLocal进程。
答案 1 :(得分:1)
最近遇到同样的问题,将二进制文件作为守护进程启动将继续执行下一个构建步骤。
打开连接:
browserstacklocal.exe --key %system.BrowserStackKey% --local-identifier %system.BrowserStackLocalIdentifier% --force --daemon start
关闭连接:
browserstacklocal.exe --local-identifier %system.BrowserStackLocalIdentifier% --daemon stop
答案 2 :(得分:0)
您只需按ALT
和TAB
答案 3 :(得分:0)
如果'BrowserStack'具有适当的启动 - 停止命令,那么您可以使用它们(例如像Tomcat)。如果没有,则可以在background中启动“BrowserStack”,然后运行测试,然后使用以下command option将其终止:
-force - kill other running instances of BrowserStack Local