2

在 TeamCity 中,我正在设置“命令行”运行器类型。我的目标是在窗口中运行命令行脚本并让它运行。然后转到下一个构建步骤,而不关闭在上一步中打开的命令行窗口。在我的最后一个构建步骤中,我想关闭在初始构建步骤期间仍然打开的命令行窗口。

以上场景基于我在配置“BrowserStack”测试项目时的构建步骤。我想在我的“命令行”运行器类型步骤中执行 BrowserStackLocal.cmd 并让它运行。然后转到下一个构建步骤,其中我有我的所有测试. 最后在最后的构建步骤中,我想在完成测试后关闭命令行窗口。

目前,构建步骤在执行“start BrowserStackLocal.exe -force”后不知道该做什么,因为它将等待回复代码。

关于如何进入下一个构建步骤的任何想法?

4

4 回答 4

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 
    

在进入 Team City 项目中的下一个构建步骤之前,您可以等待以允许该BrowserStackLocal过程开始。此外,您可以设置构建后操作来终止正在运行的 BrowserStackLocal 进程。

于 2015-05-19T10:39:30.997 回答
1

最近遇到了同样的问题,将二进制文件作为守护进程启动将继续到下一个构建步骤。

打开连接:

browserstacklocal.exe --key %system.BrowserStackKey% --local-identifier %system.BrowserStackLocalIdentifier% --force --daemon start

关闭连接:

browserstacklocal.exe --local-identifier %system.BrowserStackLocalIdentifier% --daemon stop
于 2017-10-28T05:23:49.020 回答
0

你只需要按下ALTTAB

于 2015-05-18T10:53:20.793 回答
0

如果“BrowserStack”有适当的启动-停止命令,那么您可以使用它们(例如 Tomcat)。如果没有,那么您可以在后台启动“BrowserStack” ,然后运行测试,然后使用以下命令选项将其终止: -force - kill other running instances of BrowserStack Local

于 2015-05-18T13:36:56.190 回答