我有一个Jenkins奴隶(在localhost:8000),我正在从Jenkins Master(在localhost:8080)执行它(链接).这里的基本思想是运行远程作业并等到作业完成.
java -jar jenkins-cli.jar -s http://localhost:8000 build "Test Suite"
Run Code Online (Sandbox Code Playgroud)
现在,这不等了.我开始在奴隶上工作,詹金斯大师说任务立即完成,尽管奴隶跑了30分钟.
有谁知道如何阻止或检查从站上的信号以验证它是否已完成并获取作业的退出状态代码?
注意:我的从站测试必须在从站上运行,因为它不会从作为服务运行的Jenkins主站运行,并且不允许从测试启动webbrowser的权限.所以,我在一个可见的控制台中运行奴隶.
我无法在Cygwin中执行位于Windows中"C:\ Program Files(x86)"目录中的程序.有人知道让这个工作起作用的诀窍吗?
jboss@QA024 /cygdrive/C/jboss/EAP-6.0.1/jboss-eap-6.0/bin
$ wgetexe="/cygdrive/C/Program Files (x86)/GnuWin32/wget.exe --help"
jboss@QA024 /cygdrive/C/jboss/EAP-6.0.1/jboss-eap-6.0/bin
$ bash $wgetexe
bash: /cygdrive/C/Program: No such file or directory
jboss@QA024 /cygdrive/C/jboss/EAP-6.0.1/jboss-eap-6.0/bin
$ bash "$wgetexe"
bash: /cygdrive/C/Program Files (x86)/GnuWin32/wget.exe --help: No such file or directory
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 DOS 批处理脚本中比较需要区分大小写的字符串。我无法弄清楚如何在 IF 语句中打开区分大小写。这是我正在做的事情,它也在小写“-f”上匹配,我试图避免:
SET "ARGS=%*"
IF "%ARGS:-F=%" NEQ "%ARGS%" (
ECHO Pro option -F was found and not allowed.
GOTO :ERROR
)
Run Code Online (Sandbox Code Playgroud) 我在JMeter中从JDBC Sampler获取结果集对象时遇到问题.JMeter文档准确地说明了这一点:
Result Variable Name
If specified, this will create an Object variable containing a list of
row maps. Each map contains the column name as the key and the column
data as the value.
Usage:
columnValue = vars.getObject("resultObject").get(0).get("Column Name");
Run Code Online (Sandbox Code Playgroud)
所以,我这样配置它,它的工作原理.但是由于上面的文档说我创建了一个"行映射列表",我想我会尝试在BeanShell中创建一个List对象,使其更具可读性.我试过这样做,但它没有用.有人知道答案吗?
List<Map<String,Integer>> results = vars.getObject("resultList");
Run Code Online (Sandbox Code Playgroud)
错误或多或少是这样的:
jmeter.util.BeanShellInterpreter: Error invoking bsh
method: eval In file: inline evaluation of:
``List<Map<String,Integer>> results = vars.getObject("resultList")
Run Code Online (Sandbox Code Playgroud) 我想使用 groovy 脚本获取构建的总测试用例通过和失败计数。我正在使用 Junit 测试结果。我正在使用多配置项目,那么有什么方法可以根据每个配置查找此信息?
Selenium 隐式等待总是占用整个等待时间还是可以更快完成?如果我将隐式等待设置为 10 秒,对 .findElement 的调用可以在几秒钟内完成还是总是需要整个 10 秒?
此页面暗示它等待整整 10 秒,这非常令人困惑,因为它不是 javadoc 所暗示的。
来自 WebDriver.java 的以下代码注释意味着它可以比隐式超时定义的更早完成的轮询操作。但是,评论中的最后一句话确实打破了这种信念,让我对此并不完全确定。如果它实际上是轮询,那么它将如何“对测试时间产生不利影响”,因为它不会在整个隐式等待持续时间内完成?
/**
* from WebDriver.java
* Specifies the amount of time the driver should wait when searching for an element if
* it is not immediately present.
* <p/>
* When searching for a single element, the driver should poll the page until the
* element has been found, or this timeout expires before throwing a
* {@link NoSuchElementException}. When searching for …Run Code Online (Sandbox Code Playgroud) 我正在玩并试图用Java Stream解决这个问题"Two Sum",而不是使用命令式方法:
Given nums = [2, 7, 11, 15], target = 18,
Because nums[1] + nums[2] = 7 + 11 = 18,
return [1, 2].
Run Code Online (Sandbox Code Playgroud)
这是我的部分工作代码.谁能帮忙解决?我只是无法弄清楚如何收集它作为原始int数组返回:
class Solution {
public int[] twoSum(int[] input, int target) {
IntStream.range(0, input.length)
.forEach(i -> {
IntStream.range(0, input.length)
.filter(j -> i != j && input[i] + input[j] == target)
.peek(t -> System.out.println(input[t]))
.findFirst();
}
);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
这是上面的输出(来自窥视):
11
7
Run Code Online (Sandbox Code Playgroud) 出于好奇,存储过程是否能够从操作系统中删除文件?
如果不是,我将不得不制作一个删除文件的Windows批处理文件,然后使用OSQL运行存储过程.
谁能给我一个暗示我做错了什么?
所以,在Redhat(Amazon AMI Instance)上,我试图获得正在运行的应用程序的核心转储.即使远程端口是全开的(并且JMX服务器已正确配置),我也无法从jboxsole.exe或jvisualvm.exe从Windows框连接到JMX端口.我不知道为什么,所以我试图直接从JVM获得核心转储(Cntrl-\didnt工作).所以,这是我如何设置以获得核心转储,但它不起作用,我不知道为什么.
[ec2-user bin]$
jsadebugd 2504 -F Attaching to process
ID 2504 and starting RMI services,
please wait... Debugger attached and
RMI services started.
Run Code Online (Sandbox Code Playgroud)
因此,在调试器运行后,我尝试使用它创建转储,但它失败了:
[ec2-user ~]$ jmap -dump:live,format=b,file=dump.t 2504
2504: Unable to open socket file:
target process not responding or
HotSpot VM not loaded The -F option
can be used when the target process is
not responding
[ec2-user ~]$ jmap -dump:live,format=b,file=dump.t 2504 -F
Attaching to core -F from
executable 2504, please wait... Error
attaching to core file: …Run Code Online (Sandbox Code Playgroud) 尝试使用Groovy脚本获取简单的字符串替换.试过各种各样的事情,包括以各种方式逃避字符串,但无法弄清楚.
String file ="C:\\Test\\Test1\\Test2\\Test3\\"
String afile = file.toString() println
"original string: " + afile
afile.replace("\\\\", "/")
afile.replaceAll("\\\\", "/") println
"replaced string: " + afile
Run Code Online (Sandbox Code Playgroud)
此代码导致:
original string: C:\Test\Test1\Test2\Test3\
replaced string: C:\Test\Test1\Test2\Test3\
Run Code Online (Sandbox Code Playgroud)
得到Sorrow的启发,答案如下:
// first, replace backslashes
String afile = file.toString().replaceAll("\\\\", "/")
// then, convert backslash to forward slash
String fixed = afile.replaceAll("//", "/")
Run Code Online (Sandbox Code Playgroud) java ×3
groovy ×2
hudson ×2
jenkins ×2
arrays ×1
batch-file ×1
cmd ×1
core ×1
cygwin ×1
debugging ×1
if-statement ×1
java-stream ×1
jmeter ×1
junit ×1
loops ×1
selenium ×1
sql-server ×1
string ×1
windows ×1