Skip to content

Commit

Permalink
..
Browse files Browse the repository at this point in the history
  • Loading branch information
Muzipova committed Jan 24, 2025
2 parents 2903312 + e9bff78 commit 16ec14f
Show file tree
Hide file tree
Showing 14 changed files with 392 additions and 333 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@
<dependency>
<groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId>
<version>1.46.0</version>
<version>1.49.0</version>
</dependency>
</dependencies>
<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,72 @@ Feature: Fanconi Eligibility Questionnaire-Screener on the Fanconi Longitudinal
Description:This feature file has different submissions and assertion scenarios for the Fanconi Eligibility Questionnaire by the proband and the legal guardian (Proxy)

@jains @FanconiSubmission @CP2-1949 @Fanconi_Regression @selenium @Smoke
Scenario: Participant fills the Fanconi screener by the Proband for scenario 1
Scenario Outline: Participant fills the Fanconi screener by the Proband for scenario 1
Given run the Fanconi reset script to reset the accounts
Given a Participant is on the Fanconi Study login page
And logs in Fanconi page via Okta with username "[email protected]" and password "Test123$$"
And logs in Fanconi page via Okta with username "<Email>" and password "<Password>"
And clicks the Fanconi Eligibility Questionnaire widget
Then fills the Fanconi Eligibility Questionnaire form for scenario1
Then clicks the submit button
Given the study nurse log in Native View
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Participant Details page "<FanconiScenario>"
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Study Screener page "<FanconiScenario>"
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Screener page "<FanconiScenario>"
And consent is submitted with collection method "<ConsentCollectionMethod>"
Examples:
| Email | Password | ConsentCollectionMethod | FanconiScenario |
| sj.fanconitester1@yopmail.com | Test123$$| iMed | 0 |

@jains @FanconiSubmission @CP2-1949 @Fanconi_Regression @selenium @Smoke
Scenario: Participant fills the Fanconi screener by the Proband for scenario 2
Given run the Fanconi reset script to reset the accounts
Given a Participant is on the Fanconi Study login page
And logs in Fanconi page via Okta with username "[email protected]" and password "Test123$$"
And clicks the Fanconi Eligibility Questionnaire widget
Then fills the Fanconi Eligibility Questionnaire form for scenario2
Then clicks the submit button
Scenario Outline: Participant fills the Fanconi screener by the Proband for scenario 2
Given run the Fanconi reset script to reset the accounts
Given a Participant is on the Fanconi Study login page
And logs in Fanconi page via Okta with username "[email protected]" and password "Test123$$"
And clicks the Fanconi Eligibility Questionnaire widget
Then fills the Fanconi Eligibility Questionnaire form for scenario2
Then clicks the submit button
Given the study nurse log in Native View
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Participant Details page "<FanconiScenario>"
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Study Screener page "<FanconiScenario>"
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Screener page "<FanconiScenario>"
And consent is submitted with collection method "<ConsentCollectionMethod>"
Examples:
| ConsentCollectionMethod | FanconiScenario |
| iMed | 1 |

@jains @FanconiSubmission @CP2-1949 @Fanconi_Regression @selenium @Smoke
Scenario: Participant fills the Fanconi screener by the Proband for scenario 3
Scenario Outline: Participant fills the Fanconi screener by the Proband for scenario 3
Given run the Fanconi reset script to reset the accounts
Given a Participant is on the Fanconi Study login page
And logs in Fanconi page via Okta with username "[email protected]" and password "Test123$$"
And clicks the Fanconi Eligibility Questionnaire widget
Then fills the Fanconi Eligibility Questionnaire form for scenario3
Then clicks the submit button
Given the study nurse log in Native View
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Participant Details page "<FanconiScenario>"
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Study Screener page "<FanconiScenario>"
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Screener page "<FanconiScenario>"
And consent is submitted with collection method "<ConsentCollectionMethod>"
Examples:
| ConsentCollectionMethod | FanconiScenario |
| iMed | 2 |

@jains @FanconiSubmission @CP2-1949 @Fanconi_Regression @selenium @Smoke
Scenario: Participant fills the Fanconi screener by the Proband for scenario 4
Scenario Outline: Participant fills the Fanconi screener by the Proband for scenario 4
Given run the Fanconi reset script to reset the accounts
Given a Participant is on the Fanconi Study login page
And logs in Fanconi page via Okta with username "[email protected]" and password "Test123$$"
And clicks the Fanconi Eligibility Questionnaire widget
Then fills the Fanconi Eligibility Questionnaire form for scenario4
Then clicks the submit button
Given the study nurse log in Native View
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Participant Details page "<FanconiScenario>"
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Study Screener page "<FanconiScenario>"
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Screener page "<FanconiScenario>"
And consent is submitted with collection method "<ConsentCollectionMethod>"
Examples:
| ConsentCollectionMethod | FanconiScenario |
| iMed | 3 |

@jains @FanconiSubmission @CP2-1949 @Fanconi_Regression @selenium @Smoke
Scenario: Participant fills the Fanconi screener by the Proband for scenario 5
Expand Down Expand Up @@ -98,11 +130,14 @@ Feature: Fanconi Eligibility Questionnaire-Screener on the Fanconi Longitudinal
Given All scenarios are submitted

@jains @FanconiAssertion @CP2-1995 @Fanconi_Regression @selenium @Smoke
Scenario: Participant Details Page Assertions for all the scenarios in ServiceNow
Scenario Outline:: Participant Details Page Assertions for all the scenarios in ServiceNow
Given the study nurse log in Native View
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Participant Details page for all scenarios
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Study Screener page for all scenarios
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Screener page for all scenarios
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Participant Details page "<FanconiScenario>"
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Study Screener page "<FanconiScenario>"
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Screener page "<FanconiScenario>"
Examples:
| FanconiScenario |
| 1 |

@jains @FanconiAssertion @CP2-1995 @Fanconi_Regression @selenium
Scenario: Participant Details Page Assertions for one scenario at a time in ServiceNow
Expand All @@ -123,7 +158,7 @@ Feature: Fanconi Eligibility Questionnaire-Screener on the Fanconi Longitudinal
@jains @FanconiAssertion @CP2-1995 @Fanconi_Regression @selenium
Scenario: Fanconi Study Screener page Assertions for all the scenarios in ServiceNow
Given the study nurse log in Native View and go to Study Screener page
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Study Screener page for all scenarios
Then data submitted via the Fanconi Eligibility Questionnaire is verified in Fanconi Study Screener page for each scenario

@jains @FanconiAssertion @CP2-1995 @Fanconi_Regression @selenium
Scenario: Fanconi Study Screener page Assertions for one scenario at a time in ServiceNow
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ public static WebElement dynamicPreviewButtonLocator1(String text) {
public static WebElement dynamicPreviewButtonLocator(String text) {
return WebDriverUtils.webDriver.findElement(By.xpath("(//a[normalize-space()='" + text + "'])[1]"));
}

public static WebElement dynamicPreviewButtonLocators(String text) {
return WebDriverUtils.webDriver.findElement(By.xpath("(//a[@aria-label='Preview record:’” +text+”'])[1]"));
}
Expand All @@ -24,6 +25,7 @@ public static WebElement dynamicPreviewButtonLocators(String text) {
public CHARMSParticipantDetailsPage() {
PageFactory.initElements(WebDriverUtils.webDriver, this);
}

/* **************************** */
/* VERIFIES NAVIGATION PANEL */
/* ***************************/
Expand Down Expand Up @@ -74,10 +76,40 @@ public WebElement dynamicLocatorUsingNormalizeSpace(String text) {
}

/* Method to dynamically locate elements in Native View */
public WebElement dynamicLocatorUsingSpanNormalizeSpace(String text) {
return WebDriverUtils.webDriver.findElement(By.xpath("(//span[normalize-space()='" + text + "'])[1]"));
}

/* Method to dynamically locate text elements in Native View */
public WebElement dynamicLocatorUsingNormalizeSpaceInSpan(String text) {
return WebDriverUtils.webDriver.findElement(By.xpath("//span[@class='label-text'][normalize-space()='" + text + "']"));
}

/* Method to dynamically locate Read Only Input Values in Participant Details page for Fanconi Native View */
public WebElement dynamicLocatorForReadOnlyInputValuesInParticipantDetailsPage(String text) {
return WebDriverUtils.webDriver.findElement(By.xpath("(//input[@id='sys_readonly.x_naci_family_coho_family_history_details." + text + "'])[1]"));
}

/* Method to dynamically locate Display only Input Values in Participant Details page for Fanconi Native View */
public WebElement dynamicLocatorForInputElementsInParticipantDetailsPage(String text) {
return WebDriverUtils.webDriver.findElement(By.xpath("(//input[@id='sys_display.x_naci_family_coho_family_history_details." + text + "'])[1]"));
}

/* Method to dynamically locate Input Values added by the user in Participant Details page for Fanconi Native View */
public WebElement dynamicLocatorForInputElementInParticipantDetailsPage(String text) {
return WebDriverUtils.webDriver.findElement(By.xpath("(//input[@id='x_naci_family_coho_family_history_details." + text + "'])[1]"));
}

/* Method to dynamically locate Read Only select Values by the user in Participant Details page for Fanconi Native View */
public WebElement dynamicLocatorForReadOnlySelectValuesInParticipantDetailsPage(String text) {
return WebDriverUtils.webDriver.findElement(By.xpath("(//select[@id='sys_readonly.x_naci_family_coho_family_history_details." + text + "'])[1]"));
}

/* Method to dynamically locate editable select Values by the user in Participant Details page for Fanconi Native View */
public WebElement dynamicLocatorForSelectElementsInParticipantDetailsPage(String text) {
return WebDriverUtils.webDriver.findElement(By.xpath("(//select[@id='x_naci_family_coho_family_history_details." + text + "'])[1]"));
}

/* Participant--> Subject ID TextBox */
@FindBy(xpath = "(//input[@aria-label='Subject ID'])[1]")
public WebElement nVParticipantSubjectID;
Expand Down Expand Up @@ -122,22 +154,10 @@ public WebElement dynamicLocatorUsingNormalizeSpaceInSpan(String text) {
@FindBy(xpath = "(//span[@id='x_naci_family_coho_family_history_details.studies_edit'] | //p[@id='x_naci_family_coho_family_history_details.studies_nonedit'])[2]")
public WebElement nVParticipantStudies;

/* Participant--> NIH MRN number */
@FindBy(xpath = "(//input[@id='x_naci_family_coho_family_history_details.nih_number'])[1]")
public WebElement nVParticipantNIHMRNnumber;

/* Participant--> NIH MRN number Info =NIH MRN number should include the dashes */
@FindBy(xpath = "(//div[@class='fieldmsg notification notification-info'])[1]")
public WebElement nVParticipantNIHMRNnumberInfo;

/* Participant--> Referral */
@FindBy(xpath = "(//input[@id='sys_display.x_naci_family_coho_family_history_details.proband_screener'])[1]")
public WebElement nVParticipantReferral;

/* Participant--> Assigned To */
@FindBy(xpath = "(//input[contains(@name,'sys_display.x_naci_family_coho_family_history_details.assigned_to')])[1]")
public WebElement nVParticipantAssignedTo;

/* *************************************************************** */
/* VERIFIES PERSONAL INFORMATION DATA */
/* *************************************************************** */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,12 @@ public WebElement dynamicCancerDateOrAgeLocator(String text, int i) {
@FindBy(xpath = "//td[@class='c4 ']")
public List<WebElement> yesForFeaturesOptions;

/*
* Participant: Heart Problems such as: congenital heart disease, other
*/
@FindBy(xpath = "(//input[@id='QR~QID168~13~TEXT'])[1]")
public WebElement heartProblemsOtherText;

/*
* Participant: Have you been told that you have any of the following features
*/
Expand Down
Loading

0 comments on commit 16ec14f

Please sign in to comment.