testcafe 2.3.1-rc.2 → 2.4.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/LICENSE +1 -1
  3. package/README.md +40 -46
  4. package/lib/api/test-controller/execution-context.js +4 -2
  5. package/lib/browser/connection/gateway.js +43 -1
  6. package/lib/browser/connection/index.js +24 -10
  7. package/lib/browser/connection/service-routes.js +3 -1
  8. package/lib/browser/provider/built-in/dedicated/chrome/index.js +19 -5
  9. package/lib/browser/provider/index.js +4 -1
  10. package/lib/client/automation/deps/hammerhead.js +24 -0
  11. package/lib/client/automation/deps/testcafe-core.js +24 -0
  12. package/lib/client/automation/index.js +251 -54
  13. package/lib/client/automation/index.min.js +1 -1
  14. package/lib/client/automation/playback/press/get-key-info.js +44 -0
  15. package/lib/client/automation/playback/press/utils.js +142 -0
  16. package/lib/client/automation/utils/get-key-code.js +15 -0
  17. package/lib/client/automation/utils/get-key-identifier.js +14 -0
  18. package/lib/client/automation/utils/is-letter.js +7 -0
  19. package/lib/client/automation/utils/key-identifier-maps.js +93 -0
  20. package/lib/client/browser/idle-page/index.js +7 -2
  21. package/lib/client/core/index.js +46 -3
  22. package/lib/client/core/index.min.js +1 -1
  23. package/lib/client/driver/index.js +45 -17
  24. package/lib/client/driver/index.min.js +1 -1
  25. package/lib/client/test-run/index.js.mustache +34 -30
  26. package/lib/client/ui/index.js +3230 -48
  27. package/lib/client/ui/index.min.js +1 -1
  28. package/lib/client/ui/sprite.svg +15 -0
  29. package/lib/client/ui/styles.css +183 -41
  30. package/lib/live/test-runner.js +4 -2
  31. package/lib/proxyless/api-base.js +3 -2
  32. package/lib/proxyless/client/event-descriptor.js +67 -0
  33. package/lib/proxyless/client/input.js +36 -0
  34. package/lib/proxyless/client/key-press/utils.js +31 -0
  35. package/lib/proxyless/client/types.js +1 -1
  36. package/lib/proxyless/client/utils.js +32 -2
  37. package/lib/proxyless/cookie-provider.js +31 -3
  38. package/lib/proxyless/errors.js +20 -0
  39. package/lib/proxyless/index.js +2 -10
  40. package/lib/proxyless/request-pipeline/index.js +32 -3
  41. package/lib/proxyless/resource-injector.js +5 -4
  42. package/lib/proxyless/types.js +3 -2
  43. package/lib/proxyless/utils/cdp.js +4 -3
  44. package/lib/reporter/index.js +2 -1
  45. package/lib/runner/bootstrapper.js +8 -1
  46. package/lib/runner/index.js +57 -44
  47. package/lib/shared/utils/is-file-protocol.js +2 -2
  48. package/lib/test-run/commands/actions.js +2 -2
  49. package/lib/test-run/cookies/base.js +4 -1
  50. package/lib/test-run/cookies/provider.js +9 -2
  51. package/lib/test-run/execute-js-expression/index.js +4 -2
  52. package/lib/test-run/index.js +17 -12
  53. package/lib/test-run/request/create-request-options.js +23 -12
  54. package/lib/test-run/request/send.js +2 -3
  55. package/lib/utils/check-is-vm.js +58 -0
  56. package/package.json +9 -6
  57. package/lib/proxyless/client/event-simulator.js +0 -40
@@ -13,40 +13,44 @@
13
13
  if (proxyless)
14
14
  origin = {{{domain}}};
15
15
 
16
- var testRunId = {{{testRunId}}};
17
- var browserId = {{{browserId}}};
18
- var activeWindowId = {{{activeWindowId}}};
19
- var selectorTimeout = {{{selectorTimeout}}};
20
- var pageLoadTimeout = {{{pageLoadTimeout}}};
21
- var childWindowReadyTimeout = {{{childWindowReadyTimeout}}};
22
- var retryTestPages = {{{retryTestPages}}};
23
- var speed = {{{speed}}};
24
- var browserHeartbeatUrl = origin + {{{browserHeartbeatRelativeUrl}}};
25
- var browserStatusUrl = origin + {{{browserStatusRelativeUrl}}};
26
- var browserStatusDoneUrl = origin + {{{browserStatusDoneRelativeUrl}}};
27
- var browserIdleUrl = origin + {{{browserIdleRelativeUrl}}};
28
- var browserOpenFileProtocolUrl = origin + {{{browserOpenFileProtocolRelativeUrl}}};
29
- var browserActiveWindowIdUrl = origin + {{{browserActiveWindowIdUrl}}};
30
- var browserCloseWindowUrl = origin + {{{browserCloseWindowUrl}}};
31
- var browserDispatchProxylessEventUrl = origin + {{{browserDispatchProxylessEventRelativeUrl}}};
32
- var skipJsErrors = {{{skipJsErrors}}};
33
- var dialogHandler = {{{dialogHandler}}};
34
- var userAgent = {{{userAgent}}};
35
- var fixtureName = {{{fixtureName}}};
36
- var testName = {{{testName}}};
37
- var canUseDefaultWindowActions = {{{canUseDefaultWindowActions}}};
16
+ var testRunId = {{{testRunId}}};
17
+ var browserId = {{{browserId}}};
18
+ var activeWindowId = {{{activeWindowId}}};
19
+ var selectorTimeout = {{{selectorTimeout}}};
20
+ var pageLoadTimeout = {{{pageLoadTimeout}}};
21
+ var childWindowReadyTimeout = {{{childWindowReadyTimeout}}};
22
+ var retryTestPages = {{{retryTestPages}}};
23
+ var speed = {{{speed}}};
24
+ var browserHeartbeatUrl = origin + {{{browserHeartbeatRelativeUrl}}};
25
+ var browserStatusUrl = origin + {{{browserStatusRelativeUrl}}};
26
+ var browserStatusDoneUrl = origin + {{{browserStatusDoneRelativeUrl}}};
27
+ var browserIdleUrl = origin + {{{browserIdleRelativeUrl}}};
28
+ var browserOpenFileProtocolUrl = origin + {{{browserOpenFileProtocolRelativeUrl}}};
29
+ var browserActiveWindowIdUrl = origin + {{{browserActiveWindowIdUrl}}};
30
+ var browserCloseWindowUrl = origin + {{{browserCloseWindowUrl}}};
31
+ var browserDispatchProxylessEventUrl = origin + {{{browserDispatchProxylessEventRelativeUrl}}};
32
+ var browserDispatchProxylessEventSequenceUrl = origin + {{{browserDispatchProxylessEventSequenceRelativeUrl}}};
33
+ var browserParseSelectorUrl = origin + {{{browserParseSelectorUrl}}};
34
+ var skipJsErrors = {{{skipJsErrors}}};
35
+ var dialogHandler = {{{dialogHandler}}};
36
+ var userAgent = {{{userAgent}}};
37
+ var fixtureName = {{{fixtureName}}};
38
+ var testName = {{{testName}}};
39
+ var canUseDefaultWindowActions = {{{canUseDefaultWindowActions}}};
38
40
 
39
41
  var ClientDriver = window['%testCafeDriver%'];
40
42
  var driver = new ClientDriver(testRunId,
41
43
  {
42
- heartbeat: browserHeartbeatUrl,
43
- status: browserStatusUrl,
44
- statusDone: browserStatusDoneUrl,
45
- idle: browserIdleUrl,
46
- activeWindowId: browserActiveWindowIdUrl,
47
- closeWindow: browserCloseWindowUrl,
48
- openFileProtocolUrl: browserOpenFileProtocolUrl,
49
- dispatchProxylessEvent: browserDispatchProxylessEventUrl,
44
+ heartbeat: browserHeartbeatUrl,
45
+ status: browserStatusUrl,
46
+ statusDone: browserStatusDoneUrl,
47
+ idle: browserIdleUrl,
48
+ activeWindowId: browserActiveWindowIdUrl,
49
+ closeWindow: browserCloseWindowUrl,
50
+ openFileProtocolUrl: browserOpenFileProtocolUrl,
51
+ dispatchProxylessEvent: browserDispatchProxylessEventUrl,
52
+ dispatchProxylessEventSequence: browserDispatchProxylessEventSequenceUrl,
53
+ parseSelector: browserParseSelectorUrl,
50
54
  },
51
55
  {
52
56
  userAgent: userAgent,