> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project myproject: Failed to clean project: Failed to delete /home/automation/myproject/target/generated-test-sources/test-annotations -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project myproject: Failed to clean project: Failed to delete /home/automation/myproject/target/generated-test-sources/test-annotations
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to clean project: Failed to delete /home/automation/thanos/target/generated-test-sources/test-annotations
at org.apache.maven.plugin.clean.CleanMojo.execute (CleanMojo.java:215)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: java.io.IOException: Failed to delete /home/automation/myproject/target/generated-test-sources/test-annotations
at org.apache.maven.plugin.clean.Cleaner.delete (Cleaner.java:249)
at org.apache.maven.plugin.clean.Cleaner.delete (Cleaner.java:191)
at org.apache.maven.plugin.clean.Cleaner.delete (Cleaner.java:158)
at org.apache.maven.plugin.clean.Cleaner.delete (Cleaner.java:158)
at org.apache.maven.plugin.clean.Cleaner.delete (Cleaner.java:117)
at org.apache.maven.plugin.clean.CleanMojo.execute (CleanMojo.java:193)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
The command '/bin/sh -c cd /home/automation/myproject/ && mvn clean test-compile -e' returned a non-zero code: 1
Мне нужно выполнить свои тесты Selenium в контейнерах Docker. Я знаю, что Selenium предоставляет контейнеры-концентраторы и узлы, но мне нужно написать свой собственный Dockerfile, который будет создавать контейнер, который будет выполнять тесты без конфигурации сетки. В принципе, я не могу использовать сетку по некоторым причинам. Я написал Dockerfile. Это терпит неудачу на этапе сборки и говорит, что не смог очистить проект.
Я попытался открыть Firefox и Chrome без добавления какого-либо пользователя, т.е. попытался выполнить через пользователя root, но это не сработало. Затем я добавил пользователя, и все равно он не работает. Похоже, разрешение предоставлено. Пожалуйста, укажите мне, где требуется разрешение и какой это? Ниже мой Dockerfile.
FROM ubuntu:latest
LABEL name="Project short intro" \
author="TAFSEER HAIDER" \
version="1.0" \
description="my project description"
# Install Java JDK8, Maven, and Wget
RUN apt-get update \
&& apt-get install firefox -y \
&& apt-get -y install openjdk-8-jdk \
&& apt-get install -y maven \
&& apt-get install -y wget \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/ /tmp/* /var/tmp/*
# Install Chrome
RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN dpkg -i google-chrome-stable_current_amd64.deb; apt-get -fy install
# Add a user for running applications.
RUN apt-get update && apt-get install sudo -y \
&& adduser --disabled-password --gecos '' automation \
&& adduser automation sudo \
&& echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/ /tmp/* /var/tmp/*
USER automation
# Copy myproject project to the specified directory in containerized Ubuntu Linux
COPY . /home/automation/myproject/
# Set working directory
WORKDIR /home/automation/myproject/
# Clean & compile myproject
RUN cd /home/automation/myproject/ && mvn clean test-compile -e
# Execute tests on microservices and fronted GUI by specifying the required test suite file
CMD ["mvn", "failsafe:integration-test", "-DtestSuite=frontend.xml"]
Он должен выполнить мои тесты в режиме без головы.
2 ответа
Похоже, ваш automation
пользователь не имеет записи в Linux разрешение, поэтому он не может удалить папку target
во время Maven clean
фаза
Измените эту строку:
COPY . /home/automation/myproject/
К этому:
COPY --chown=automation . /home/automation/myproject/
Я также не вижу никакой реальной или конфигурации виртуального дисплея в вашем файле Docker, надеюсь, вы пройдете {{ X0}} аргументы для инициализации браузера, иначе ваш тест не будет работать.
Также обязательно следуйте параллельным тестам - рекомендациям, в частности:
- Используйте ThreadLocal для хранения ваших экземпляров WebDriver и переменные, которые не должны быть глобальными и общими для потоков
- Не используйте статические методы и поля
- Убедитесь, что ваши тесты независимы, повторяемы и стабильны
Возможно, у пользователя автоматизации нет прав на удаление какого-либо файла, я видел, как вы используете пользовательский контекст автоматизации для копирования файла.
COPY . /home/automation/myproject/
Но я увидел другую ошибку в папке / home / Automation / Thanos ....
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to clean project: Failed to delete /home/automation/thanos/target/generated-test-sources/test-annotations
Вы можете попытаться изменить владельца или права доступа к файлу для вашего пользователя.
chown -R $YOUR_USER /home/automation/
Похожие вопросы
Новые вопросы
selenium-webdriver
Selenium WebDriver предоставляет API WebDriver для управления браузерами на разных языках программирования («языковые привязки»). При использовании этого тега также добавьте тег для языка программирования, который вы используете.