diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..a76c510 Binary files /dev/null and b/.DS_Store differ diff --git a/features/.DS_Store b/features/.DS_Store new file mode 100644 index 0000000..69579f0 Binary files /dev/null and b/features/.DS_Store differ diff --git a/features/Feature_files/facebook.feature b/features/Feature_files/facebook.feature new file mode 100644 index 0000000..559d9a2 --- /dev/null +++ b/features/Feature_files/facebook.feature @@ -0,0 +1,12 @@ +@all +Feature: verify facebook login page + @login + Scenario: Verify user is able to launch facebook page + Given I am on facebook page + When I enter the correct login fields + Then I should be able to login successfully + + @login_fail + Scenario: Verify the facebook welcome page once the user is logged in + Given I am logged onto facebook page + Then I should land on facebook welcome page diff --git a/features/step_definitions/facebook_steps.rb b/features/step_definitions/facebook_steps.rb new file mode 100644 index 0000000..000d69e --- /dev/null +++ b/features/step_definitions/facebook_steps.rb @@ -0,0 +1,33 @@ + +Given(/^I am on facebook page$/) do + $browser.goto 'https://www.facebook.com/' +end + +When(/^I enter the correct login fields$/) do + sign_in = LoginVar.new + sign_in.login.set 'testacc202122@gmail.com' + sign_in.password.set 'Hello@123' +end + +Then(/^I should be able to login successfully$/) do + sign_in = LoginVar.new + sign_in.login_btn.click + sleep (10) +end + +When(/^I am logged onto facebook page$/) do + $browser.goto 'https://www.facebook.com/' + sign_in = LoginVar.new + sign_in.login.set 'testacc202122@gmail.com' + sign_in.password.set 'Hello' + sign_in.login_btn.click +end + +Then(/^I should land on facebook welcome page$/) do + if $browser.url == 'https://www.facebook.com/?sk=welcome' + print 'Successful' + else + $browser.screenshot.save 'screenshot.png' + fail "Login failed. Try again!" + end +end diff --git a/features/support/env.rb b/features/support/env.rb new file mode 100644 index 0000000..b56dc49 --- /dev/null +++ b/features/support/env.rb @@ -0,0 +1,21 @@ +require 'rubygems' +require 'cucumber' +require 'watir' +require 'report_builder' + +Before do + $browser = Watir::Browser.new :chrome +end + +After do + ReportBuilder.configure do |config| + #config.input_path = 'test_report/test_report.json' + #config.report_path = 'test_report/test_report.html' + config.report_types = [:html] + config.include_images = true + end + ReportBuilder.build_report + $browser.close +end + + diff --git a/features/support/login_page.rb b/features/support/login_page.rb new file mode 100644 index 0000000..f14a7bf --- /dev/null +++ b/features/support/login_page.rb @@ -0,0 +1,18 @@ +require 'rubygems' +require 'watir' + +class LoginVar + + def login + $browser.text_field(name: 'email') + end + + def password + $browser.text_field(name: 'pass') + end + + def login_btn + $browser.button(name: 'login') + end + +end \ No newline at end of file diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000..95f2083 Binary files /dev/null and b/screenshot.png differ diff --git a/test_report.html b/test_report.html new file mode 100644 index 0000000..eee974f --- /dev/null +++ b/test_report.html @@ -0,0 +1,486 @@ + + + + + + + Test Results + + + + + + + + + + + + + + + + +
+
+
+
Test Results
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+ + + +
+
+ +
+ + + +
+
+ +
+ + + + + +
Total Time30.168s
+
+
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureScenarioTagsStatusError
+ verify facebook login page + + + + @all. + + @login. + + + + passed + + +
+ verify facebook login page + + + + @all. + + @login_fail. + + + + failed + + + Login failed. Try again! (RuntimeError) + +
+ +
+ +
+ + +
+
+
+ + + + + + + + + + + diff --git a/test_report.json b/test_report.json new file mode 100644 index 0000000..db6088d --- /dev/null +++ b/test_report.json @@ -0,0 +1,163 @@ +[ + { + "id": "verify-facebook-login-page", + "uri": "features/Feature_files/facebook.feature", + "keyword": "Feature", + "name": "verify facebook login page", + "description": "", + "line": 2, + "tags": [ + { + "name": "@all", + "line": 1 + } + ], + "elements": [ + { + "id": "verify-facebook-login-page;verify-user-is-able-to-launch-facebook-page", + "keyword": "Scenario", + "name": "Verify user is able to launch facebook page", + "description": "", + "line": 4, + "type": "scenario", + "steps": [ + { + "keyword": "Given ", + "name": "I am on facebook page", + "line": 5, + "match": { + "location": "features/step_definitions/facebook_steps.rb:2" + }, + "result": { + "status": "passed", + "duration": 2447159000 + } + }, + { + "keyword": "When ", + "name": "I enter the correct login fields", + "line": 6, + "match": { + "location": "features/step_definitions/facebook_steps.rb:6" + }, + "result": { + "status": "passed", + "duration": 430399000 + } + }, + { + "keyword": "Then ", + "name": "I should be able to login successfully", + "line": 7, + "match": { + "location": "features/step_definitions/facebook_steps.rb:12" + }, + "result": { + "status": "passed", + "duration": 10098518000 + } + } + ], + "tags": [ + { + "name": "@all", + "line": 1 + }, + { + "name": "@login", + "line": 3 + } + ], + "before": [ + { + "match": { + "location": "features/support/env.rb:6" + }, + "result": { + "status": "passed", + "duration": 2592246000 + } + } + ], + "after": [ + { + "match": { + "location": "features/support/env.rb:10" + }, + "result": { + "status": "passed", + "duration": 311026000 + } + } + ] + }, + { + "id": "verify-facebook-login-page;verify-the-facebook-welcome-page-once-the-user-is-logged-in", + "keyword": "Scenario", + "name": "Verify the facebook welcome page once the user is logged in", + "description": "", + "line": 10, + "type": "scenario", + "steps": [ + { + "keyword": "Given ", + "name": "I am logged onto facebook page", + "line": 11, + "match": { + "location": "features/step_definitions/facebook_steps.rb:18" + }, + "result": { + "status": "passed", + "duration": 3892934000 + } + }, + { + "keyword": "Then ", + "name": "I should land on facebook welcome page", + "line": 12, + "match": { + "location": "features/step_definitions/facebook_steps.rb:26" + }, + "result": { + "status": "failed", + "error_message": "Login failed. Try again! (RuntimeError)\n./features/step_definitions/facebook_steps.rb:31:in `/^I should land on facebook welcome page$/'\nfeatures/Feature_files/facebook.feature:12:in `I should land on facebook welcome page'", + "duration": 7636815000 + } + } + ], + "tags": [ + { + "name": "@all", + "line": 1 + }, + { + "name": "@login_fail", + "line": 9 + } + ], + "before": [ + { + "match": { + "location": "features/support/env.rb:6" + }, + "result": { + "status": "passed", + "duration": 2496049000 + } + } + ], + "after": [ + { + "match": { + "location": "features/support/env.rb:10" + }, + "result": { + "status": "passed", + "duration": 262401000 + } + } + ] + } + ] + } +] \ No newline at end of file