This repository was archived by the owner on Nov 11, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathRakefile
More file actions
103 lines (86 loc) · 2.81 KB
/
Rakefile
File metadata and controls
103 lines (86 loc) · 2.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# frozen_string_literal: true
require "bundler/gem_tasks"
require "rspec/core/rake_task"
RSpec::Core::RakeTask.new(:spec)
require "rubocop/rake_task"
RuboCop::RakeTask.new
task default: %i[spec rubocop]
require_relative "lib/chromate"
require_relative 'spec/support/modes'
namespace :chromate do
namespace :test do
include Support::Modes
task :open do
browser = Chromate::Browser.new(headless: false)
browser.start
browser.navigate_to("https://2captcha.com/fr/demo/recaptcha-v2")
sleep 2
element = browser.find_element("#root")
binding.irb
browser.stop
end
# Xfvb mode
# docker run -it --rm -v $(pwd):/app --env CHROMATE_MODE=docker-xvfb chromate:latest bundle exec rake chromate:test:all
# BotBrowser mode
# docker run -it --rm -v $(pwd):/app --env CHROMATE_MODE=bot-browser chromate:latest bundle exec rake chromate:test:all
# Default mode
# docker run -it --rm -v $(pwd):/app chromate:latest bundle exec rake chromate:test:all
task :all do
Rake::Task["chromate:test:pixelscan"].invoke
Rake::Task["chromate:test:brotector"].invoke
Rake::Task["chromate:test:bot"].invoke
Rake::Task["chromate:test:cloudflare"].invoke
end
task :pixelscan do
browser = Chromate::Browser.new(browser_args)
browser.start
browser.navigate_to("https://pixelscan.net")
sleep 10
browser.screenshot("results/pixelscan.png")
browser.stop
end
task :brotector do
browser = Chromate::Browser.new(browser_args)
browser.start
browser.navigate_to("https://kaliiiiiiiiii.github.io/brotector")
sleep 2
browser.find_element("#clickHere").click
sleep 3
browser.screenshot("results/brotector.png")
browser.stop
end
task :bot do
browser = Chromate::Browser.new(browser_args)
browser.start
browser.navigate_to("https://bot.sannysoft.com")
sleep 2
browser.screenshot("results/bot.png")
browser.stop
end
task :cloudflare do
browser = Chromate::Browser.new(browser_args)
browser.start
browser.navigate_to("https://2captcha.com/fr/demo/cloudflare-turnstile-challenge")
sleep 10
browser.screenshot("results/cloudflare.png")
browser.stop
end
task :my_ip do
browser = Chromate::Browser.new(browser_args)
browser.start
browser.navigate_to("https://whatismyipaddress.com")
sleep 2
browser.find_element('//*[@id="qc-cmp2-ui"]/div[2]/div/button[3]').click
browser.screenshot("results/my_ip.png")
browser.stop
end
task :headers do
browser = Chromate::Browser.new(browser_args)
browser.start
browser.navigate_to("https://httpbin.org/headers")
sleep 2
browser.screenshot("results/headers.png")
browser.stop
end
end
end