Advertisement
Guest User

Untitled

a guest
May 18th, 2019
1,669
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. // This is where we'll put the code to get around the tests.
  2. const preparePageForTests = async page => {
  3. await page.setUserAgent(
  4. 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
  5. )
  6.  
  7. await page.setViewport({ width: 1366, height: 768 })
  8.  
  9. /* await page.evaluateOnNewDocument(() => {
  10. Object.defineProperty(navigator, 'webdriver', {
  11. get: () => false,
  12. })
  13. }) */
  14.  
  15. await page.evaluateOnNewDocument(() => {
  16. window.navigator = {}
  17. })
  18.  
  19. // Pass the Chrome Test.
  20. await page.evaluateOnNewDocument(() => {
  21. // We can mock this in as much depth as we need for the test.
  22. window.navigator.chrome = {
  23. runtime: {},
  24. // etc.
  25. }
  26. })
  27.  
  28. await page.evaluateOnNewDocument(() => {
  29. const originalQuery = window.navigator.permissions.query
  30. return (window.navigator.permissions.query = parameters =>
  31. parameters.name === 'notifications'
  32. ? Promise.resolve({ state: Notification.permission })
  33. : originalQuery(parameters))
  34. })
  35.  
  36. await page.evaluateOnNewDocument(() => {
  37. // Overwrite the `plugins` property to use a custom getter.
  38. Object.defineProperty(navigator, 'languages', {
  39. get: () => ['en-US', 'en'],
  40. })
  41. })
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement