Я пытаюсь запустить автоматические тесты в пакетном файле Windows в сборке jenkins. Он настроен на периодическое извлечение исходного кода из gitlab, и теперь я пытаюсь настроить его для запуска моей автоматизированной среды тестирования.
У меня возникла следующая ошибка:
python: невозможно открыть файл 'MainRunner.py': [Errno 2] Нет такого файла или каталога
Я понимаю, что эта проблема обычно возникает из-за того, что она находится не в той папке, где файл не может быть найден, или из-за ошибок разрешения файла.
Вот пакетный скрипт windows:
echo "begining build"
icacls * /reset /t /c /q
pip freeze > requirements.txt
echo "executing unit tests"
cd Test\unit\
dir
python MainRunner.py
python TestDrive.py
echo "build complete"
и вывод:
02:00:29 [Financial-Application] $ cmd /c call "C:\Program Files\Apache Software Foundation\Tomcat 9.0\temp\jenkins9213047334246424605.bat"
02:00:29
02:00:29 C:\Windows\system32\config\systemprofile\.jenkins\workspace\Financial-Application>echo "begining build"
02:00:29 "begining build"
02:00:29
02:00:29 C:\Windows\system32\config\systemprofile\.jenkins\workspace\Financial-Application>icacls * /reset /t /c /q
02:00:29 Successfully processed 589 files; Failed processing 0 files
02:00:29
02:00:29 C:\Windows\system32\config\systemprofile\.jenkins\workspace\Financial-Application>pip freeze 1>requirements.txt
02:00:30
02:00:30 C:\Windows\system32\config\systemprofile\.jenkins\workspace\Financial-Application>echo "executing unit tests"
02:00:30 "executing unit tests"
02:00:30
02:00:30 C:\Windows\system32\config\systemprofile\.jenkins\workspace\Financial-Application>cd Test\unit\
02:00:30
02:00:30 C:\Windows\System32\config\systemprofile\.jenkins\workspace\Financial-Application\Test\unit>dir
02:00:30 Volume in drive C has no label.
02:00:30 Volume Serial Number is 0219-9097
02:00:30
02:00:30 Directory of C:\Windows\System32\config\systemprofile\.jenkins\workspace\Financial-Application\Test\unit
02:00:30
02:00:30 06/25/2019 02:00 AM <DIR> .
02:00:30 06/25/2019 02:00 AM <DIR> ..
02:00:30 06/25/2019 02:00 AM 2,164 .coverage
02:00:30 06/14/2019 05:58 AM <DIR> data
02:00:30 06/14/2019 05:58 AM 693 MainRunner.py
02:00:30 06/22/2019 02:00 AM 2,624 TestDrive.py
02:00:30 06/22/2019 02:00 AM 7,316 TestSpreadsheet.py
02:00:30 06/25/2019 02:00 AM 9,652 TestWorksheet.py
02:00:30 5 File(s) 22,449 bytes
02:00:30 3 Dir(s) 1,069,314,711,552 bytes free
02:00:30
02:00:30 C:\Windows\System32\config\systemprofile\.jenkins\workspace\Financial-Application\Test\unit>python MainRunner.py
02:00:30 python: can't open file 'MainRunner.py': [Errno 2] No such file or directory
02:00:30
02:00:30 C:\Windows\System32\config\systemprofile\.jenkins\workspace\Financial-Application\Test\unit>python TestDrive.py
02:00:30 python: can't open file 'TestDrive.py': [Errno 2] No such file or directory
02:00:30
02:00:30 C:\Windows\System32\config\systemprofile\.jenkins\workspace\Financial-Application\Test\unit>echo "build complete"
02:00:30 "build complete"
02:00:30
02:00:30 C:\Windows\System32\config\systemprofile\.jenkins\workspace\Financial-Application\Test\unit>exit 2
02:00:30 Build step 'Execute Windows batch command' marked build as failure
02:00:31 Build did not succeed and the project is configured to only push after a successful build, so no pushing will occur.
02:00:31 Finished: FAILURE
как вы видите, я захожу в соответствующую папку и запускаю команду DIR, и файл найден. Так что оставляет права доступа к файлу. Я не знаю, существует ли специальный способ изменения разрешений в jenkins, но я действительно удостоверился, что фактические папки в jenkins в моей файловой системе для рабочей области имеют разрешения на чтение / запись / выполнение.
Я также запускаю команду ICACLS, чтобы попытаться исправить права доступа к файлу, однако это не помогает.