有谁知道如何将 Selenium Docker 镜像配置为 GitLab-CI 中的服务,以便将集成测试作为 CI 管道的一部分运行?
我正在测试 Django 应用程序,并且我已经设置了连接到 Selenium 的测试。
class SeleniumTestCase(LiveServerTestCase):
host = os.environ.get('LIVE_TEST_CASE_HOST', os.environ('HOSTNAME'))
@classmethod
def setUpClass(cls):
super().setUpClass()
options = webdriver.FirefoxOptions()
options.headless = True
cls.browser = webdriver.Remote(
'http://selenium:4444/wd/hub',
webdriver.DesiredCapabilities.FIREFOX,
options=options,
)
Run Code Online (Sandbox Code Playgroud)
我已经使用本地配置了 Selenium Docker 镜像docker-compose,效果很好。
selenium:
image: selenium/hub:3.141.59-titanium
firefox:
image: selenium/node-firefox:3.141.59-titanium
volumes:
- /dev/shm:/dev/shm
depends_on:
- selenium
environment:
- HUB_HOST=selenium
- HUB_PORT=4444
- START_XVFB=false
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用 Docker 执行器为 GitLab-CI 创建类似的配置时,我得到了一个WebDriverException.
test:
stage: test
image: $CMS_IMAGE_NAME
variables:
HUB_HOST: selenium
HUB_PORT: 4444 …Run Code Online (Sandbox Code Playgroud) 似乎您应该能够使用全局数据文件和数据级联为 11ty 站点中的所有页面指定后备布局,但我不知道如何。
我在多个位置尝试了以下 JSON:
{
"layout": "layouts/page.njk"
}
Run Code Online (Sandbox Code Playgroud)
我已经把这个 JSON 放在:
到目前为止没有运气。
我想更改Page管理界面中某些字段的帮助文本和标签。似乎通常会FieldPanel从模型字段中获取标签和帮助文本,但是由于我想更改模型上字段的这些值Page(特别是title和search_description),因此我无法在字段本身上设置verbose_name和help_text
我尝试将heading和help_text关键字参数传递给FieldPanel,但我仍然在管理界面中看到默认标签和帮助文本。
class MyPage(Page):
content_panels = [
FieldPanel('title', heading='Name', classname='full'),
FieldPanel('search_description', heading='Description',
classname='full',
help_text='Description used in indices and search results')
]
Run Code Online (Sandbox Code Playgroud) 我有一个抽象Page模型,它定义了一种页面类型的公共字段,然后我将其子类化以限制允许的子页面类型。我希望这个抽象模型的所有子类都默认使用template抽象模型中定义的,但似乎没有。
class BaseListing(Page):
empty_message = RichTextField()
intro = RichTextField()
template = 'listing.html'
class Meta:
abstract = True
class BlogListing(BaseListing):
subpage_types = ['BlogPost']
Run Code Online (Sandbox Code Playgroud)
我希望 wagtail 默认使用模型中定义的模板BaseListing,但它会寻找blog_listing.html模板,除非我像这样专门template在BlogListing模型上设置:
class BlogListing(BaseListing):
subpage_types = ['BlogPost']
template = 'listing.html'
Run Code Online (Sandbox Code Playgroud)