Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This is where we'll put the code to get around the tests.
- const preparePageForTests = async page => {
- await page.setUserAgent(
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
- )
- await page.setViewport({ width: 1366, height: 768 })
- /* await page.evaluateOnNewDocument(() => {
- Object.defineProperty(navigator, 'webdriver', {
- get: () => false,
- })
- }) */
- await page.evaluateOnNewDocument(() => {
- window.navigator = {}
- })
- // Pass the Chrome Test.
- await page.evaluateOnNewDocument(() => {
- // We can mock this in as much depth as we need for the test.
- window.navigator.chrome = {
- runtime: {},
- // etc.
- }
- })
- await page.evaluateOnNewDocument(() => {
- const originalQuery = window.navigator.permissions.query
- return (window.navigator.permissions.query = parameters =>
- parameters.name === 'notifications'
- ? Promise.resolve({ state: Notification.permission })
- : originalQuery(parameters))
- })
- await page.evaluateOnNewDocument(() => {
- // Overwrite the `plugins` property to use a custom getter.
- Object.defineProperty(navigator, 'languages', {
- get: () => ['en-US', 'en'],
- })
- })
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement