-
Notifications
You must be signed in to change notification settings - Fork 14
Added script to support video recording add to extent report #231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
package com.dougnoel.sentinel.filemanagers; | ||
|
||
import java.awt.*; | ||
import org.monte.media.Format; | ||
import org.monte.media.math.Rational; | ||
import org.monte.screenrecorder.ScreenRecorder; | ||
import static org.monte.media.AudioFormatKeys.*; | ||
import static org.monte.media.VideoFormatKeys.*; | ||
|
||
public class SentinelScreenRecorder { | ||
private static ScreenRecorder screenRecorder; | ||
|
||
public static void startRecording() throws Exception { | ||
|
||
GraphicsConfiguration gc = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice() | ||
.getDefaultConfiguration(); | ||
screenRecorder = new ScreenRecorder(gc, new Format(MediaTypeKey, MediaType.FILE, MimeTypeKey, MIME_AVI), | ||
new Format(MediaTypeKey, MediaType.VIDEO, EncodingKey, ENCODING_AVI_TECHSMITH_SCREEN_CAPTURE, | ||
CompressorNameKey, ENCODING_AVI_TECHSMITH_SCREEN_CAPTURE, DepthKey, 24, FrameRateKey, | ||
Rational.valueOf(15), QualityKey, 1.0f, KeyFrameIntervalKey, 15 * 60), | ||
new Format(MediaTypeKey, MediaType.VIDEO, EncodingKey, "black", FrameRateKey, Rational.valueOf(30)), | ||
null); | ||
screenRecorder.start(); | ||
|
||
} | ||
|
||
public static void stopRecording() throws Exception { | ||
screenRecorder.stop(); | ||
} | ||
|
||
} |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -7,13 +7,15 @@ | |||||
import org.apache.logging.log4j.LogManager; | ||||||
import org.apache.logging.log4j.Logger; | ||||||
|
||||||
import com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter; | ||||||
import com.dougnoel.sentinel.configurations.Configuration; | ||||||
import com.dougnoel.sentinel.configurations.Time; | ||||||
import com.dougnoel.sentinel.pages.PageManager; | ||||||
|
||||||
import io.cucumber.java.Before; | ||||||
import io.cucumber.java.Scenario; | ||||||
import io.cucumber.java.en.Given; | ||||||
import io.cucumber.java.en.Then; | ||||||
import io.cucumber.java.en.When; | ||||||
|
||||||
/** | ||||||
|
@@ -173,4 +175,10 @@ public static void pressBrowserButton(String option) { | |||||
} | ||||||
} | ||||||
|
||||||
} | ||||||
@Then("^video recording (.*?)( was not)?(?: was)? attached to the report?$") | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. elementName will never contain "not"
Suggested change
|
||||||
public static void addVideoToReport(String elementName, String assertion) { | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
if(Configuration.toString("addVideoToReport")!=null && !elementName.contains("not")) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If the step exists, you shouldn't have to turn it on in the commandline. Ideally this would happen whether there was a cucumber step or not by adding it to the after step for each method.
Suggested change
|
||||||
ExtentCucumberAdapter.addTestStepLog("<a href='"+System.getProperty("user.dir")+"\\reports\\extent-cucumber.avi'>Click to see video recording</a>"); | ||||||
|
||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. delete extra line |
||||||
} | ||||||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,10 +13,13 @@ Feature: 47 Swag Labs Login | |
And I click the Login Button | ||
Then I am redirected to the Sauce Demo Main Page | ||
And I verify the App Logo exists | ||
And video recording was attached to the report | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
|
||
@47B | ||
Scenario: 47B Failed Login with Locked Out User | ||
Given I am on the Sauce Demo Login Page | ||
When I fill the account information for account LockedOutUser into the Username field and the Password field | ||
And I click the Login Button | ||
Then I verify the Error Message contains the text "Sorry, this user has been locked out." | ||
Then I verify the Error Message contains the text "Sorry, this user has been locked out." | ||
And video recording was not attached to the report | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. delete extra line |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move this up to line 100 with the rest of the version numbers.