是否可以 运行 在 pod 中进行空手道测试?如果可能,那又如何?
Is it possible to run Karate test in a pod? If possible, then how?
我只是想知道我是否可以 运行 在 pod 中测试空手道。或者有什么好的建议可以运行吗?
我尝试 运行 终端中的空手道测试,它成功了。只是想知道我是否可以 运行 从 Kubernetes pod 获取它。 Nginx 也在 pod 中 运行ning。
无论您身处何种外部环境,您都可以在 pod 中进行任何操作。运行。 Pod 运行里面的容器。
因此创建 docker file
并使用 docker 文件生成 docker image
。使用那个 docker 图像并启动空手道吊舱。
你可以这样写 docker 文件
FROM maven:3-jdk-8-alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY settings.xml /usr/share/maven/ref/
COPY pom.xml /tmp/pom.xml
COPY . /usr/src/app
RUN mvn -B -f /tmp/pom.xml -s /usr/share/maven/ref/settings-docker.xml prepare-package -DskipTests
CMD ["/usr/src/app/maven_runner.sh"]
我在这里找到了一个例子:https://github.com/neillfontes/karate-sample
作为社区 Wiki 发布以备将来使用。
@Harsh Manvar 提供了很好的示例,但是如果您只是从 Dockerfile 构建它,您将收到错误。您必须下载 Github 中提到的所有文件。正确的顺序为:
$ git clone https://github.com/neillfontes/karate-sample.git
$ cd karate-sample
$ docker build -t karate_docker .
镜像构建完成后可以查看:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
karate_docker latest 9dc6d7a5278a About a minute ago 136MB
稍后您可以开始测试使用:
$ docker run karate_docker
START: Running tests...
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running demo.DemoTest
11:57:49.684 [main] DEBUG c.i.karate.cucumber.CucumberRunner - init test class: class demo.DemoTest
11:57:50.412 [main] DEBUG c.i.karate.cucumber.CucumberRunner - loading feature: /usr/src/app/target/test-classes/demo/features/get-token.feature
11:57:50.663 [main] DEBUG c.i.karate.cucumber.CucumberRunner - loading feature: /usr/src/app/target/test-classes/demo/features/make-request.feature
11:57:53.898 [main] INFO com.intuit.karate.ScriptBridge - karate.env system property was: null
11:57:54.867 [main] DEBUG c.i.k.h.a.RequestLoggingInterceptor -
1 > POST http://brentertainment.com/oauth2/lockdin/token
1 > Accept-Encoding: gzip,deflate
1 > Connection: Keep-Alive
1 > Content-Length: 96
我只是想知道我是否可以 运行 在 pod 中测试空手道。或者有什么好的建议可以运行吗?
我尝试 运行 终端中的空手道测试,它成功了。只是想知道我是否可以 运行 从 Kubernetes pod 获取它。 Nginx 也在 pod 中 运行ning。
无论您身处何种外部环境,您都可以在 pod 中进行任何操作。运行。 Pod 运行里面的容器。
因此创建 docker file
并使用 docker 文件生成 docker image
。使用那个 docker 图像并启动空手道吊舱。
你可以这样写 docker 文件
FROM maven:3-jdk-8-alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY settings.xml /usr/share/maven/ref/
COPY pom.xml /tmp/pom.xml
COPY . /usr/src/app
RUN mvn -B -f /tmp/pom.xml -s /usr/share/maven/ref/settings-docker.xml prepare-package -DskipTests
CMD ["/usr/src/app/maven_runner.sh"]
我在这里找到了一个例子:https://github.com/neillfontes/karate-sample
作为社区 Wiki 发布以备将来使用。
@Harsh Manvar 提供了很好的示例,但是如果您只是从 Dockerfile 构建它,您将收到错误。您必须下载 Github 中提到的所有文件。正确的顺序为:
$ git clone https://github.com/neillfontes/karate-sample.git
$ cd karate-sample
$ docker build -t karate_docker .
镜像构建完成后可以查看:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
karate_docker latest 9dc6d7a5278a About a minute ago 136MB
稍后您可以开始测试使用:
$ docker run karate_docker
START: Running tests...
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running demo.DemoTest
11:57:49.684 [main] DEBUG c.i.karate.cucumber.CucumberRunner - init test class: class demo.DemoTest
11:57:50.412 [main] DEBUG c.i.karate.cucumber.CucumberRunner - loading feature: /usr/src/app/target/test-classes/demo/features/get-token.feature
11:57:50.663 [main] DEBUG c.i.karate.cucumber.CucumberRunner - loading feature: /usr/src/app/target/test-classes/demo/features/make-request.feature
11:57:53.898 [main] INFO com.intuit.karate.ScriptBridge - karate.env system property was: null
11:57:54.867 [main] DEBUG c.i.k.h.a.RequestLoggingInterceptor -
1 > POST http://brentertainment.com/oauth2/lockdin/token
1 > Accept-Encoding: gzip,deflate
1 > Connection: Keep-Alive
1 > Content-Length: 96