Class: PageTemplate

Inherits:
Template show all
Defined in:
lib/generators/templates/automation/page_template.rb

Instance Method Summary collapse

Methods inherited from Template

#initialize, #parsed_body

Constructor Details

This class inherits a constructor from Template

Instance Method Details

#bodyObject



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
# File 'lib/generators/templates/automation/page_template.rb', line 4

def body
  element = @automation == 'watir' ? 'browser.element' : 'driver.find_element'
  helper = @automation == 'watir' ? 'Raider::WatirHelper' : 'Raider::SeleniumHelper'

  "    require_relative '../abstract/abstract_page'\n    require_relative '../components/header_component'\n\n    class LoginPage < AbstractPage\n      using \#{helper}\n\n      def url(_page)\n        'index.php?rt=account/login'\n      end\n\n      # Actions\n\n      def login(username, password)\n        username_field.send_keys username\n        password_field.send_keys password\n        login_button.click_when_present\n      end\n\n      # Components\n\n      def header\n        HeaderComponent.new(\#{element}(class: 'menu_text'))\n      end\n\n      private\n\n      # Elements\n\n      def username_field\n        \#{element}(id: 'loginFrm_loginname')\n      end\n\n      def password_field\n        \#{element}(id: 'loginFrm_password')\n      end\n\n      def login_button\n        \#{element}(xpath: \"//button[@title='Login']\")\n      end\n    end\n  EOF\nend\n"