browser-tests.yml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. parameters:
  2. name: ''
  3. vmImage: ''
  4. targetBrowser: ''
  5. xvfb: false
  6. jobs:
  7. - job: ${{ parameters.name }}
  8. displayName: ${{ parameters.displayName }}
  9. pool:
  10. vmImage: ${{ parameters.vmImage }}
  11. variables:
  12. TARGET_BROWSER: ${{ parameters.targetBrowser }}
  13. dependsOn: Build
  14. condition: succeeded()
  15. steps:
  16. - task: NodeTool@0
  17. inputs:
  18. versionSpec: '10.x'
  19. displayName: 'Install Node.js'
  20. - task: Npm@0
  21. inputs:
  22. command: install
  23. - task: DownloadBuildArtifacts@0
  24. displayName: 'Download library'
  25. inputs:
  26. artifactName: dist
  27. downloadPath: $(System.DefaultWorkingDirectory)
  28. - task: DownloadBuildArtifacts@0
  29. displayName: 'Download testrunner'
  30. inputs:
  31. artifactName: build
  32. downloadPath: $(System.DefaultWorkingDirectory)
  33. - ${{ if not(eq(parameters.xvfb, 'true')) }}:
  34. - script: npm run karma
  35. displayName: 'Run browser tests'
  36. - ${{ if eq(parameters.xvfb, 'true') }}:
  37. - script: Xvfb :99 &
  38. displayName: 'Start Xvfb'
  39. - script: DISPLAY=:99 npm run karma
  40. displayName: 'Run browser tests'
  41. - task: PublishTestResults@2
  42. condition: succeededOrFailed()
  43. inputs:
  44. testRunner: JUnit
  45. testResultsFiles: 'tmp/junit/*.xml'
  46. - task: PublishBuildArtifacts@1
  47. displayName: Upload Screenshots
  48. condition: succeededOrFailed()
  49. inputs:
  50. PathtoPublish: 'tmp/reftests'
  51. artifactName: ReftestResults