【发布时间】:2021-03-05 10:39:18
【问题描述】:
我有一个这样的基本测试:
当我在本地做时:
from django.contrib.staticfiles.testing import StaticLiveServerTestCase
from selenium.webdriver.chrome.webdriver import WebDriver
from selenium import webdriver
class TestKundeSeite(StaticLiveServerTestCase):
@classmethod
def setUp(cls):
cls.browser = webdriver.Chrome(r'crm\tests\chromedriver.exe')
@classmethod
def tearDownClass(cls):
cls.browser.quit()
super().tearDownClass()
def test_kunde_anlegen(self):
self.browser.get('%s%s' % (self.live_server_url, '/crm/kunde_anlegen'))
vorname_input = self.browser.find_element_by_name("vorname")
vorname_input.send_keys('Max')
nachname_input = self.browser.find_element_by_name("nachname")
nachname_input.send_keys('Mustermann')
email_input = self.browser.find_element_by_name("email")
email_input.send_keys('max@hotmail.de')
telefon_input = self.browser.find_element_by_name("telefon")
telefon_input.send_keys('+4917666994073')
web_input = self.browser.find_element_by_name("web")
web_input.send_keys('max.de')
notiz_input = self.browser.find_element_by_name("notiz")
notiz_input.send_keys('Beispielnotiz')
self.browser.find_element_by_xpath('//input[@value="Speichern"]').click()
当我这样做时:
python manage.py test
效果很好。
但是当我将它推送到 Github 时,我在 Github Actions 中收到以下错误
selenium.common.exceptions.WebDriverException: Message: 'crm\tests\chromedriver.exe' executable needs to be in PATH.
我该如何克服这个问题?
【问题讨论】:
-
还是真实的?请显示 github-actions 的完整脚本。
-
我解决了这个问题:在setUp-function中,我添加了chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--headless') chrome_options.add_argument('-- disable-gpu')cls.browser = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options)
-
太棒了!我以你为荣。我找到了一个没有无头模式的解决方案。如果您有兴趣,可以添加作为答案:)
标签: python django selenium github github-actions