browser.test.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import SeleniumHelper from '../helpers/selenium-helper';
  2. const {SAUCE_USERNAME, SAUCE_ACCESS_KEY, SMOKE_URL} = process.env;
  3. const {
  4. getSauceDriver,
  5. findByText
  6. } = new SeleniumHelper();
  7. // Make the default timeout longer, Sauce tests take ~30s
  8. jasmine.DEFAULT_TIMEOUT_INTERVAL = 60 * 1000; // eslint-disable-line
  9. const SUPPORTED_MESSAGE = 'Welcome to the Scratch 3.0 Beta';
  10. const UNSUPPORTED_MESSAGE = 'Scratch 3.0 does not support Internet Explorer';
  11. // Driver configs can be generated with the Sauce Platform Configurator
  12. // https://wiki.saucelabs.com/display/DOCS/Platform+Configurator
  13. describe('Smoke tests on older browsers', () => {
  14. let driver;
  15. afterEach(async () => await (driver && driver.quit()));
  16. test('Credentials should be provided', () => {
  17. expect(SAUCE_USERNAME && SAUCE_ACCESS_KEY && SMOKE_URL).toBeTruthy();
  18. });
  19. test('IE 11 should be unsupported', async () => {
  20. const driverConfig = {
  21. browserName: 'internet explorer',
  22. platform: 'Windows 10',
  23. version: '11.103'
  24. };
  25. driver = await getSauceDriver(
  26. process.env.SAUCE_USERNAME,
  27. process.env.SAUCE_ACCESS_KEY,
  28. driverConfig);
  29. await driver.get(process.env.SMOKE_URL);
  30. const el = await findByText(UNSUPPORTED_MESSAGE);
  31. const isDisplayed = await el.isDisplayed();
  32. return expect(isDisplayed).toEqual(true);
  33. });
  34. test('Safari 9 should be supported', async () => {
  35. const driverConfig = {
  36. browserName: 'safari',
  37. platform: 'OS X 10.11',
  38. version: '9.0'
  39. };
  40. driver = await getSauceDriver(
  41. process.env.SAUCE_USERNAME,
  42. process.env.SAUCE_ACCESS_KEY,
  43. driverConfig);
  44. await driver.get(process.env.SMOKE_URL);
  45. const el = await findByText(SUPPORTED_MESSAGE);
  46. const isDisplayed = await el.isDisplayed();
  47. return expect(isDisplayed).toEqual(true);
  48. });
  49. test('Safari 10 should be supported', async () => {
  50. const driverConfig = {
  51. browserName: 'safari',
  52. platform: 'OS X 10.11',
  53. version: '10.0'
  54. };
  55. driver = await getSauceDriver(
  56. process.env.SAUCE_USERNAME,
  57. process.env.SAUCE_ACCESS_KEY,
  58. driverConfig);
  59. await driver.get(process.env.SMOKE_URL);
  60. const el = await findByText(SUPPORTED_MESSAGE);
  61. const isDisplayed = await el.isDisplayed();
  62. return expect(isDisplayed).toEqual(true);
  63. });
  64. });