Class: Async::Webdriver::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/async/webdriver/session.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(json:, connection:) ⇒ Session

Returns a new instance of Session.



4
5
6
7
8
9
10
# File 'lib/async/webdriver/session.rb', line 4

def initialize(json:, connection:)
  @capabilities = json.fetch "capabilities"
  @id = json.fetch "id"

  @session_connection = ConnectionPath.new "session/#{@id}", connection: connection
  @execute = Execute.new connection: @session_connection
end

Instance Attribute Details

#executeObject (readonly)

Returns the value of attribute execute.



12
13
14
# File 'lib/async/webdriver/session.rb', line 12

def execute
  @execute
end

#idObject (readonly)

Returns the value of attribute id.



12
13
14
# File 'lib/async/webdriver/session.rb', line 12

def id
  @id
end

Instance Method Details

#back!Object



42
43
44
45
# File 'lib/async/webdriver/session.rb', line 42

def back!
  @session_connection.call method: "post", path: "back"
  self
end

#delete!Object



29
30
31
# File 'lib/async/webdriver/session.rb', line 29

def delete!
  response = @session_connection.call method: "delete"
end

#elementsObject



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/async/webdriver/session.rb', line 15

def elements
  body = {
    using: "css selector",
    value: "html"
  }

  session_id, value = @session_connection.call method: "post", path: "elements", body: body
  list = []
  for e in value do
    list << Element.new(json: e, connection: @session_connection)
  end
  list
end

#forward!Object



47
48
49
50
# File 'lib/async/webdriver/session.rb', line 47

def forward!
  @session_connection.call method: "post", path: "forward"
  self
end


33
34
35
36
37
38
39
40
# File 'lib/async/webdriver/session.rb', line 33

def navigate!(url)
  body = {
    url: url
  }

  @session_connection.call method: "post", path: "url", body: body
  self
end

#refresh!Object



52
53
54
55
# File 'lib/async/webdriver/session.rb', line 52

def refresh!
  @session_connection.call method: "post", path: "refresh"
  self
end

#sourceObject



65
66
67
# File 'lib/async/webdriver/session.rb', line 65

def source
  @session_connection.call method: "get", path: "source"
end

#titleObject



61
62
63
# File 'lib/async/webdriver/session.rb', line 61

def title
  @session_connection.call method: "get", path: "title"
end

#urlObject



57
58
59
# File 'lib/async/webdriver/session.rb', line 57

def url
  @session_connection.call method: "get", path: "url"
end