启动 cmd /k 然后在另一批结束时关闭
Start cmd /k and then close at the end of another batch
我无法使用 cmd /k 终止命令 window 启动。要在上下文中替换,我想启动自动测试用例(使用 SAHI Framework,它与 Selenium 相似,谁知道呢)。所以,我必须启动第一个包含测试套件的 .bat 文件。为了测试需要启动的代理,我需要在同一个地方启动所有东西,因为我们把所有东西都打包在 Jenkins 服务器中。
因此,为了回顾,我必须使用以下步骤创建一个脚本:
- 设置全局变量
- 启动代理服务器(在其他终端)
- 启动测试用例套件
代码:
rem Start proxy server for handle tests
start cmd /k sahi.bat
rem Starting test suites
testrunner.bat tests.suite http://website.fr/ firefox
因此,这些步骤已完成并且工作正常。但是我必须在步骤 3 之后关闭在步骤 2 中打开的服务器代理。
如何在测试用例后杀死 sahi.bat?
有多种方法可以实现您的目标。我的解决方案:
@ECHO OFF
START "Proxy" sahi.bat
START /WAIT testrunner.bat tests.suite http://website.fr/ firefox && taskkill /FI "WINDOWTITLE eq <username>: Proxy"
START "Proxy" sahi.bat
将使用您的代理启动一个新控制台。 window 标题将是 用户名: Proxy。如果您不确定 window 标题,请尝试使用 START "test" cmd 打开 window。
现在 START /WAIT "testrunner.bat tests.suite http://website.fr/ firefox" && taskkill /FI "WINDOWTITLE eq <username>: Proxy"
将做两件事:它将在新控制台中执行您的测试并终止代理服务器。 &&
表示两条命令都会一个接一个执行。但这还不够,因为您的脚本会启动测试并在之后立即终止代理。为避免这种情况,我们只需在命令中添加 /WAIT
即可使脚本在测试 bat 终止后立即执行 kill 命令。
TL;DR
- 启动代理并调用 window "username: Proxy"
- 开始测试并在测试完成后终止代理使用给定的标题 "username: Proxy"
识别正确的 window
我无法使用 cmd /k 终止命令 window 启动。要在上下文中替换,我想启动自动测试用例(使用 SAHI Framework,它与 Selenium 相似,谁知道呢)。所以,我必须启动第一个包含测试套件的 .bat 文件。为了测试需要启动的代理,我需要在同一个地方启动所有东西,因为我们把所有东西都打包在 Jenkins 服务器中。
因此,为了回顾,我必须使用以下步骤创建一个脚本:
- 设置全局变量
- 启动代理服务器(在其他终端)
- 启动测试用例套件
代码:
rem Start proxy server for handle tests
start cmd /k sahi.bat
rem Starting test suites
testrunner.bat tests.suite http://website.fr/ firefox
因此,这些步骤已完成并且工作正常。但是我必须在步骤 3 之后关闭在步骤 2 中打开的服务器代理。
如何在测试用例后杀死 sahi.bat?
有多种方法可以实现您的目标。我的解决方案:
@ECHO OFF
START "Proxy" sahi.bat
START /WAIT testrunner.bat tests.suite http://website.fr/ firefox && taskkill /FI "WINDOWTITLE eq <username>: Proxy"
START "Proxy" sahi.bat
将使用您的代理启动一个新控制台。 window 标题将是 用户名: Proxy。如果您不确定 window 标题,请尝试使用 START "test" cmd 打开 window。
现在 START /WAIT "testrunner.bat tests.suite http://website.fr/ firefox" && taskkill /FI "WINDOWTITLE eq <username>: Proxy"
将做两件事:它将在新控制台中执行您的测试并终止代理服务器。 &&
表示两条命令都会一个接一个执行。但这还不够,因为您的脚本会启动测试并在之后立即终止代理。为避免这种情况,我们只需在命令中添加 /WAIT
即可使脚本在测试 bat 终止后立即执行 kill 命令。
TL;DR
- 启动代理并调用 window "username: Proxy"
- 开始测试并在测试完成后终止代理使用给定的标题 "username: Proxy" 识别正确的 window