protractor.conf.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. // Protractor configuration file, see link for more information
  2. // https://github.com/angular/protractor/blob/master/lib/config.ts
  3. const {SpecReporter} = require('jasmine-spec-reporter')
  4. exports.config = {
  5. allScriptsTimeout: 25000,
  6. specs: ['./src/**/*.e2e-spec.ts'],
  7. seleniumAddress: 'http://hub-cloud.browserstack.com/wd/hub',
  8. commonCapabilities: {
  9. 'browserstack.user': process.env.BROWSERSTACK_USER,
  10. 'browserstack.key': process.env.BROWSERSTACK_KEY,
  11. 'browserstack.local': true,
  12. project: 'PeerTube'
  13. },
  14. multiCapabilities: [
  15. {
  16. browserName: 'Chrome',
  17. name: 'Latest Chrome Desktop',
  18. resolution: '1280x1024'
  19. },
  20. {
  21. browserName: 'Safari',
  22. version: '11.1',
  23. name: 'Safari Desktop',
  24. resolution: '1280x1024'
  25. },
  26. {
  27. browserName: 'Firefox',
  28. version: '60', // ESR,
  29. name: 'Firefox ESR Desktop',
  30. resolution: '1280x1024'
  31. },
  32. {
  33. browserName: 'Firefox',
  34. name: 'Latest Firefox Desktop',
  35. resolution: '1280x1024'
  36. },
  37. {
  38. browserName: 'Edge',
  39. name: 'Latest Edge Desktop',
  40. resolution: '1280x1024'
  41. },
  42. {
  43. browserName: 'Chrome',
  44. device: 'Google Nexus 6',
  45. realMobile: 'true',
  46. os_version: '5.0',
  47. name: 'Latest Chrome Android'
  48. },
  49. {
  50. browserName: 'Safari',
  51. device: 'iPhone SE',
  52. realMobile: 'true',
  53. os_version: '11.2',
  54. name: 'Latest Safari iPhone'
  55. }
  56. ],
  57. // maxSessions: 1,
  58. // BrowserStack compatible ports: https://www.browserstack.com/question/664
  59. baseUrl: 'http://localhost:3333/',
  60. framework: 'jasmine',
  61. jasmineNodeOpts: {
  62. showColors: true,
  63. defaultTimeoutInterval: 45000,
  64. print: function() {}
  65. },
  66. onPrepare() {
  67. require('ts-node').register({
  68. project: require('path').join(__dirname, './tsconfig.e2e.json')
  69. })
  70. jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }))
  71. }
  72. }
  73. exports.config.multiCapabilities.forEach(function (caps) {
  74. for (var i in exports.config.commonCapabilities) caps[i] = caps[i] || exports.config.commonCapabilities[i]
  75. })