如何从Jenkins Execute Shell构建步骤触发“行为”测试?

时间:2017-05-17 23:01:14

标签: shell selenium jenkins

我有一系列使用selenium独立服务器运行的BDD selenium测试。要运行它们,我在终端中输入以下代码(一旦我在正确的目录中):

my-custom-class-name {
...
}
my-custom-class-name-content {
...
}

当测试完成时:

source project/bin/activate # Opens a virtualenv with appropriate interpreters
behave

我已经配置了一个Jenkins项目,该项目访问具有相同文件和测试的GitHub存储库。在项目中有一个执行shell命令的构建步骤。那里的代码是:

deactivate # Ends the virtualenv

请参阅Execute Shell Build step

但是,当我构建项目时,我得到以下输出:

#!/bin/bash
cd dev                        #Enter right directory
source project/bin/activate   #Activate virtualenv
behave

请参阅Console Output

我尝试过变化,似乎总能得到类似的结果。如何运行这些测试?

编辑:

我还尝试使用以下代码创建运行的shell脚本(run.sh):

Started by <user>
Building in workspace /Users/Shared/Jenkins/Home/workspace/Tutorial
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url git@github.com:<url>.git # timeout=10
Fetching upstream changes from git@github.com:<url>.git
> git --version # timeout=10
> git fetch --tags --progress git@github.com:<url>.git +refs/heads/*:refs/remotes/origin/*
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision b62c3e873be4fba3daa1b29a9954a130c768a8f4 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f b62c3e873be4fba3daa1b29a9954a130c768a8f4
> git rev-list b62c3e873be4fba3daa1b29a9954a130c768a8f4 # timeout=10
[Tutorial] $ /bin/bash /Users/Shared/Jenkins/tmp/hudson719949293776127111.sh
/Users/Shared/Jenkins/tmp/hudson719949293776127111.sh: line 4: behave: command not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

然后在Jenkins构建步骤中使用代码#!/bin/sh exec project/bin/behave 代替./run.sh或我在评论中提到的变体运行脚本,但是我得到了相同的错误。

1 个答案:

答案 0 :(得分:1)

我终于明白了。我使用Shining Panda插件创建了一个virtualenv,需要在构建步骤中激活它。为了在每次构建项目时都不创建新的virtualenv,我创建了一个新工作,刚刚创建了一个新的virtualenv。该作业中的配置构建步骤如下所示:

enter image description here

然后,在我之前创建的作业中,Execute Shell步骤如下所示:

enter image description here

哪里

/Users/Shared/Jenkins/Home/shiningpanda/jobs/ae39534a/virtualenvs/d41d8cd9/bin/activate

是创建virtualenv的直接途径。然后,我可以毫无疑问地跑步。