Gitlab 文档明确指出CI_JOB_TOKEN 是容器注册表 API 的有效授权。但是,为什么在空的测试管道中运行以下代码时会产生 403 禁止呢?
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" $CI_API_V4_URL/projects/$CI_PROJECT_ID/registry/repositories/
Run Code Online (Sandbox Code Playgroud)
即使 JOB_TOKEN 继承了管道作者的权限,它也应该可以工作,因为作者(我)可以使用我的个人 API 令牌访问上述 API。
我缺少什么?我可以做什么来调试它?
我知道怎么说
gradle test --tests mypackage.MyTest
Run Code Online (Sandbox Code Playgroud)
但如何指定多个呢?
gradle test --tests mypackage.MyTest,mypackage.model.ModelTest,BasicTests
Run Code Online (Sandbox Code Playgroud)
这似乎只是随机运行其中一项测试。
gradle test --tests mypackage.MyTest mypackage.model.ModelTest BasicTests
Run Code Online (Sandbox Code Playgroud)
这告诉我
在根项目“myproject”中找不到任务“mypackage.model.ModelTest”。
我阅读了很多手册和教程(以及一些 SO 帖子),但发现没有明确提及答案。但我看到有人传递 --tests "somepackage.*" 作为参数,所以我认为空格周围的引号可能会有所帮助。
gradle test --tests "mypackage.MyTest mypackage.model.ModelTest BasicTests"
Run Code Online (Sandbox Code Playgroud)
这不会很快失败,但不幸的是只运行列表中的第一个测试。
所以我想我只是被“--tests”中的复数形式误导了,并且没有办法真正给出一个列表,对吗?
我刚刚看到以下代码:
public static void initElements(WebDriver driver, Object page) {
final WebDriver driverRef = driver;
initElements(new DefaultElementLocatorFactory(driverRef), page);
}
Run Code Online (Sandbox Code Playgroud)
有人能告诉我,写这个有什么好处而不是:
public static void initElements(WebDriver driver, Object page) {
initElements(new DefaultElementLocatorFactory(driver), page);
}
Run Code Online (Sandbox Code Playgroud)
我希望我的第一个问题不是没有意义和/或愚蠢,而且你很乐意回答它!
(代码引自org.openqa.selenium.support.PageFactory ;版权所有2007-2009 WebDriver提交者;版权所有2007-2009 Google Inc.)