Skip to content
Merged
40 changes: 40 additions & 0 deletions .github/workflows/cross-browser-testing-beta.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: 'BrowserStack Beta Browsers Test'
on: [push, workflow_dispatch]

jobs:
browserstack-beta-test:
name: 'BrowserStack Beta Browsers Test'
runs-on: ubuntu-latest
steps:
- name: 'BrowserStack Env Setup'
uses: browserstack/github-actions/setup-env@master
with:
username: ${{ secrets.BROWSERSTACK_USERNAME }}
access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}

- name: 'BrowserStack Local Tunnel Setup'
uses: browserstack/github-actions/setup-local@master
with:
local-testing: start
local-identifier: random

- name: 'Checkout the repository'
uses: actions/checkout@v3

- name: 'Run NPM CI'
run: npm ci

- name: Run Build IIFE
run: npm run build:iife

- name: 'Run Build test bundle'
run: npm run build:test-bundle

- name: 'Run BrowserStack Beta Browsers Test'
run: npm run test:browserstack-beta

- name: 'BrowserStackLocal Stop'
uses: browserstack/github-actions/setup-local@master
with:
local-testing: stop

2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@
"test": "npm run build && npm run build:test-bundle && cross-env DEBUG=false karma start test/karma.config.js",
"test:browserstack": "karma start test/cross-browser-testing/browserstack.karma.config.js",
"test:browserstack:debug": "cross-env DEBUG=true karma start test/cross-browser-testing/browserstack.karma.config.js",
"test:browserstack-beta": "karma start test/cross-browser-testing/browserstack.karma.beta.config.js",
"test:browserstack-beta:debug": "cross-env DEBUG=true karma start test/cross-browser-testing/browserstack.karma.beta.config.js",
"test:debug": "cross-env DEBUG=true karma start test/karma.config.js",
"test:stub": "cross-env TESTTYPE=stub ENVIRONMENT=prod rollup --config rollup.test.config.js && karma start test/stub/karma.stub.config.js",
"test:integrations": "npm run test:requirejs && npm run test:integrations:cjs && npm run test:integrations:module",
Expand Down
6 changes: 1 addition & 5 deletions src/persistence.js
Original file line number Diff line number Diff line change
Expand Up @@ -949,11 +949,7 @@ export default function _Persistence(mpInstance) {
};

this.resetPersistence = function() {
removeLocalStorage(StorageNames.localStorageName);
removeLocalStorage(StorageNames.localStorageNameV3);
removeLocalStorage(StorageNames.localStorageNameV4);
removeLocalStorage(mpInstance._Store.storageName);
removeLocalStorage(StorageNames.localStorageProductsV4);
localStorage.clear();

self.expireCookies(StorageNames.cookieName);
self.expireCookies(StorageNames.cookieNameV2);
Expand Down
127 changes: 127 additions & 0 deletions test/cross-browser-testing/browserstack.karma.beta.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
const { DEBUG } = process.env;

const files = [
'../lib/geomock.js',
'../../dist/mparticle.js',
'../test-bundle.js',
];

let captureConsole = false;
let browserConsoleLogOptions = {};

if (DEBUG === 'true') {
browserConsoleLogOptions = {
level: 'log',
format: '%b %T: %m',
terminal: true,
};
captureConsole = true;
} else {
browserConsoleLogOptions = {
terminal: false,
};
}

const customLaunchers = {
bs_chrome_mac_tahoe_beta: {
base: 'BrowserStack',
browser: 'chrome',
browser_version: 'latest-beta',
os: 'OS X',
os_version: 'Tahoe' // macOS 26
},
bs_chrome_mac_sequoia_beta: {
base: 'BrowserStack',
browser: 'chrome',
browser_version: 'latest-beta',
os: 'OS X',
os_version: 'Sequoia' // macOS 15
},
bs_chrome_win_beta: {
base: 'BrowserStack',
browser: 'chrome',
browser_version: 'latest',
os: 'Windows',
os_version: '11'
},
bs_firefox_mac_tahoe_beta: {
base: 'BrowserStack',
browser: 'firefox',
browser_version: 'latest-beta',
os: 'OS X',
os_version: 'Tahoe' // macOS 26
},
bs_firefox_mac_sequoia_beta: {
base: 'BrowserStack',
browser: 'firefox',
browser_version: 'latest-beta',
os: 'OS X',
os_version: 'Sequoia' // macOS 15
},
bs_firefox_mac_catalina_beta: {
base: 'BrowserStack',
browser: 'firefox',
browser_version: 'latest-beta',
os: 'OS X',
os_version: 'Catalina' // macOS 10.15
},
bs_firefox_win_latest: {
base: 'BrowserStack',
browser: 'firefox',
browser_version: 'latest',
os: 'Windows',
os_version: '11',
},
bs_edge_mac_tahoe_beta: {
base: 'BrowserStack',
browser: 'edge',
browser_version: 'latest-beta',
os: 'OS X',
os_version: 'Tahoe' // macOS 26
},
bs_edge_mac_sequoia_beta: {
base: 'BrowserStack',
browser: 'edge',
browser_version: 'latest-beta',
os: 'OS X',
os_version: 'Sequoia' // macOS 15
},
bs_edge_win_beta: {
base: 'BrowserStack',
browser: 'edge',
browser_version: 'latest-beta',
os: 'Windows',
os_version: '11'
},
};

module.exports = function(config) {
config.set({
browserStack: {
username: process.env.BS_USERNAME,
accessKey: process.env.BS_ACCESS_KEY
},
autoWatch: false,
customLaunchers,
browsers: Object.keys(customLaunchers),
frameworks: ['mocha', 'should'],
files,
reporters: ['progress', 'junit'],
colors: true,
singleRun: true,
debug: true,
logLevel: config.LOG_INFO,
browserConsoleLogOptions,
client: {
captureConsole,
},
junitReporter: {
outputDir: 'reports/',
outputFile: 'test-karma-beta.xml',
},
browserDisconnectTimeout: 50000,
browserDisconnectTolerance: 5,
concurrency: 5,
});
};

Loading