cyperful 0.2.0 → 0.3.0
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.
- checksums.yaml +4 -4
- data/lib/cyperful/driver.rb +4 -2
- data/lib/cyperful/framework_injections.rb +22 -0
- data/lib/cyperful/ui_server.rb +0 -9
- data/public/assets/index-DQa6Blo_.js +51 -0
- data/public/assets/index-DqywWqA7.css +1 -0
- data/public/assets/syntax-highlighter-worker-BezFv5DT.js +12 -0
- data/public/frame-agent.js +169 -104
- data/public/index.html +2 -2
- metadata +8 -8
- data/public/assets/index-Bcd7GDsE.js +0 -42
- data/public/assets/index-D7cO27Pa.css +0 -1
- data/public/assets/syntax-highlighter-worker-Cumko8SL.js +0 -2798
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 928af50672505bb877c08f2ef62533dee16149822b591eb0d854b28235fcd207
|
4
|
+
data.tar.gz: 8b3974789ec4d679fd6413fd5a8ac09b770e038487741871249da41815faeb1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '08d44698ee7d2e39c0b6cc36395d359983348e24378fa0f71a13c029d26cdeded6283828054498e524db52f39564214a33bb8f860ad857accaa4d22edd8c6a02'
|
7
|
+
data.tar.gz: a3aa8baf3c5d3a12747e316aeff713b834cc0ef8ac1a784ab24ffc2c405fb4f60908f8109b2b0a24a504e8d66a3d71e620ad6cd02c11b53c9734b04e005f8b12
|
data/lib/cyperful/driver.rb
CHANGED
@@ -207,7 +207,7 @@ class Cyperful::Driver
|
|
207
207
|
end
|
208
208
|
|
209
209
|
def print_steps
|
210
|
-
logger.
|
210
|
+
logger.puts("found #{@steps.length} steps:")
|
211
211
|
@steps.each_with_index do |step, i|
|
212
212
|
logger.plain(
|
213
213
|
" #{
|
@@ -498,7 +498,9 @@ class Cyperful::Driver
|
|
498
498
|
@ui_server.notify(nil) # `break` out of the `loop` (see `UiServer#socket_open`)
|
499
499
|
|
500
500
|
logger.puts "teardown complete. Waiting for command..."
|
501
|
-
|
501
|
+
|
502
|
+
# NOTE: MiniTest will raise an `Interrupt` if the user Ctrl+C's here
|
503
|
+
# TODO: can't seem to capture Rspec Ctrl+C's :(
|
502
504
|
command = @step_pausing_queue.deq
|
503
505
|
enqueue_reset if command == :reset
|
504
506
|
ensure
|
@@ -54,10 +54,32 @@ module PrependSystemTestingDriver
|
|
54
54
|
|
55
55
|
# this assumes Selenium and Chrome:
|
56
56
|
|
57
|
+
# all chrome flags: https://peter.sh/experiments/chromium-command-line-switches
|
58
|
+
# chrome flags for tooling: https://github.com/GoogleChrome/chrome-launcher/blob/main/docs/chrome-flags-for-tools.md
|
59
|
+
|
60
|
+
# set the min flags to make cyperful functional:
|
61
|
+
|
57
62
|
# so user isn't prompted when we start recording video w/ MediaStream
|
58
63
|
driver_opts.add_argument("--auto-accept-this-tab-capture")
|
59
64
|
driver_opts.add_argument("--use-fake-ui-for-media-stream")
|
60
65
|
|
66
|
+
if driver_opts.args.none? { |arg| arg.include?("--disable-features=") }
|
67
|
+
# credit: https://github.com/krausest/js-framework-benchmark/discussions/1682
|
68
|
+
disabled_features = %w[
|
69
|
+
InterestFeedContentSuggestions
|
70
|
+
IPH_DemoMode
|
71
|
+
BackForwardCache
|
72
|
+
OptimizationHints
|
73
|
+
OptimizationHintsFetching
|
74
|
+
OptimizationTargetPrediction
|
75
|
+
PrivacySandboxSettings4
|
76
|
+
Translate
|
77
|
+
]
|
78
|
+
driver_opts.add_argument(
|
79
|
+
"--flag-switches-begin --disable-features=#{disabled_features.join(",")} --flag-switches-end",
|
80
|
+
)
|
81
|
+
end
|
82
|
+
|
61
83
|
# make sure we're not in headless mode
|
62
84
|
driver_opts.args.delete("--headless")
|
63
85
|
driver_opts.args.delete("--headless=new")
|
data/lib/cyperful/ui_server.rb
CHANGED
@@ -1,15 +1,6 @@
|
|
1
1
|
require "webrick/websocket"
|
2
2
|
require "webrick/httpproxy"
|
3
3
|
|
4
|
-
# fix for: webrick-websocket incorrectly assumes `Upgrade` header is always present
|
5
|
-
module FixWebrickWebsocketServer
|
6
|
-
def service(req, res)
|
7
|
-
req.header["upgrade"] = [""] if req["upgrade"].nil?
|
8
|
-
super
|
9
|
-
end
|
10
|
-
end
|
11
|
-
WEBrick::Websocket::HTTPServer.prepend(FixWebrickWebsocketServer)
|
12
|
-
|
13
4
|
class Cyperful::UiServer
|
14
5
|
def initialize(port:)
|
15
6
|
@port = port
|