커밋이 Gitlab.com의 리포지토리에 푸시 될 때마다 Django 프로젝트에서 GitLab CI를 실행 (공유 러너 사용)하도록 노력하고 있습니다.
gitlab-ci.yml :
image: python:3.8.5
services:
- selenium/standalone-chrome:latest
cache:
paths:
- ~/.cache/pip/
before_script:
- python -V
- python -m pip install --force-reinstall pip==18.1
- pip install -r requirements.txt
test:
script:
- python manage.py test
tests.py :
from django.test import TestCase
from django.test import LiveServerTestCase
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
@override_settings(DEBUG=True)
class CreateNewProjectTestCase(LiveServerTestCase):
def setUp(self):
selenium_url = 'http://selenium__standalone-chrome:4444/wd/hub'
self.selenium = webdriver.Remote(
command_executor=selenium_url,
desired_capabilities=DesiredCapabilities.CHROME)
super(CreateNewProjectTestCase, self).setUp()
def test_create(self):
selenium = self.selenium
selenium.get(self.live_server_url)
그러나 파이프 라인 작업이 실행되면에 다음 오류 (연결 거부 됨)가 표시되어 selenium.get(self.live_server_url)
작업이 실패합니다.
Traceback (most recent call last):
File "/builds/uchem/projectmanagment-django-heroku/projects/tests.py", line 54, in test_create
selenium.get(self.live_server_url)
File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_CONNECTION_REFUSED
(Session info: chrome=86.0.4240.75)
내가 놓친 것이 있습니까? URL이 정확하다고 생각하고 이와 유사한 답변을 보았습니다.
이 질문은 비슷합니다 이것 만 gitlab-ci.yaml 다른 아직 정확히 때문이다.
이 튜토리얼 에서했던 것처럼 , standalone-chrome:3.141.59-oxygen
대신 특정 버전의 Chrome ( ) 을 지정하여 작동하도록 관리했습니다 standalone-chrome:latest
.
나는 이것이 왜 작동하는지 전혀 모른다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다