testcentricity_web 4.1.10 → 4.2.6

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.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +75 -1
  3. data/README.md +73 -35
  4. data/lib/testcentricity_web/data_objects/environment.rb +0 -1
  5. data/lib/testcentricity_web/version.rb +1 -1
  6. data/lib/testcentricity_web/web_core/page_objects_helper.rb +39 -2
  7. data/lib/testcentricity_web/web_core/webdriver_helper.rb +67 -61
  8. data/lib/testcentricity_web/web_elements/media.rb +108 -0
  9. data/lib/testcentricity_web/web_elements/textfield.rb +28 -0
  10. data/lib/testcentricity_web/web_elements/ui_elements_helper.rb +39 -1
  11. metadata +6 -150
  12. data/.gitignore +0 -39
  13. data/.idea/.name +0 -1
  14. data/.idea/encodings.xml +0 -6
  15. data/.idea/misc.xml +0 -4
  16. data/.idea/modules.xml +0 -8
  17. data/.idea/vcs.xml +0 -7
  18. data/.rspec +0 -4
  19. data/.rubocop.yml +0 -38
  20. data/.ruby-version +0 -1
  21. data/.simplecov +0 -9
  22. data/CODE_OF_CONDUCT.md +0 -13
  23. data/Gemfile +0 -6
  24. data/Rakefile +0 -115
  25. data/config/cucumber.yml +0 -171
  26. data/config/locales/en-US.yml +0 -56
  27. data/config/test_data/LOCAL_data.json +0 -15
  28. data/config/test_data/LOCAL_data.xls +0 -0
  29. data/config/test_data/LOCAL_data.yml +0 -11
  30. data/config/test_data/data.json +0 -25
  31. data/config/test_data/data.xls +0 -0
  32. data/config/test_data/data.yml +0 -20
  33. data/docker-compose.yml +0 -48
  34. data/features/basic_form_page_css.feature +0 -54
  35. data/features/basic_form_page_xpath.feature +0 -26
  36. data/features/custom_controls.feature +0 -29
  37. data/features/media_players.feature +0 -67
  38. data/features/step_definitions/generic_steps.rb.rb +0 -124
  39. data/features/step_definitions/media_steps.rb +0 -30
  40. data/features/support/data/form_data.rb +0 -43
  41. data/features/support/env.rb +0 -53
  42. data/features/support/hooks.rb +0 -270
  43. data/features/support/pages/base_test_page.rb +0 -22
  44. data/features/support/pages/basic_css_form_page.rb +0 -57
  45. data/features/support/pages/basic_form_page.rb +0 -500
  46. data/features/support/pages/basic_xpath_form_page.rb +0 -58
  47. data/features/support/pages/custom_controls_page.rb +0 -263
  48. data/features/support/pages/indexed_sections_page.rb +0 -57
  49. data/features/support/pages/media_test_page.rb +0 -207
  50. data/features/support/sections/header_nav.rb +0 -48
  51. data/features/support/sections/product_card.rb +0 -39
  52. data/features/support/world_data.rb +0 -12
  53. data/features/support/world_pages.rb +0 -18
  54. data/reports/.keep +0 -1
  55. data/spec/fixtures/page_object.rb +0 -22
  56. data/spec/fixtures/section_object.rb +0 -21
  57. data/spec/spec_helper.rb +0 -33
  58. data/spec/testcentricity_web/browser_spec.rb +0 -41
  59. data/spec/testcentricity_web/elements/audio_spec.rb +0 -68
  60. data/spec/testcentricity_web/elements/button_spec.rb +0 -18
  61. data/spec/testcentricity_web/elements/checkbox_spec.rb +0 -33
  62. data/spec/testcentricity_web/elements/file_field_spec.rb +0 -13
  63. data/spec/testcentricity_web/elements/image_spec.rb +0 -33
  64. data/spec/testcentricity_web/elements/label_spec.rb +0 -18
  65. data/spec/testcentricity_web/elements/link_spec.rb +0 -23
  66. data/spec/testcentricity_web/elements/list_spec.rb +0 -13
  67. data/spec/testcentricity_web/elements/radio_spec.rb +0 -28
  68. data/spec/testcentricity_web/elements/ui_element_spec.rb +0 -125
  69. data/spec/testcentricity_web/elements/video_spec.rb +0 -68
  70. data/spec/testcentricity_web/helper_specs/object_helpers_spec.rb +0 -39
  71. data/spec/testcentricity_web/helper_specs/string_helpers_spec.rb +0 -49
  72. data/spec/testcentricity_web/page_object_spec.rb +0 -90
  73. data/spec/testcentricity_web/section_object_spec.rb +0 -72
  74. data/spec/testcentricity_web/version_spec.rb +0 -7
  75. data/spec/testcentricity_web/webdriver_connect/grid_webdriver_spec.rb +0 -72
  76. data/spec/testcentricity_web/webdriver_connect/local_webdriver_spec.rb +0 -86
  77. data/spec/testcentricity_web/webdriver_connect/mobile_webdriver_spec.rb +0 -65
  78. data/test_site/basic_test_page.html +0 -269
  79. data/test_site/chosen/chosen-sprite.png +0 -0
  80. data/test_site/chosen/chosen-sprite@2x.png +0 -0
  81. data/test_site/chosen/chosen.css +0 -496
  82. data/test_site/chosen/chosen.jquery.js +0 -1359
  83. data/test_site/chosen/chosen.jquery.min.js +0 -3
  84. data/test_site/chosen/chosen.min.css +0 -11
  85. data/test_site/chosen/chosen.proto.js +0 -1399
  86. data/test_site/chosen/chosen.proto.min.js +0 -3
  87. data/test_site/chosen/composer.json +0 -36
  88. data/test_site/custom_controls_page.html +0 -629
  89. data/test_site/docsupport/chosen.png +0 -0
  90. data/test_site/docsupport/init.js +0 -11
  91. data/test_site/docsupport/init.proto.js +0 -16
  92. data/test_site/docsupport/jquery-1.12.4.min.js +0 -5
  93. data/test_site/docsupport/jquery-3.2.1.min.js +0 -4
  94. data/test_site/docsupport/oss-credit.png +0 -0
  95. data/test_site/docsupport/prism.css +0 -108
  96. data/test_site/docsupport/prism.js +0 -9
  97. data/test_site/docsupport/prototype-1.7.0.0.js +0 -6082
  98. data/test_site/docsupport/style.css +0 -219
  99. data/test_site/images/Blouse_Black.jpg +0 -0
  100. data/test_site/images/Granny.jpg +0 -0
  101. data/test_site/images/Printed_Dress.jpg +0 -0
  102. data/test_site/images/T-shirt.jpg +0 -0
  103. data/test_site/images/Wilder.jpg +0 -0
  104. data/test_site/images/You_Betcha.jpg +0 -0
  105. data/test_site/images/jeans3.jpg +0 -0
  106. data/test_site/indexed_sections_page.html +0 -215
  107. data/test_site/media/MIB2-subtitles-pt-BR.vtt +0 -49
  108. data/test_site/media/MIB2.mp4 +0 -0
  109. data/test_site/media/MP4_small.mp4 +0 -0
  110. data/test_site/media/MPS_sample.mp3 +0 -0
  111. data/test_site/media/bbc_scotland_report.mp3 +0 -0
  112. data/test_site/media/count_and_bars.mp4 +0 -0
  113. data/test_site/media_page.html +0 -86
  114. data/testcentricity_web.gemspec +0 -59
@@ -1,90 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::PageObject, required: true do
4
- before :context do
5
- @test_page = TestPage.new
6
- end
7
-
8
- context 'page object traits' do
9
- it 'returns page name' do
10
- expect(@test_page.page_name).to eq('Basic Test Page')
11
- end
12
-
13
- it 'returns page url' do
14
- expect(@test_page.page_url).to eq('/basic_test_page.html')
15
- end
16
-
17
- it 'returns page locator' do
18
- expect(@test_page.page_locator).to eq('form#HTMLFormElements')
19
- end
20
-
21
- it 'determines if page is secure' do
22
- allow(@test_page).to receive(:secure?).and_return(false)
23
- expect(@test_page.secure?).to eq(false)
24
- end
25
-
26
- it 'should display the title of the page' do
27
- allow(@test_page).to receive(:title).and_return('I am the title of a page')
28
- expect(@test_page.title).to eql 'I am the title of a page'
29
- end
30
-
31
- it 'determines if page is secure' do
32
- allow(@test_page).to receive(:secure?).and_return(false)
33
- expect(@test_page.secure?).to eq(false)
34
- end
35
-
36
- it 'responds to open_portal' do
37
- expect(@test_page).to respond_to(:open_portal)
38
- end
39
-
40
- it 'responds to load_page' do
41
- expect(@test_page).to respond_to(:load_page)
42
- end
43
-
44
- it 'responds to verify_page_exists' do
45
- expect(@test_page).to respond_to(:verify_page_exists)
46
- end
47
-
48
- it 'responds to exists?' do
49
- expect(@test_page).to respond_to(:exists?)
50
- end
51
- end
52
-
53
- context 'page object with UI elements' do
54
- it 'responds to element' do
55
- expect(@test_page).to respond_to(:element1)
56
- end
57
-
58
- it 'responds to button' do
59
- expect(@test_page).to respond_to(:button1)
60
- end
61
-
62
- it 'responds to textfield' do
63
- expect(@test_page).to respond_to(:field1)
64
- end
65
-
66
- it 'responds to link' do
67
- expect(@test_page).to respond_to(:link1)
68
- end
69
-
70
- it 'responds to range' do
71
- expect(@test_page).to respond_to(:range1)
72
- end
73
-
74
- it 'responds to image' do
75
- expect(@test_page).to respond_to(:image1)
76
- end
77
-
78
- it 'responds to radio' do
79
- expect(@test_page).to respond_to(:radio1)
80
- end
81
-
82
- it 'responds to checkbox' do
83
- expect(@test_page).to respond_to(:check1)
84
- end
85
-
86
- it 'responds to section' do
87
- expect(@test_page).to respond_to(:section1)
88
- end
89
- end
90
- end
@@ -1,72 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::PageSection, required: true do
4
- before :context do
5
- @test_page = TestPage.new
6
- @test_section = @test_page.section1
7
- end
8
-
9
- context 'section object traits' do
10
- it 'returns section name' do
11
- expect(@test_section.section_name).to eq('Basic Test Section')
12
- end
13
-
14
- it 'returns section locator' do
15
- expect(@test_section.get_locator).to eq('div#section')
16
- end
17
-
18
- it 'returns class' do
19
- expect(@test_section.class).to eql TestSection
20
- end
21
-
22
- it 'returns css locator type' do
23
- expect(@test_section.get_locator_type).to eql :css
24
- end
25
-
26
- it 'registers with type section' do
27
- expect(@test_section.get_object_type).to eql :section
28
- end
29
-
30
- it 'returns parent list object' do
31
- expect(@test_section.get_parent_list).to eql nil
32
- end
33
- end
34
-
35
- context 'section object with UI elements' do
36
- it 'responds to element' do
37
- expect(@test_section).to respond_to(:element1)
38
- end
39
-
40
- it 'responds to button' do
41
- expect(@test_section).to respond_to(:button1)
42
- end
43
-
44
- it 'responds to textfield' do
45
- expect(@test_section).to respond_to(:field1)
46
- end
47
-
48
- it 'responds to link' do
49
- expect(@test_section).to respond_to(:link1)
50
- end
51
-
52
- it 'responds to range' do
53
- expect(@test_section).to respond_to(:range1)
54
- end
55
-
56
- it 'responds to image' do
57
- expect(@test_section).to respond_to(:image1)
58
- end
59
-
60
- it 'responds to radio' do
61
- expect(@test_section).to respond_to(:radio1)
62
- end
63
-
64
- it 'responds to checkbox' do
65
- expect(@test_section).to respond_to(:check1)
66
- end
67
-
68
- it 'responds to section' do
69
- expect(@test_section).to respond_to(:section2)
70
- end
71
- end
72
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe 'TestCentricityWeb::VERSION', required: true do
4
- subject { TestCentricityWeb::VERSION }
5
-
6
- it { is_expected.to be_truthy }
7
- end
@@ -1,72 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::WebDriverConnect, grid: true do
4
- before(:context) do
5
- # instantiate remote test environment
6
- @environs ||= EnvironData
7
- @environs.find_environ('REMOTE', :yaml)
8
- ENV['SELENIUM'] = 'remote'
9
- endpoint = 'http://localhost:4444/wd/hub'
10
- ENV['REMOTE_ENDPOINT'] = endpoint
11
- # wait for Dockerized Selenium grid to be running
12
- 20.downto(0) do |interval|
13
- begin
14
- response = HTTParty.get("#{endpoint}/status")
15
- break if response.body.include?('Selenium Grid ready')
16
- rescue
17
- if interval == 0
18
- raise 'Selenium Grid is not running.'
19
- else
20
- sleep(1)
21
- end
22
- end
23
- end
24
- end
25
-
26
- context 'grid web browser instances' do
27
- it 'connects to a grid hosted Firefox browser' do
28
- ENV['WEB_BROWSER'] = 'firefox'
29
- WebDriverConnect.initialize_web_driver
30
- verify_grid_browser(browser = :firefox, platform = :desktop)
31
- end
32
-
33
- it 'connects to a grid hosted Chrome browser' do
34
- ENV['WEB_BROWSER'] = 'chrome'
35
- WebDriverConnect.initialize_web_driver
36
- Browsers.suppress_js_leave_page_modal
37
- verify_grid_browser(browser = :chrome, platform = :desktop)
38
- end
39
-
40
- it 'connects to a grid hosted Edge browser' do
41
- ENV['WEB_BROWSER'] = 'edge'
42
- WebDriverConnect.initialize_web_driver
43
- Browsers.suppress_js_alerts
44
- verify_grid_browser(browser = :edge, platform = :desktop)
45
- end
46
-
47
- it 'connects to a grid hosted emulated mobile web browser' do
48
- ENV['WEB_BROWSER'] = 'ipad_pro_12_9'
49
- ENV['HOST_BROWSER'] = 'chrome'
50
- ENV['ORIENTATION'] = 'portrait'
51
- WebDriverConnect.initialize_web_driver
52
- Browsers.set_device_orientation('landscape')
53
- verify_grid_browser(browser = :ipad_pro_12_9, platform = :mobile)
54
- end
55
- end
56
-
57
- after(:each) do
58
- $server.stop if Environ.driver == :appium && $server.running?
59
- Capybara.current_session.quit
60
- Environ.session_state = :quit
61
- end
62
-
63
- def verify_grid_browser(browser, platform)
64
- expect(Environ.browser).to eq(browser)
65
- expect(Environ.platform).to eq(platform)
66
- expect(Environ.headless).to eq(false)
67
- expect(Environ.session_state).to eq(:running)
68
- expect(Environ.driver).to eq(:webdriver)
69
- expect(Environ.device).to eq(:web)
70
- expect(Environ.grid).to eq(:selenium_grid)
71
- end
72
- end
@@ -1,86 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::WebDriverConnect, required: true do
4
- before(:context) do
5
- # instantiate local test environment
6
- @environs ||= EnvironData
7
- @environs.find_environ('LOCAL', :yaml)
8
- ENV['SELENIUM'] = ''
9
- end
10
-
11
- context 'local web browser instances' do
12
- it 'connects to a local Firefox browser' do
13
- ENV['WEB_BROWSER'] = 'firefox'
14
- WebDriverConnect.initialize_web_driver
15
- verify_local_browser(browser = :firefox, platform = :desktop, headless = false)
16
- end
17
-
18
- it 'connects to a local Safari browser' do
19
- ENV['WEB_BROWSER'] = 'safari'
20
- WebDriverConnect.initialize_web_driver
21
- verify_local_browser(browser = :safari, platform = :desktop, headless = false)
22
- end
23
-
24
- it 'connects to a local Chrome browser' do
25
- ENV['WEB_BROWSER'] = 'chrome'
26
- WebDriverConnect.initialize_web_driver
27
- Browsers.suppress_js_leave_page_modal
28
- verify_local_browser(browser = :chrome, platform = :desktop, headless = false)
29
- end
30
-
31
- it 'connects to a local Edge browser' do
32
- ENV['WEB_BROWSER'] = 'edge'
33
- WebDriverConnect.initialize_web_driver
34
- Browsers.suppress_js_alerts
35
- verify_local_browser(browser = :edge, platform = :desktop, headless = false)
36
- end
37
-
38
- it 'connects to a local emulated mobile web browser' do
39
- ENV['WEB_BROWSER'] = 'ipad_pro_12_9'
40
- ENV['HOST_BROWSER'] = 'chrome'
41
- ENV['ORIENTATION'] = 'portrait'
42
- WebDriverConnect.initialize_web_driver
43
- Browsers.set_device_orientation('landscape')
44
- verify_local_browser(browser = :ipad_pro_12_9, platform = :mobile, headless = false)
45
- expect(Environ.browser_size).to eq([1366, 1024])
46
- end
47
- end
48
-
49
- context 'local headless browser instances' do
50
- it 'connects to a local headless Chrome browser' do
51
- ENV['WEB_BROWSER'] = 'chrome_headless'
52
- WebDriverConnect.initialize_web_driver
53
- Browsers.maximize_browser
54
- verify_local_browser(browser = :chrome_headless, platform = :desktop, headless = true)
55
- end
56
-
57
- it 'connects to a local headless Edge browser' do
58
- ENV['WEB_BROWSER'] = 'edge_headless'
59
- WebDriverConnect.initialize_web_driver
60
- Browsers.refresh_browser
61
- verify_local_browser(browser = :edge_headless, platform = :desktop, headless = true)
62
- end
63
-
64
- it 'connects to a local headless Firefox browser' do
65
- ENV['WEB_BROWSER'] = 'firefox_headless'
66
- WebDriverConnect.initialize_web_driver
67
- Browsers.delete_all_cookies
68
- verify_local_browser(browser = :firefox_headless, platform = :desktop, headless = true)
69
- end
70
- end
71
-
72
- after(:each) do
73
- Capybara.current_session.quit
74
- Environ.session_state = :quit
75
- end
76
-
77
- def verify_local_browser(browser, platform, headless)
78
- expect(Environ.browser).to eq(browser)
79
- expect(Environ.platform).to eq(platform)
80
- expect(Environ.headless).to eq(headless)
81
- expect(Environ.session_state).to eq(:running)
82
- expect(Environ.driver).to eq(:webdriver)
83
- expect(Environ.device).to eq(:web)
84
- expect(Environ.is_web?).to eq(true)
85
- end
86
- end
@@ -1,65 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe TestCentricity::WebDriverConnect, mobile: true do
4
- before(:context) do
5
- # instantiate local test environment
6
- @environs ||= EnvironData
7
- @environs.find_environ('LOCAL', :yaml)
8
- ENV['SELENIUM'] = ''
9
- ENV['WEB_BROWSER'] = 'appium'
10
- ENV['DEVICE_TYPE'] = 'tablet'
11
- # start Appium server
12
- $server = TestCentricity::AppiumServer.new
13
- $server.start
14
- end
15
-
16
- context 'Mobile device simulator' do
17
- it 'connects to iOS Simulator' do
18
- ENV['AUTOMATION_ENGINE'] = 'XCUITest'
19
- ENV['APP_PLATFORM_NAME'] = 'ios'
20
- ENV['APP_BROWSER'] = 'Safari'
21
- ENV['APP_VERSION'] = '15.4'
22
- ENV['APP_DEVICE'] = 'iPad Pro (12.9-inch) (5th generation)'
23
- WebDriverConnect.initialize_web_driver
24
- expect(Environ.browser).to eq(:appium)
25
- expect(Environ.platform).to eq(:mobile)
26
- expect(Environ.headless).to eq(false)
27
- expect(Environ.session_state).to eq(:running)
28
- expect(Environ.driver).to eq(:appium)
29
- expect(Environ.device).to eq(:simulator)
30
- expect(Environ.device_name).to eq('iPad Pro (12.9-inch) (5th generation)')
31
- expect(Environ.device_os).to eq(:ios)
32
- expect(Environ.device_type).to eq(:tablet)
33
- expect(Environ.device_os_version).to eq('15.4')
34
- expect(Environ.is_ios?).to eq(true)
35
- end
36
-
37
- it 'connects to Android Simulator' do
38
- ENV['APP_PLATFORM_NAME'] = 'Android'
39
- ENV['APP_BROWSER'] = 'Chrome'
40
- ENV['APP_VERSION'] = '12.0'
41
- ENV['APP_DEVICE'] = 'Pixel_C_API_31'
42
- WebDriverConnect.initialize_web_driver
43
- expect(Environ.browser).to eq(:appium)
44
- expect(Environ.platform).to eq(:mobile)
45
- expect(Environ.headless).to eq(false)
46
- expect(Environ.session_state).to eq(:running)
47
- expect(Environ.driver).to eq(:appium)
48
- expect(Environ.device).to eq(:simulator)
49
- expect(Environ.device_name).to eq('Pixel_C_API_31')
50
- expect(Environ.device_os).to eq(:android)
51
- expect(Environ.device_type).to eq(:tablet)
52
- expect(Environ.device_os_version).to eq('12.0')
53
- expect(Environ.is_android?).to eq(true)
54
- end
55
- end
56
-
57
- after(:each) do
58
- Capybara.current_session.quit
59
- Environ.session_state = :quit
60
- end
61
-
62
- after(:context) do
63
- $server.stop if Environ.driver == :appium && $server.running?
64
- end
65
- end
@@ -1,269 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <title>Basic HTML Form</title>
6
- <style>
7
- table {
8
- font-family: arial, sans-serif;
9
- font-size: 15px;
10
- border-collapse: collapse;
11
- width: 85%;
12
- }
13
- td, th {
14
- border: 1px solid #dddddd;
15
- text-align: left;
16
- padding: 8px;
17
- }
18
- body {
19
- margin: 0;
20
- font-family: Arial, Helvetica, sans-serif;
21
- }
22
- .topnav {
23
- overflow: hidden;
24
- background-color: #333;
25
- }
26
- .topnav a {
27
- float: left;
28
- color: #f2f2f2;
29
- text-align: center;
30
- padding: 12px 14px;
31
- text-decoration: none;
32
- font-size: 15px;
33
- }
34
- .topnav a:hover {
35
- background-color: #ddd;
36
- color: black;
37
- }
38
- .topnav a.active {
39
- background-color: #04AA6D;
40
- color: white;
41
- }
42
- </style>
43
- </head>
44
- <body>
45
- <div class="page-body">
46
- <h2 id="header">Basic HTML Form</h2>
47
-
48
- <div id="nav_bar" class="topnav">
49
- <a id="form_link" class="active" href="#">Basic HTML Form</a>
50
- <a id="media_link" href="media_page.html">Media</a>
51
- <a id="indexed_sections_link" href="indexed_sections_page.html">Indexed Sections</a>
52
- <a id="custom_controls_link" href="custom_controls_page.html">Custom Controls</a>
53
- </div>
54
-
55
-
56
- <div class="centered">
57
- <form name="HTMLFormElements" id="HTMLFormElements">
58
- <table border="1" cellpadding="5">
59
- <tr>
60
- <td>
61
- <table>
62
- <label id="inputs">Inputs:</label>
63
- <tbody>
64
- <tr>
65
- <td>
66
- <label for="username">Username:</label>
67
- <input type="text" id="username" name="username" placeholder="User name" required>
68
- </td>
69
- <td>
70
- <label for="password">Password:</label>
71
- <input type="password" id="password" name="password" placeholder="Password" required>
72
- </td>
73
- <td>
74
- <label for="maxlength">Max Length:</label>
75
- <input type="text" id="maxlength" name="maxlength" placeholder="up to 64 characters" maxlength="64">
76
- </td>
77
- </tr>
78
- <tr>
79
- <td>
80
- <label for="readonly">Read Only:</label>
81
- <input type="text" id="readonly" name="readonly" value="I am a read only text field" readonly>
82
- </td>
83
- <td>
84
- <label for="number-field">Number:</label>
85
- <input id="number-field" type="number" name="number" min="10" max="1024" step="1" value="41">
86
- </td>
87
- <td>
88
- <label for="date-picker">Date: </label>
89
- <input id="date-picker" type="date" name="date" value="2022-05-23">
90
- </td>
91
- </tr>
92
- <tr>
93
- <td>
94
- <label for="date-time-picker">Local date time:</label>
95
- <input id="date-time-picker" type="datetime-local" name="datetime" value="2018-01-01T01:01">
96
- </td>
97
- <td>
98
- <label for="email-field">Email: </label>
99
- <input id="email-field" type="email" name="email" value="bob@mailinator.com">
100
- </td>
101
- <td>
102
- <label for="month-field">Month: </label>
103
- <input id="month-field" type="month" name="month" value="2022-09">
104
- </td>
105
- </tr>
106
- <tr>
107
- <td>
108
- <label for="color-picker">Color: </label>
109
- <input id="color-picker" type="color" name="color">
110
- </td>
111
- <td>
112
- <label for="slider">Range: </label>
113
- <input id="slider" type="range" name="slider" min="0" max="50">
114
- </td>
115
- <td>
116
- </td>
117
- </tr>
118
- </tbody>
119
- </table>
120
- </td>
121
- </tr>
122
-
123
- <tr>
124
- <td>
125
- <label for="comments">TextArea:</label>
126
- <textarea id="comments" name="comments" cols="80" rows="3"></textarea>
127
- </td>
128
- </tr>
129
-
130
- <tr>
131
- <td>
132
- <label for="filename">Filename:</label>
133
- <input type="file" id="filename" name="filename" size="35">
134
- </td>
135
- </tr>
136
-
137
- <tr>
138
- <td>
139
- <label id="checkboxes">Checkbox Items:</label>
140
- <input type="checkbox" id="check1" name="checkboxes[]" value="cb1" />Checkbox 1
141
- <input type="checkbox" id="check2" name="checkboxes[]" value="cb2" />Checkbox 2
142
- <input type="checkbox" id="check3" name="checkboxes[]" value="cb3" />Checkbox 3
143
- <input type="checkbox" id="check4" name="checkboxes[]" value="cb4" disabled/>Checkbox 4
144
- </td>
145
- </tr>
146
-
147
- <tr>
148
- <td>
149
- <label id="radios">Radio Items:</label>
150
- <input type="radio" id="radio1" name="radioval" value="rd1" />radio 1
151
- <input type="radio" id="radio2" name="radioval" value="rd2" />radio 2
152
- <input type="radio" id="radio3" name="radioval" value="rd3" />radio 3
153
- <input type="radio" id="radio4" name="radioval" value="rd4" disabled/>radio 4
154
- </td>
155
- </tr>
156
-
157
- <tr>
158
- <td>
159
- <label for="multipleselect">Multiple Select Values:</label>
160
- <select multiple="multiple" id="multipleselect" name="multipleselect" size="4">
161
- <option value="ms1">Selection Item 1</option>
162
- <option value="ms2">Selection Item 2</option>
163
- <option value="ms3">Selection Item 3</option>
164
- <option value="ms4">Selection Item 4</option>
165
- </select>
166
- </td>
167
- </tr>
168
-
169
- <tr>
170
- <td>
171
- <label for="dropdown">Dropdown:</label>
172
- <select id="dropdown" name="dropdown">
173
- <option value="dd1">Drop Down Item 1</option>
174
- <option value="dd2">Drop Down Item 2</option>
175
- <option value="dd3">Drop Down Item 3</option>
176
- <option value="dd4">Drop Down Item 4</option>
177
- <option value="dd5">Drop Down Item 5</option>
178
- <option value="dd6">Drop Down Item 6</option>
179
- </select>
180
- </td>
181
- </tr>
182
-
183
- <tr>
184
- <td>
185
- <label id="links">Links:</label>
186
- <ul id="links_list">
187
- <li>
188
- <a id="link1" href="media_page.html">Open Media Page in same window/tab</a>
189
- </li>
190
- <li>
191
- <a id="link2" href="media_page.html" target="_blank">Open Media Page in a new window/tab</a>
192
- </li>
193
- <li>
194
- <a id="link3" role="link" aria-disabled="true">Disabled Link</a>
195
- </li>
196
- </ul>
197
- </td>
198
- </tr>
199
-
200
- <tr>
201
- <td>
202
- <label for="table">Table:</label>
203
- <table id="table">
204
- <thead>
205
- <tr>
206
- <th>Company</th>
207
- <th>Contact</th>
208
- <th>Country</th>
209
- </tr>
210
- </thead>
211
- <tbody>
212
- <tr>
213
- <td>Alfreds Futterkiste</td>
214
- <td>Maria Anders</td>
215
- <td>Germany</td>
216
- </tr>
217
- <tr>
218
- <td>Centro comercial Moctezuma</td>
219
- <td>Francisco Chang</td>
220
- <td>Mexico</td>
221
- </tr>
222
- <tr>
223
- <td>Ernst Handel</td>
224
- <td>Roland Mendel</td>
225
- <td>Austria</td>
226
- </tr>
227
- <tr>
228
- <td>Island Trading</td>
229
- <td>Helen Bennett</td>
230
- <td>UK</td>
231
- </tr>
232
- </tbody>
233
- </table>
234
- </td>
235
- </tr>
236
-
237
- <tr>
238
- <td>
239
- <table>
240
- <label id="images">Images:</label>
241
- <tbody>
242
- <tr>
243
- <td>
244
- <img id="image1" src="images/Wilder.jpg" alt="It's alive" style="width:225px;height:225px;">
245
- </td>
246
- <td>
247
- <img id="image2" src="images/You_Betcha.jpg" alt="You Betcha" style="width:225px;height:225px;">
248
- </td>
249
- <td>
250
- <img id="image3" src="wrongname.gif" alt="A broken image" style="width:225px;height:225px;">
251
- </td>
252
- </tr>
253
- </tbody>
254
- </table>
255
- </td>
256
- </tr>
257
-
258
- <tr>
259
- <td>
260
- <input type="reset" id="cancel" name="cancel" value="Cancel" class="styled-click-button">
261
- <input type="submit" id="submit" name="submit" value="Submit" class="styled-click-button">
262
- </td>
263
- </tr>
264
- </table>
265
- </form>
266
- </div>
267
- </div>
268
- </body>
269
- </html>
Binary file
Binary file