很长一段时间在 Azure DevOps 运行 中使用 ng e2e --configuration=e2e
ng e2e --configuration=e2e in Azure DevOps running for a long time
我有一个 angular 网页,我试图在其中 运行 在 Azure DevOps 管道中进行 E2E 测试。
但是我的端到端测试 运行ning 了很长时间,没有产生任何结果。
不确定我遗漏了什么,我在下面分享了我的配置。
angular.json
"e2e": {
"fileReplacements": [
{
"replace": "src/app/core/services/auth.service.ts",
"with": "src/app/core/services/auth.service.mock.ts"
}
]
}
package.json
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"build-prod": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e --configuration=e2e"
}
protractor.conf.js
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: ["--incognito"]
}
},
chromeDriver: '../node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_87.0.4280.88',
baseUrl: 'http://localhost:4200/login',
framework: 'custom',
ignoreUncaughtExceptions: true,
frameworkPath: require.resolve('protractor-cucumber-framework'),
我的管道 Yml:
- task: Npm@1
displayName: 'npm Install'
inputs:
command: 'install'
workingDir: './'
- script: |
$(Agent.BuildDirectory)/s/node_modules/protractor/bin/webdriver-manager update --versions.chrome=chromedriver_87.0.4280.88
- task: Npm@1
displayName: 'E2E Testing'
inputs:
command: 'custom'
workingDir: './'
customCommand: 'run e2e'
在运行自动化测试时,推荐使用浏览器的headless模式
因此您可以在 protractor.conf.js
文件中添加 args: ["--headless", "--disable-gpu", "--incognito"]
。
e2e 测试可能需要很长时间才能完成,因为浏览器需要加载页面上的元素。因此,在某些情况下,可能会因为无法加载元素而卡住。无头测试摆脱了这种加载时间,使您可以显着缩短测试时间。在我们的无头测试中,我们发现测试执行时间减少了 30%。
我有一个 angular 网页,我试图在其中 运行 在 Azure DevOps 管道中进行 E2E 测试。
但是我的端到端测试 运行ning 了很长时间,没有产生任何结果。
不确定我遗漏了什么,我在下面分享了我的配置。
angular.json
"e2e": {
"fileReplacements": [
{
"replace": "src/app/core/services/auth.service.ts",
"with": "src/app/core/services/auth.service.mock.ts"
}
]
}
package.json
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"build-prod": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e --configuration=e2e"
}
protractor.conf.js
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: ["--incognito"]
}
},
chromeDriver: '../node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_87.0.4280.88',
baseUrl: 'http://localhost:4200/login',
framework: 'custom',
ignoreUncaughtExceptions: true,
frameworkPath: require.resolve('protractor-cucumber-framework'),
我的管道 Yml:
- task: Npm@1
displayName: 'npm Install'
inputs:
command: 'install'
workingDir: './'
- script: |
$(Agent.BuildDirectory)/s/node_modules/protractor/bin/webdriver-manager update --versions.chrome=chromedriver_87.0.4280.88
- task: Npm@1
displayName: 'E2E Testing'
inputs:
command: 'custom'
workingDir: './'
customCommand: 'run e2e'
在运行自动化测试时,推荐使用浏览器的headless模式
因此您可以在 protractor.conf.js
文件中添加 args: ["--headless", "--disable-gpu", "--incognito"]
。
e2e 测试可能需要很长时间才能完成,因为浏览器需要加载页面上的元素。因此,在某些情况下,可能会因为无法加载元素而卡住。无头测试摆脱了这种加载时间,使您可以显着缩短测试时间。在我们的无头测试中,我们发现测试执行时间减少了 30%。