0.4.0 - (Sep 17, 2019)
-
Ferrum::Network
module - moved logic fromFerrum::Page::Net
with addition changes -
Ferrum::Browser#network
- instance ofFerrum::Network
from delegatedFerrum::Page
instance -
Ferrum::Network#request
&Ferrum::Network#response
- delegation toNetwork::Exchange
instance -
Ferrum::Network#first_by
/Ferrum::Network#last_by
- implemented searching by passed request_id inNetwork::Exchange
instance -
Ferrum::Browser#traffic
delegation toFerrum::Network
ofNetwork::Exchange
instances -
Ferrum::Network::Exchange
- simple request/response constructor with monitoring-
#build_request
- instance ofNetwork::Request
with passed params -
#build_response
- instance ofNetwork::Response
with passed params -
#build_error
- instance ofNetwork::Error
with passed params -
#navigation_request?
- the request verification on document by passed frame_id -
#blocked?
- boolean which becomes true when no the constructed response -
#to_a
- returns array of constructed request/response/error instances
-
-
Ferrum::Network::Request#type
- delegation totype
of passed to instance params -
Ferrum::Network::Request#type?
- boolean compare withtype
of instance with passed type as argument -
Ferrum::Network::Request#frame_id
- delegation toframeId
of passed to instance params -
Ferrum::Network::InterceptedRequest#abort
- firescontinue
method of instance witherrorReason
asAborted
-
Ferrum::Network::InterceptedRequest#inspect
- simple implementation of nativeinspect
method with returns of the current internal state -
Ferrum::Page::Frame#frame_id
- reader to public available offrameId
byFerrum::Page#frame_id
-
description of
Network/Authorization/Interception
sections in README -
Ferrum::Browser#screenshot
&Ferrum::Browser#pdf
methods are returns bin when no path is given -
Ferrum::Browser#status
delegated toFerrum::Network
-
Ferrum::Browser#authorize
delegated toFerrum::Network
-
Ferrum::Network
module intoclass
approach forInterceptedRequest/Request/Response/Error
classes -
Ferrum::Browser#intercept_request
intoFerrum::Network#intercept
-
Ferrum::Browser#subscribe
intoFerrum::Network#subscribe
with public available -
Ferrum::Browser#authorized_response
intoFerrum::Network#authorized_response
with public available -
Ferrum::Browser#clear_memory_cache
&Ferrum::Browser#clear_network_traffic
merged to
Ferrum::Network#clear
with addition oftraffic
clear by the argument as symbol type oftraffic/cache
-
Ferrum::Network::Request#time
- usewallTime
params fir time detection -
body_size
attribute writer ofFerrum::Network::Response
with reduce of size on headers_sizeto handle
encodedDataLength
whenNetwork.responseReceived
is not dispatched
-
Ferrum::Network::Response#redirect_url
-
Ferrum::Page::Net
-
Ferrum::Browser#abort_request
-
Ferrum::Browser#continue_request
-
Ferrum::Browser#response_headers
-
Ferrum::Browser#network_traffic
-
Ferrum::Network::InterceptedRequest#is_navigation_request=
(attribute writer)
0.3.0 - (Sep 12, 2019)
-
CI build by TravisCI for ruby versions:
2.3/2.4/2.5/2.6/jruby-9.2.8.0
-
fix specs with support of MacOS time formats
-
Ferrum::Mouse::CLICK_WAIT
asFERRUM_CLICK_WAIT
ENV-var
with0.1
as default value -
Ferrum::Browser#authorize
option:type
with valid values:server
(by default),:proxy
-
Logo 🎉
-
Ferrum::Node#inner_text
- evaluates JS:this.innerText
on Node instance -
Ferrum::Page::Runtime::INTERMITTENT_ATTEMPTS
asFERRUM_INTERMITTENT_ATTEMPTS
ENV-var
with6
as default value -
Ferrum::Page::Runtime::INTERMITTENT_SLEEP
asFERRUM_INTERMITTENT_SLEEP
ENV-var
with0.1
as default value -
Ferrum::Page#on
getting thename
as option with:dialog/:request_intercepted
cases &block
as last argument -
Ferrum::Browser#on
- delegated actions toFerrum::Page
instance -
Ferrum::Dialog
object to handle JavaScript Dialog's-
required
page, params
as init arguments -
#accept
fires JS:Page.handleJavaScriptDialog
as command on providedFerrum::Page
instance with options which includedaccept: true
-
#dismiss
fires JS:Page.handleJavaScriptDialog
as command on providedFerrum::Page
instance withaccept: false
-
#match?
compare message by passed regexp -
description of
Dialog
feature in README
-
-
Ferrum::Page::Event
extend ofConcurrent::Event
with implementation ofreset/wait
fix-
implement
Ferrum::Page::Event#iteration
to reusesynchronize
block on@iteration
value ofConcurrent::Event
-
redefinition of
Concurrent::Event#reset
- increase@iteration
outside ofif @set
block
-
-
FERRUM_PROCESS_TIMEOUT
ENV-var
asFerrum::Browser::Process::PROCESS_TIMEOUT
with2
as default value -
Elapsed time implementation:
-
Ferrum::Browser::Process::WAIT_KILLED
with0.05
-
Ferrum.monotonic_time
- delegation toConcurrent
object -
Ferrum.started
- class variable@@started
asmonotonic_time
-
Ferrum.elapsed_time
- a difference ofmonotonic_time
as minuend and passed time as argument or@@started
as subtrahend -
Ferrum.timeout?
- boolean compare passed values(start, timeout)
byelapsed_time
-
-
JRuby support by replaces of
::Process::CLOCK_MONOTONIC
usages according toElapsed-time
implementation
-
fix globally changing of Thread behaviour on options
abort_on_exception/report_on_exception
-
Ferrum::Page::Input#find_position
intoFerrum::Node#find_position
-
Ferrum::Browser#scroll_to
intoFerrum::Mouse#scroll_to
-
option
:timeout
into:wait
forFerrum::Page#command
/Ferrum::Mouse#click
-
description of
Authorization
options in README -
Ferrum::Page::Net#intercept_request
block as last argument intoFerrum::Page::Net#on(:request_intercepted)
with passed block -
Ferrum::Browser::TIMEOUT
intoFerrum::Browser::DEFAULT_TIMEOUT
asFERRUM_DEFAULT_TIMEOUT
ENV-var
with5
as default value -
usage of
Concurrent::Event
intoFerrum::Page::Event
as@event
ofFerrum::Page
instance -
Ferrum::Page::NEW_WINDOW_BUG_SLEEP
intoFerrum::Page::NEW_WINDOW_WAIT
asFERRUM_NEW_WINDOW_WAIT
ENV-var
with0.3
as default value
-
Ferrum::Page::Input
-
Ferrum::Browser#proxy_authorize
/Ferrum::Page::Net#proxy_authorize
-
Ferrum::ModalNotFoundError
-
Ferrum::Page#reset_modals
with delegation toFerrum::Browser
-
Ferrum::Page#find_modal
with delegation toFerrum::Browser
-
Ferrum::Page#accept_prompt
with delegation toFerrum::Browser
-
Ferrum::Page#dismiss_confirm
with delegation toFerrum::Browser
-
Ferrum::Page#accept_confirm
with delegation toFerrum::Browser
-
Ferrum::Browser#on_request_intercepted
0.2.1 - (Sep 5, 2019)
-
handle
EOFError/Errno::ECONNRESET/Errno::EPIPE
errors with rescue -
description options of
Customization
in README
-
increased
Browser::Process::PROCESS_TIMEOUT
constant by 1 -
Ferrum::Network::InterceptedRequest#match?
to handle cases forRuby 2.3
and less
0.2.0 - (Sep 3, 2019)
-
snippet examples of the actions in README
-
Ferrum::Node#focus
- fires thecommand
DOM.focus
onFerrum::Page
instance -
Ferrum::Node#blur
- evaluates JS:this.blur()
onFerrum::Page
instance -
Ferrum::Node#click
- fires the nativeclick
onFerrum::Page
instance -
usage of
FERRUM_INTERMITTENT_ATTEMPTS
ENV-var
on the rescue of runtime intermittent error -
implementation's of
Ferrum::Page::DOM#xpath
&Ferrum::Page::DOM#at_xpath
-
Ferrum.with_attempts
- retry attempt with the sleep on the block passed as an argument -
Ferrum::NoExecutionContextError
- raises when there's nocontext
available -
Ferrum::Node#attribute
- evaluates JS:this.getAttribute
with passedname
-
Ferrum::Mouse
- dedicated class ofmouse
actions:click/down/up/move
-
Ferrum::Browser#mouse
- delegated actions toFerrum::Mouse
instance extracted fromFerrum::Page::Input
-
Ferrum::Page::Input#find_position
- usage ofDOM.getContentQuads
to find position of node bytop/left
-
Ferrum::Keyboard
- dedicated class ofkeyboard
actions:down/up/type/modifiers
-
Ferrum::Browser#keyboard
- delegated actions toFerrum::Keyboard
instance extracted fromFerrum::Page::Input
-
Ferrum::Headers
dedicated class of headers manager withget/set/clear/add
actions which delegated toFerrum::Page
instance -
Ferrum::Cookies
dedicated class which includes logic fromFerrum::Browser::API::Cookie
&Ferrum::Cookie
with actions:all/[]/set/remove/clear
-
Ferrum::Page#cookies
- delegated actions toFerrum::Cookies
instance -
Ferrum::Page::Screenshot
module with methodsscreenshot/pdf
implemented by commandsPage.captureScreenshot/Page.printToPDF
-
Ferrum::Browser#screenshot
- delegated actions toPage::Screenshot
module -
Ferrum::Network::InterceptedRequest
class with methods:auth_challenge?/match?/abort/continue/url/method/headers/initial_priority/referrer_policy
-
Ferrum::Browser#intercept_request
- method with delegated toFerrum::Page::Net
which sets pattern intoNetwork.setRequestInterception
-
Ferrum::Browser#on_request_intercepted
- method with delegated toFerrum::Page::Net
which applies passed block -
Ferrum::Browser#abort_request
- method with delegated toFerrum::Page::Net
which stops request by passed interception_id
-
Ferrum::Page::Input#send_keys
intoFerrum::Page::Input#type
-
Ferrum::DeadBrowser
intoFerrum::DeadBrowserError
-
Ferrum::ModalNotFound
intoFerrum::ModalNotFoundError
-
Ferrum::StatusFailError
intoFerrum::StatusError
-
Ferrum::NodeError
intoFerrum::NodeNotFoundError
-
Ferrum::Page#go_back
intoFerrum::Page#back
-
Ferrum::Page#go_forward
intoFerrum::Page#forward
-
Ferrum::Page::Dom#property
intoFerrum::Page#property
-
Ferrum::Page::Dom#select_file
intoFerrum::Page#select_file
-
Ferrum::Node::#click
getting themode
argument as option withright/double/left
cases -
Ferrum::Page::Frame#switch_to_frame
intoFerrum::Page::Frame#within_frame
with added case ofArgumentError
-
Ferrum::ObsoleteNode
error -
Ferrum::FrameNotFound
error -
Ferrum::Page::Input#set
-
Ferrum::Page::Input#select
-
Ferrum::Node::#attributes
-
Ferrum::Node::#[]
-
Ferrum::Node::#select_option
-
Ferrum::Node::#unselect_option
-
Ferrum::Node::#visible?
-
Ferrum::Node::#checked?
-
Ferrum::Node::#selected?
-
Ferrum::Node::#disabled?
-
Ferrum::Node::#path
-
Ferrum::Node::#right_click
-
Ferrum::Node::#double_click
-
Ferrum::Page::Input#type
-
Ferrum::Page::Input#generate_modifiers
-
Ferrum::Browser::API
-Header, Cookie, Screenshot, Intercept
-
Ferrum::Browser#set_overrides
-
Ferrum::Browser#url_whitelist
-
Ferrum::Browser#url_blacklist
0.1.2 - (Aug 27, 2019)
-
catch of the intermittent errors inside of
evaluate's
methods -
Ferrum::Page::Runtime#evaluate_on
- firesRuntime.callFunctionOn
command withfunctionDeclaration
onFerrum::Page
Ferrum::Page::Runtime#evaluate_in
0.1.1 - (Aug 26, 2019)
- stringify the
url
which passed toFerrum::Page#goto
0.1.0 - (Aug 26, 2019)
- fires the
Ferrum::NodeError
on zero ofnode_id
- basic description in README
0.1.0.alpha - (Aug 2, 2019)
-
Initial implementation
-
Ferrum
-
Ferrum::Network
- simple requests/responses data store
-
Ferrum::Browser
- basic command interface -
Ferrum::Cookie
- simple store of the cookie attributes -
Ferrum::Node
- abstract level of DOM-node with basic methods -
Ferrum::Page
- basic object of the command references, which includedDOM
, network and browser logic -
Ferrum::Targets
- initialize of thewindow
manager with a clean browser state -
classes of errors with a description of specific raises reasons
-