From 4da7298bd98871f423b08bf915264e56ddf12389 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Thu, 18 Jul 2024 16:13:23 -0400 Subject: [PATCH 01/23] .. --- .../StepsImplementation/ApplicantProfileStepsImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/ApplicantProfileStepsImpl.java b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/ApplicantProfileStepsImpl.java index 64d194af3..aaeda35c1 100644 --- a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/ApplicantProfileStepsImpl.java +++ b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/ApplicantProfileStepsImpl.java @@ -184,7 +184,7 @@ public static void a_test_vacancy_is_reset_before_creating_a_vacancy(String text page.frameLocator("iframe[name='gsft_main']").getByLabel("Open record: " + text).click(); CucumberLogUtils.playwrightScreenshot(page); page.waitForLoadState(); - MiscUtils.sleep(1000); + MiscUtils.sleep(2000); page.reload(); MiscUtils.sleep(1000); page.frameLocator("iframe[name=\"gsft_main\"]").locator("#sysverb_delete").click(); From c0846521e3b044bdfa1429cdbf53acbb05b45cdd Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 19 Jul 2024 11:00:15 -0400 Subject: [PATCH 02/23] SSJ --- .../Features/Applicant Profile.feature | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature index 4edd09868..8f4ed3c54 100644 --- a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature +++ b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature @@ -264,17 +264,16 @@ Feature: Applicant Profile Scenarios And verifies required documents with required references needed to apply to this test Vacancy -#APPTRACK-145 -#APPTRACK-144 -#APPTRACK-827 -#APPTRACK-1158 -#APPTRACK-134 -#APPTRACK-133 -#APPTRACK-370 -#APPTRACK-135 -#APPTRACK-360 -#APPTRACK-129 -#APPTRACK-128 + #APPTRACK-144 - IN PROGRESS +#APPTRACK-827 - review +#APPTRACK-1158 - IN PROGRESS +#APPTRACK-134 - review +#APPTRACK-133 - review +#APPTRACK-370 - review +#APPTRACK-135 - IN PROGRESS +#APPTRACK-360 - IN PROGRESS +#APPTRACK-129 - OUTDATED +#APPTRACK-128 - review #APPTRACK-127 #APPTRACK-928 #APPTRACK-928 From 428ff36cc74cd3eb0332beaf9a73b0da235ed210 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 19 Jul 2024 11:01:18 -0400 Subject: [PATCH 03/23] .. --- .../SSJ/playwright/Features/Applicant Profile.feature | 1 - 1 file changed, 1 deletion(-) diff --git a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature index 4edd09868..a7356ff81 100644 --- a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature +++ b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature @@ -264,7 +264,6 @@ Feature: Applicant Profile Scenarios And verifies required documents with required references needed to apply to this test Vacancy -#APPTRACK-145 #APPTRACK-144 #APPTRACK-827 #APPTRACK-1158 From 9b76b593f9df975278ed4e4a2f4ee0a88967d201 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 19 Jul 2024 11:48:43 -0400 Subject: [PATCH 04/23] .. --- .../SSJ/playwright/Features/Applicant Profile.feature | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature index 8f4ed3c54..4bc082d73 100644 --- a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature +++ b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature @@ -265,10 +265,10 @@ Feature: Applicant Profile Scenarios #APPTRACK-144 - IN PROGRESS -#APPTRACK-827 - review +#APPTRACK-827 - review - Set close date? #APPTRACK-1158 - IN PROGRESS -#APPTRACK-134 - review -#APPTRACK-133 - review +#APPTRACK-134 - review - OUTDATED +#APPTRACK-133 - review - OUTDATED #APPTRACK-370 - review #APPTRACK-135 - IN PROGRESS #APPTRACK-360 - IN PROGRESS @@ -276,7 +276,6 @@ Feature: Applicant Profile Scenarios #APPTRACK-128 - review #APPTRACK-127 #APPTRACK-928 -#APPTRACK-928 #APPTRACK-927 #APPTRACK-1130 #APPTRACK-594 From ff4fc77f69354186b670bac0413f2a1325b59bc9 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Mon, 29 Jul 2024 19:26:05 -0400 Subject: [PATCH 05/23] .. --- .../CHARMS_Data_File_Path_Constants.java | 2 +- .../RASAccountReset/TestAccountReset.feature | 2 +- .../RasopathyStudy/RAS Entire Flow.feature | 37 +- ...nnairePage.java => RAS_Screener_Page.java} | 38 +- .../CHARMS/Resources/RASScenario1.xlsx | Bin 26439 -> 26451 bytes .../CHARMS/Resources/~$RASScenario1.xlsx | Bin 0 -> 165 bytes .../Steps/RAS_Screener_Submission_Steps.java | 6 + .../RASStudy/RAS_Scenario_One_StepsImpl.java | 869 +++++++++--------- .../RAS_Screener_Submissions_StepsImpl.java | 112 +++ .../PageInitializers/PageInitializer.java | 7 +- 10 files changed, 581 insertions(+), 492 deletions(-) rename src/test/java/ServiceNow/CHARMS/Pages/{RASopathyQuestionnairePage.java => RAS_Screener_Page.java} (90%) create mode 100644 src/test/java/ServiceNow/CHARMS/Resources/~$RASScenario1.xlsx create mode 100644 src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java diff --git a/src/test/java/ServiceNow/CHARMS/Constants/CHARMS_Data_File_Path_Constants.java b/src/test/java/ServiceNow/CHARMS/Constants/CHARMS_Data_File_Path_Constants.java index 8384374c2..923e87147 100644 --- a/src/test/java/ServiceNow/CHARMS/Constants/CHARMS_Data_File_Path_Constants.java +++ b/src/test/java/ServiceNow/CHARMS/Constants/CHARMS_Data_File_Path_Constants.java @@ -3,7 +3,7 @@ public class CHARMS_Data_File_Path_Constants { public static final String RAS_SURVEY = System.getProperty("user.dir") + "/src/test/java/ServiceNow/CHARMS/Resources/RasSurveySelfSubmission.xlsx"; public static final String RAS_SURVEY_DATA = System.getProperty("user.dir") + "/src/test/java/ServiceNow/CHARMS/Resources/RasSurveyDataVerificationTableData.xlsx"; - public static final String RAS_SCENARIO_ONE_DATA = "ServiceNow/CHARMS/Resources/RASScenario1.xlsx"; + public static final String RAS_SCENARIO_ONE_DATA = "src/test/java/ServiceNow/CHARMS/Resources/RASScenario1.xlsx"; public static final String RAS_SCENARIO_TWO_DATA = "ServiceNow/CHARMS/Resources/RASScenario2.xlsx"; public static final String RAS_SCENARIO_THREE_DATA = "ServiceNow/CHARMS/Resources/RASScenario3.xlsx"; public static final String RAS_SCENARIO_FOUR_DATA = System.getProperty("user.dir") + "/src/test/java/ServiceNow/CHARMS/Resources/RASScenario4.xlsx"; diff --git a/src/test/java/ServiceNow/CHARMS/Features/RASAccountReset/TestAccountReset.feature b/src/test/java/ServiceNow/CHARMS/Features/RASAccountReset/TestAccountReset.feature index dd68c40df..5c5ffca69 100644 --- a/src/test/java/ServiceNow/CHARMS/Features/RASAccountReset/TestAccountReset.feature +++ b/src/test/java/ServiceNow/CHARMS/Features/RASAccountReset/TestAccountReset.feature @@ -1,5 +1,5 @@ Feature: Test Account Reset - @juarezds @TestAccountReset @Regression + @juarezds @TestAccountReset @Regression @selenium Scenario: Test Account Reset Then test account is reset to be used for next test execution \ No newline at end of file diff --git a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature index 15934d81e..e79577157 100644 --- a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature +++ b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature @@ -1,27 +1,32 @@ Feature: RAS Screener Scenarios Description: This feature file contains scenarios which submit myRAS Screeners, Consent Flows, IIQ Forms and the RAS Surveys. No data verification in Native View - @bucurgb @myRasStudy @2CP2-2332 + @bucurgb @myRasStudy @2CP2-2332 @selenium @Progression Scenario Outline: This scenario outline is completing the myRAS Screeners, Consent Flows, IIQ Forms and the RAS Surveys Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" And logs in via Okta with username "" and password "" And clicks on Eligibility Questionnaire to begin questionnaire When the participant submits a screener from excel sheet "" - And the consent is submitted for "" - Then data submitted for scenario is verified in native from the excel sheet "" - Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" - And logs in via Okta with username "" and password "" - And clicks on the IIQ Form - And a participant enters username "" and pin - And the participant submits a Individual Information Questionnaire for excel sheet "" - Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" - And logs in via Okta with username "" and password "" - And clicks on the Ras Survey Form - And a participant enters username "" and pin - When the participant submits a RAS Survey from excel sheet "" +# And the consent is submitted for "" +# Then data submitted for scenario is verified in native from the excel sheet "" +# Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" +# And logs in via Okta with username "" and password "" +# And clicks on the IIQ Form +# And a participant enters username "" and pin +# And the participant submits a Individual Information Questionnaire for excel sheet "" +# Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" +# And logs in via Okta with username "" and password "" +# And clicks on the Ras Survey Form +# And a participant enters username "" and pin +# When the participant submits a RAS Survey from excel sheet "" Examples: | Email | Password | ScreenerScenario | IIQScenario | SurveyScenario | | charmsras1@yahoo.com | RASTest2022$$ | screenerScenario1 | IIQScenario1 | RASSurveyScenario1 | - | charmsras2@yahoo.com | RASTest2023$$ | screenerScenario2 | IIQScenario2 | RASSurveyScenario2 | - | charmsras3@yahoo.com | RASTest2023$$ | screenerScenario3 | IIQScenario3 | RASSurveyScenario3 | - | charmsras5@yahoo.com | RASTest2023$$ | screenerScenario4 | IIQScenario4 | RASSurveyScenario4 | \ No newline at end of file +# | charmsras2@yahoo.com | RASTest2023$$ | screenerScenario2 | IIQScenario2 | RASSurveyScenario2 | +# | charmsras3@yahoo.com | RASTest2023$$ | screenerScenario3 | IIQScenario3 | RASSurveyScenario3 | +# | charmsras5@yahoo.com | RASTest2023$$ | screenerScenario4 | IIQScenario4 | RASSurveyScenario4 | + + + @playwright + Scenario: RAS Screener Submissions + Assertions + Given a RAS Screener has been submitted \ No newline at end of file diff --git a/src/test/java/ServiceNow/CHARMS/Pages/RASopathyQuestionnairePage.java b/src/test/java/ServiceNow/CHARMS/Pages/RAS_Screener_Page.java similarity index 90% rename from src/test/java/ServiceNow/CHARMS/Pages/RASopathyQuestionnairePage.java rename to src/test/java/ServiceNow/CHARMS/Pages/RAS_Screener_Page.java index cf4c9e9df..ac70f6169 100644 --- a/src/test/java/ServiceNow/CHARMS/Pages/RASopathyQuestionnairePage.java +++ b/src/test/java/ServiceNow/CHARMS/Pages/RAS_Screener_Page.java @@ -6,7 +6,13 @@ import org.openqa.selenium.support.PageFactory; import com.nci.automation.web.WebDriverUtils; -public class RASopathyQuestionnairePage { +import static com.nci.automation.web.WebDriverUtils.webDriver; + +public class RAS_Screener_Page { + + /* LOCATOR FOR ALL QUESTIONS ON RAS SCREENER */ + @FindBy(xpath = "//*[@class='QuestionText BorderColor']") + public WebElement question; /* ----- BEGINNING OF RASopathy Eligibility Questionnaire PAGE ---- */ @@ -419,8 +425,12 @@ public class RASopathyQuestionnairePage { /* USE THIS METHOD TO DYNAMICALLY LOCATE ELEMENTS WITH RAS SCREENER */ - public WebElement dynamicLocator(String text) { - return WebDriverUtils.webDriver.findElement(By.xpath("//*[text()='" + text + "']")); + public static WebElement dynamicLocator(String text) { + return webDriver.findElement(By.xpath("//*[text()='" + text + "']")); + } + + public static WebElement dynamicDateOfBirthCalendarLocator(String text){ + return webDriver.findElement(By.xpath("//span[@aria-label='"+ text + "']")); } /** @@ -430,7 +440,7 @@ public WebElement dynamicLocator(String text) { * @return */ public WebElement dynamicTextBoxLocator(String text) { - return WebDriverUtils.webDriver.findElement(By.xpath("//*[text()='" + text + "']//parent::label//parent::span//parent::td/following-sibling::td/input")); + return webDriver.findElement(By.xpath("//*[text()='" + text + "']//parent::label//parent::span//parent::td/following-sibling::td/input")); } /*** @@ -439,7 +449,7 @@ public WebElement dynamicTextBoxLocator(String text) { * @return */ public WebElement dynamicTextBoxLocatorForPhoneNumbers(String text) { - return WebDriverUtils.webDriver.findElement(By.xpath("//*[text()='" + text + "']//parent::label/following-sibling::input")); + return webDriver.findElement(By.xpath("//*[text()='" + text + "']//parent::label/following-sibling::input")); } /*** @@ -448,7 +458,7 @@ public WebElement dynamicTextBoxLocatorForPhoneNumbers(String text) { * @return */ public WebElement dynamicPhoneNumberCheckBox(String text) { - return WebDriverUtils.webDriver.findElement(By.xpath("//*[text()='" + text + "']//parent::label//parent::div//parent::span//parent::th/following-sibling::td/label")); + return webDriver.findElement(By.xpath("//*[text()='" + text + "']//parent::label//parent::div//parent::span//parent::th/following-sibling::td/label")); } /*** @@ -457,7 +467,7 @@ public WebElement dynamicPhoneNumberCheckBox(String text) { * @return */ public WebElement dynamicEmailAddressTextBox(String text) { - return WebDriverUtils.webDriver.findElement(By.xpath("//*[text()='" + text + "']//parent::legend/following-sibling::div/div/input")); + return webDriver.findElement(By.xpath("//*[text()='" + text + "']//parent::legend/following-sibling::div/div/input")); } /*** @@ -466,7 +476,7 @@ public WebElement dynamicEmailAddressTextBox(String text) { * @return */ public WebElement dynamicClickOnCheckboxesScreener(int index) { - return WebDriverUtils.webDriver.findElement(By.xpath("//*[@id='Questions']//child::div[2]//child::div[3]//child::div[1]//child::fieldset//child::legend/following-sibling::div//child::ul//child::li[" + index + "]//child::span//child::label")); + return webDriver.findElement(By.xpath("//*[@id='Questions']//child::div[2]//child::div[3]//child::div[1]//child::fieldset//child::legend/following-sibling::div//child::ul//child::li[" + index + "]//child::span//child::label")); } /*** @@ -475,7 +485,7 @@ public WebElement dynamicClickOnCheckboxesScreener(int index) { * @return */ public WebElement dynamicClickOnCheckboxesIiqTable(int indexOne, int indexTwo) { - return WebDriverUtils.webDriver.findElement(By.xpath("//*[@id='SkinContent']//child::div//child::div[2]//child::div[3]//child::div[1]//child::fieldset//child::legend/following-sibling::div//child::table//child::tbody//child::tr[" + indexOne + "]//child::td[" + indexTwo + "]//child::span//child::label")); + return webDriver.findElement(By.xpath("//*[@id='SkinContent']//child::div//child::div[2]//child::div[3]//child::div[1]//child::fieldset//child::legend/following-sibling::div//child::table//child::tbody//child::tr[" + indexOne + "]//child::td[" + indexTwo + "]//child::span//child::label")); } /*** @@ -484,7 +494,7 @@ public WebElement dynamicClickOnCheckboxesIiqTable(int indexOne, int indexTwo) { * @return */ public WebElement dynamicEnterTextOnCheckboxesScreener(int index) { - return WebDriverUtils.webDriver.findElement(By.xpath("//*[@id='Questions']//child::div[2]//child::div[3]//child::div[1]//child::fieldset//child::legend/following-sibling::div//child::ul//child::li[" + index + "]//child::span//child::input")); + return webDriver.findElement(By.xpath("//*[@id='Questions']//child::div[2]//child::div[3]//child::div[1]//child::fieldset//child::legend/following-sibling::div//child::ul//child::li[" + index + "]//child::span//child::input")); } /*** @@ -493,7 +503,7 @@ public WebElement dynamicEnterTextOnCheckboxesScreener(int index) { * @return */ public WebElement dynamicLocatorForHowDidYouHearAboutStudyTextBoxes(String text) { - return WebDriverUtils.webDriver.findElement(By.xpath("//*[text()='" + text + "']//parent::label//parent::span/input")); + return webDriver.findElement(By.xpath("//*[text()='" + text + "']//parent::label//parent::span/input")); } /*** @@ -502,10 +512,10 @@ public WebElement dynamicLocatorForHowDidYouHearAboutStudyTextBoxes(String text) * @return */ public WebElement dynamicLocatorForMainReasonForParticipatingInStudy(String text) { - return WebDriverUtils.webDriver.findElement(By.xpath("//*[text()='" + text + "']//parent::span//parent::label/following-sibling::input")); + return webDriver.findElement(By.xpath("//*[text()='" + text + "']//parent::span//parent::label/following-sibling::input")); } - public RASopathyQuestionnairePage() { - PageFactory.initElements(WebDriverUtils.webDriver, this); + public RAS_Screener_Page() { + PageFactory.initElements(webDriver, this); } } diff --git a/src/test/java/ServiceNow/CHARMS/Resources/RASScenario1.xlsx b/src/test/java/ServiceNow/CHARMS/Resources/RASScenario1.xlsx index 1b4c3d6991924dd1d1f8d8e2a83edff9e740ec0d..d8da7ab0a44a4f1525ef968c190e9baf9c3115c1 100644 GIT binary patch delta 20452 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 >Vir4 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 delta 20483 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�={N(2qT_>>hfeizN$?NVRs)`$3;E)gvaVf^zi#ZD`@xULrAM z3}`LxX)z|}(`CgfKX}#DeiidJbP-JNW42--7EA>X_T&heDmU#{<3r^7K5E5^+rO2d z0|tqcf80$n`WE}xJ(vWr_W+a%qZ^J(%jt^(83+r>l`Z%)kAKOEkLkKcF2ug#=~lTI z+2BG-j9?vEZ*x+l2gZt1?z79v^oXc~P_=JFSNT*%K+En<^le0Cd=7%@T|K3%@kzlq zY1!auauWQ4qsh;gn{1SjEtC#jb$31U901yV=`9=@p%+d}FZhWD&3`L1?V%PEvim$7 zf~pEwk+6I>DN<0xX11uM`GnNGURi8%?Uz7l;z6pkA%Tyn^=VVR4>@j;4c`FL z+eY_woE{4NA-EPB6=s@&d31x_GJQHDo8FccV)8)NPHijzCklTpF-Das<5(lgE4aER zPPEdtD>(Q;>H{^u+_=bzX1msnPMs|MOgX>@pc5)uHZS;TYPcs&`ID=;@!x1OLOfg@Klu*9_H$f-Gq~YgFki)6E@~ZPqXSS|5uL z5g@ylpW-tRAf@7@Qxn~c0- zMgw`?pv*FRsRHD)?Karg7S4V;mrnhieXL|-KKI4*&MClL5=b2}gaKz9vl{{#?-MmX_;|Jy0+ zUj;O1yt5$qZyOH~06_Ck_WBfm6V2tq{l9{JbfhyA@n_b*z_IEYAmJ|T#9X(~`7Uzc z|CaIm)8n2H+S26~_;1S3_X}VD9VW)t4MoBKAAtW|pkwhLIA-GbYv!)~N8*S90Q!H| X0L;-_E-J*w_GmFzKJsbDU%CGQE%SfF diff --git a/src/test/java/ServiceNow/CHARMS/Resources/~$RASScenario1.xlsx b/src/test/java/ServiceNow/CHARMS/Resources/~$RASScenario1.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6d931cc6b688178186d1e588c99e07758872a4d6 GIT binary patch literal 165 zcmb34Dord(to7)luu8HyNE8LAj`7!(*> k7&3wEbcTE&TZ6%m!IQy*K_5sv16i6tv1lMG7D$r=0hewUDF6Tf literal 0 HcmV?d00001 diff --git a/src/test/java/ServiceNow/CHARMS/Steps/RAS_Screener_Submission_Steps.java b/src/test/java/ServiceNow/CHARMS/Steps/RAS_Screener_Submission_Steps.java index edeb36150..d02289497 100644 --- a/src/test/java/ServiceNow/CHARMS/Steps/RAS_Screener_Submission_Steps.java +++ b/src/test/java/ServiceNow/CHARMS/Steps/RAS_Screener_Submission_Steps.java @@ -56,4 +56,10 @@ public void logs_in_via_Okta_with_username_and_password(String username, String public void clicks_on_Eligibility_Questionnaire_to_begin_questionnaire() { ras_scenario_one_stepsImpl.clicksOnEligibilityQuestionnaireToBeginQuestionnaire(); } + + @Given("a RAS Screener has been submitted") + public void a_ras_screener_has_been_submitted() { + + } + } \ No newline at end of file diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_One_StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_One_StepsImpl.java index faf847960..43717d430 100644 --- a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_One_StepsImpl.java +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_One_StepsImpl.java @@ -3,6 +3,7 @@ import ServiceNow.CHARMS.Constants.CHARMS_Data_File_Path_Constants; import ServiceNow.CHARMS.Constants.CHARMSRASScreenerConstants; import ServiceNow.CHARMS.Pages.NativeViewCHARMSDashboardPage; +import ServiceNow.CHARMS.Pages.RAS_Screener_Page; import ServiceNow.COVIDDash.Utils.COVIDConstants; import appsCommon.Pages.NativeView_SideDoor_Dashboard_Page; import appsCommon.Utils.ServiceNow_Common_Methods; @@ -16,13 +17,17 @@ import org.openqa.selenium.*; import org.testng.Assert; +import static ServiceNow.CHARMS.Pages.RAS_Screener_Page.dynamicLocator; + public class RAS_Scenario_One_StepsImpl extends PageInitializer { /*** * USE THIS METHOD TO CLICK ON SCREENER NEXT BUTTON */ public void clickOnScreenerNextButton() { JavascriptUtils.scrollIntoView(rasopathyQuestionnairePage.studyNextButton); + MiscUtils.sleep(1000); CommonUtils.clickOnElement(rasopathyQuestionnairePage.studyNextButton); + MiscUtils.sleep(1000); } /*** @@ -286,289 +291,239 @@ public void theParticipantWillBeAbleToRewindTheForm() { * USE THIS METHOD WILL COMPLETE THE RAS SCREENER SCENARIO 1 */ public void rasScreenerSubmissionScenario1() { - CommonUtils.switchToNextWindow(); - MiscUtils.sleep(2000); - CommonUtils.waitForVisibility(myRASSurveyPage.rasSurveyThisCopyText); - //ASSERTING THAT THIS IS THE COPY FOR LOWER ENVIRONMENTS ONLY!!! MESSAGE DISPLAYS - Assert.assertEquals(myRASSurveyPage.rasSurveyThisCopyText.getText(), ras_Screener_Constants.THIS_IS_A_COPY); - CucumberLogUtils.logScreenshot(); - JavascriptUtils.scrollIntoView(rasopathyQuestionnairePage.studyNextButton); - CucumberLogUtils.logScreenshot(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - MiscUtils.sleep(2000); - if (!rasopathyQuestionnairePage.iAmCompletingThisFormForMyselfOption.isDisplayed()) { - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - } - try { - rasopathyQuestionnairePage.iAmCompletingThisFormForMyselfOption.click(); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.iAmCompletingThisFormForMyselfOption.click(); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.FIRST_NAME).sendKeys(ras_Screener_TestDataManager.firstName); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.MIDDLE_INITIAL).sendKeys(ras_Screener_TestDataManager.middleInitial); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.LAST_NAME).sendKeys(ras_Screener_TestDataManager.lastName); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.FIRST_NAME).sendKeys(ras_Screener_TestDataManager.firstName); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.MIDDLE_INITIAL).sendKeys(ras_Screener_TestDataManager.middleInitial); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.LAST_NAME).sendKeys(ras_Screener_TestDataManager.lastName); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CucumberLogUtils.logScreenshot(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - rasopathyQuestionnairePage.calendarYearTextBox.clear(); - rasopathyQuestionnairePage.calendarYearTextBox.sendKeys(ras_Screener_TestDataManager.dateOfBirthYear); - CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.dateOfBirthMonth, rasopathyQuestionnairePage.calendarMonthDropDown); - rasopathyQuestionnairePage.calendarDayOption.click(); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.calendarYearTextBox.clear(); - rasopathyQuestionnairePage.calendarYearTextBox.sendKeys(ras_Screener_TestDataManager.dateOfBirthYear); - CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.dateOfBirthMonth, rasopathyQuestionnairePage.calendarMonthDropDown); - rasopathyQuestionnairePage.calendarDayOption.click(); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.sexAssignedAtBirthOption).click(); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.sexAssignedAtBirthOption).click(); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.areYouAdoptedOption).click(); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.areYouAdoptedOption).click(); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.countryOption, rasopathyQuestionnairePage.whatCountryDoesParticipantCurrentlyLiveInDropDown); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.countryOption, rasopathyQuestionnairePage.whatCountryDoesParticipantCurrentlyLiveInDropDown); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_ADDRESS).sendKeys(ras_Screener_TestDataManager.street); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_2_ADDRESS).sendKeys(ras_Screener_TestDataManager.street2); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.CITY_TEXT).sendKeys(ras_Screener_TestDataManager.city); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STATE_TEXT).sendKeys(ras_Screener_TestDataManager.state); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.ZIP_CODE_TEXT).sendKeys(ras_Screener_TestDataManager.zipcode); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_ADDRESS).sendKeys(ras_Screener_TestDataManager.street); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_2_ADDRESS).sendKeys(ras_Screener_TestDataManager.street2); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.CITY_TEXT).sendKeys(ras_Screener_TestDataManager.city); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STATE_TEXT).sendKeys(ras_Screener_TestDataManager.state); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.ZIP_CODE_TEXT).sendKeys(ras_Screener_TestDataManager.zipcode); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.EMAIL_ADDRESS)); - rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddress); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddress); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.CONFIRM_EMAIL_ADDRESS)); - rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.CONFIRM_EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddressConfirm); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.CONFIRM_EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddressConfirm); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.HOME_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.homePhoneNumber); - rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.CELL_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.cellPhoneNumber); - rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.WORK_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.workPhoneNumber); - rasopathyQuestionnairePage.dynamicPhoneNumberCheckBox(ras_Screener_Constants.CELL_PHONE_NUMBER).click(); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchFrameException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.HOME_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.homePhoneNumber); - rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.CELL_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.cellPhoneNumber); - rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.WORK_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.workPhoneNumber); - rasopathyQuestionnairePage.dynamicPhoneNumberCheckBox(ras_Screener_Constants.CELL_PHONE_NUMBER).click(); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.whatIsYourEthnicity).click(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.whatIsYourEthnicity).click(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.whatIsYourRace).click(); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.whatIsYourRace).click(); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.areYouAParticipantInOtherStudyGroup).click(); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.whatIsYourRace).click(); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(26)); - CommonUtils.assertEqualsWithMessage(ras_Screener_TestDataManager.toDetermineEligibilityForThisStudy, myRASSurveyPage.rasScreenerText.getText(), "-- VERIFYING TO DETERMINE ELIGIBILITY FOR THIS STUDY TEXT --"); - CucumberLogUtils.logScreenshot(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithFollowingConditions).click(); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithFollowingConditions).click(); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CucumberLogUtils.logScreenshot(); - try { - CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(117)); - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithCancer).click(); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithCancer).click(); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(118)); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithARasopathy)); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithARasopathy).click(); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(101)); - CommonUtils.assertEqualsWithMessage(ras_Screener_TestDataManager.weKnowThatRASopathiesAreAGroup, myRASSurveyPage.dynamicTopText(101).getText(), "-- VERIFYING WE KNOW THAT RASOPATHIES ARE A GROUP TEXT --"); - CucumberLogUtils.logScreenshot(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - CommonUtils.waitForVisibility(rasopathyQuestionnairePage.haveAnyOfYourRelativesBeenDiagnosedNoRadioButton); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.haveAnyOfYourRelativesBeenDiagnosedNoRadioButton); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.haveAnyOfYourRelativesBeenDiagnosedNoRadioButton); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(120)); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.haveYouEverHadGeneticTestingNoRadioButton); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.haveYouEverHadGeneticTestingNoRadioButton); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(69)); - CommonUtils.assertEqualsWithMessage(ras_Screener_TestDataManager.weWillNowAskAFewRemainingQuestionsRegarding, myRASSurveyPage.rasScreenerText.getText(), "-- VERIFYING WE WILL NOW ASK A FEW REMAINING QUESTIONS TEXT --"); - CucumberLogUtils.logScreenshot(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(126)); - CommonUtils.scrollIntoView(rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy)); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy)); - rasopathyQuestionnairePage.dynamicLocatorForHowDidYouHearAboutStudyTextBoxes(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy).sendKeys(ras_Screener_TestDataManager.howDidYouHearAboutThisStudyOtherReason); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy)); - rasopathyQuestionnairePage.dynamicLocatorForHowDidYouHearAboutStudyTextBoxes(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy).sendKeys(ras_Screener_TestDataManager.howDidYouHearAboutThisStudyOtherReason); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(71)); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.haveYouOrOtherFamilyMembersParticipatedInOtherStudy)); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.haveYouOrOtherFamilyMembersParticipatedInOtherStudy)); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - try { - CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(81)); - CommonUtils.scrollIntoView(rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy)); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy)); - System.out.println(); - rasopathyQuestionnairePage.dynamicLocatorForMainReasonForParticipatingInStudy(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy).sendKeys(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudyOtherReason); - CucumberLogUtils.logScreenshot(); - } catch (NoSuchElementException e) { - e.printStackTrace(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CommonUtils.scrollIntoView(rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy)); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy)); - rasopathyQuestionnairePage.dynamicLocatorForMainReasonForParticipatingInStudy(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy).sendKeys(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudyOtherReason); - CucumberLogUtils.logScreenshot(); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(91)); - CommonUtils.assertEqualsWithMessage(ras_Screener_TestDataManager.youAreAlmostDone, myRASSurveyPage.rasScreenerText.getText(), "-- VERIFYING YOU ARE ALMOST DONE TEXT --"); - CucumberLogUtils.logScreenshot(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - MiscUtils.sleep(3000); - CucumberLogUtils.logScreenshot(); - MiscUtils.sleep(1000); - ServiceNow_Common_Methods.logOutOfNativeView(); + + ras_screener_submissions_steps_impl.screener_submissions(); + + + + + + + + + + + +// try { +// dynamicLocator(ras_Screener_TestDataManager.areYouAdoptedOption).click(); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// CucumberLogUtils.scenario.log("* * * NEXT BUTTON UNRESPONSIVE - - CLICKING AGAIN * * *"); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// dynamicLocator(ras_Screener_TestDataManager.areYouAdoptedOption).click(); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + +// try { +// CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.countryOption, rasopathyQuestionnairePage.whatCountryDoesParticipantCurrentlyLiveInDropDown); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// CucumberLogUtils.scenario.log("* * * NEXT BUTTON UNRESPONSIVE - - CLICKING AGAIN * * *"); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.countryOption, rasopathyQuestionnairePage.whatCountryDoesParticipantCurrentlyLiveInDropDown); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_ADDRESS).sendKeys(ras_Screener_TestDataManager.street); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_2_ADDRESS).sendKeys(ras_Screener_TestDataManager.street2); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.CITY_TEXT).sendKeys(ras_Screener_TestDataManager.city); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STATE_TEXT).sendKeys(ras_Screener_TestDataManager.state); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.ZIP_CODE_TEXT).sendKeys(ras_Screener_TestDataManager.zipcode); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// e.printStackTrace(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_ADDRESS).sendKeys(ras_Screener_TestDataManager.street); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_2_ADDRESS).sendKeys(ras_Screener_TestDataManager.street2); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.CITY_TEXT).sendKeys(ras_Screener_TestDataManager.city); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STATE_TEXT).sendKeys(ras_Screener_TestDataManager.state); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.ZIP_CODE_TEXT).sendKeys(ras_Screener_TestDataManager.zipcode); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.EMAIL_ADDRESS)); +// rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddress); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// e.printStackTrace(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddress); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.CONFIRM_EMAIL_ADDRESS)); +// rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.CONFIRM_EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddressConfirm); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// e.printStackTrace(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.CONFIRM_EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddressConfirm); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.HOME_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.homePhoneNumber); +// rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.CELL_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.cellPhoneNumber); +// rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.WORK_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.workPhoneNumber); +// rasopathyQuestionnairePage.dynamicPhoneNumberCheckBox(ras_Screener_Constants.CELL_PHONE_NUMBER).click(); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchFrameException e) { +// e.printStackTrace(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.HOME_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.homePhoneNumber); +// rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.CELL_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.cellPhoneNumber); +// rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.WORK_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.workPhoneNumber); +// rasopathyQuestionnairePage.dynamicPhoneNumberCheckBox(ras_Screener_Constants.CELL_PHONE_NUMBER).click(); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// dynamicLocator(ras_Screener_TestDataManager.whatIsYourEthnicity).click(); +// } catch (NoSuchElementException e) { +// e.printStackTrace(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// dynamicLocator(ras_Screener_TestDataManager.whatIsYourEthnicity).click(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// dynamicLocator(ras_Screener_TestDataManager.whatIsYourRace).click(); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// e.printStackTrace(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// dynamicLocator(ras_Screener_TestDataManager.whatIsYourRace).click(); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// dynamicLocator(ras_Screener_TestDataManager.areYouAParticipantInOtherStudyGroup).click(); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// dynamicLocator(ras_Screener_TestDataManager.whatIsYourRace).click(); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(26)); +// CommonUtils.assertEqualsWithMessage(ras_Screener_TestDataManager.toDetermineEligibilityForThisStudy, myRASSurveyPage.rasScreenerText.getText(), "-- VERIFYING TO DETERMINE ELIGIBILITY FOR THIS STUDY TEXT --"); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithFollowingConditions).click(); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// e.printStackTrace(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithFollowingConditions).click(); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// CucumberLogUtils.logScreenshot(); +// try { +// CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(117)); +// dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithCancer).click(); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithCancer).click(); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(118)); +// CommonUtils.clickOnElement(dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithARasopathy)); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithARasopathy).click(); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(101)); +// CommonUtils.assertEqualsWithMessage(ras_Screener_TestDataManager.weKnowThatRASopathiesAreAGroup, myRASSurveyPage.dynamicTopText(101).getText(), "-- VERIFYING WE KNOW THAT RASOPATHIES ARE A GROUP TEXT --"); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// CommonUtils.waitForVisibility(rasopathyQuestionnairePage.haveAnyOfYourRelativesBeenDiagnosedNoRadioButton); +// CommonUtils.clickOnElement(rasopathyQuestionnairePage.haveAnyOfYourRelativesBeenDiagnosedNoRadioButton); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// e.printStackTrace(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// CommonUtils.clickOnElement(rasopathyQuestionnairePage.haveAnyOfYourRelativesBeenDiagnosedNoRadioButton); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(120)); +// CommonUtils.clickOnElement(rasopathyQuestionnairePage.haveYouEverHadGeneticTestingNoRadioButton); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// e.printStackTrace(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// CommonUtils.clickOnElement(rasopathyQuestionnairePage.haveYouEverHadGeneticTestingNoRadioButton); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(69)); +// CommonUtils.assertEqualsWithMessage(ras_Screener_TestDataManager.weWillNowAskAFewRemainingQuestionsRegarding, myRASSurveyPage.rasScreenerText.getText(), "-- VERIFYING WE WILL NOW ASK A FEW REMAINING QUESTIONS TEXT --"); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// +// try { +// CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(126)); +// CommonUtils.scrollIntoView(dynamicLocator(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy)); +// CommonUtils.clickOnElement(dynamicLocator(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy)); +// rasopathyQuestionnairePage.dynamicLocatorForHowDidYouHearAboutStudyTextBoxes(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy).sendKeys(ras_Screener_TestDataManager.howDidYouHearAboutThisStudyOtherReason); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// e.printStackTrace(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy)); +// rasopathyQuestionnairePage.dynamicLocatorForHowDidYouHearAboutStudyTextBoxes(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy).sendKeys(ras_Screener_TestDataManager.howDidYouHearAboutThisStudyOtherReason); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(71)); +// CommonUtils.clickOnElement(dynamicLocator(ras_Screener_TestDataManager.haveYouOrOtherFamilyMembersParticipatedInOtherStudy)); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// e.printStackTrace(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// CommonUtils.clickOnElement(dynamicLocator(ras_Screener_TestDataManager.haveYouOrOtherFamilyMembersParticipatedInOtherStudy)); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// try { +// CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(81)); +// CommonUtils.scrollIntoView(dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy)); +// CommonUtils.clickOnElement(dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy)); +// System.out.println(); +// rasopathyQuestionnairePage.dynamicLocatorForMainReasonForParticipatingInStudy(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy).sendKeys(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudyOtherReason); +// CucumberLogUtils.logScreenshot(); +// } catch (NoSuchElementException e) { +// e.printStackTrace(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// CommonUtils.scrollIntoView(dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy)); +// CommonUtils.clickOnElement(dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy)); +// rasopathyQuestionnairePage.dynamicLocatorForMainReasonForParticipatingInStudy(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy).sendKeys(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudyOtherReason); +// CucumberLogUtils.logScreenshot(); +// } +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(91)); +// CommonUtils.assertEqualsWithMessage(ras_Screener_TestDataManager.youAreAlmostDone, myRASSurveyPage.rasScreenerText.getText(), "-- VERIFYING YOU ARE ALMOST DONE TEXT --"); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// MiscUtils.sleep(3000); +// CucumberLogUtils.logScreenshot(); +// MiscUtils.sleep(1000); +// ServiceNow_Common_Methods.logOutOfNativeView(); } /*** @@ -696,22 +651,22 @@ public void rasScreenerIIQFormScenario1() { CommonUtils.assertEqualsWithMessage(iiq_TestDataManager.thisFirstSectionOfTheQuestionnaireText, myRASSurveyPage.dynamicTopText(35).getText(), "-- VERIFYING THIS FIRST QUESTION OF THE QUESTIONNAIRE TEXT --"); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { - rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.areYouCompletingThisFormForYourselfRadioButton).click(); + dynamicLocator(iiq_TestDataManager.areYouCompletingThisFormForYourselfRadioButton).click(); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.areYouCompletingThisFormForYourselfRadioButton).click(); + dynamicLocator(iiq_TestDataManager.areYouCompletingThisFormForYourselfRadioButton).click(); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { - rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsYourBiologicalSexRadioButton).click(); + dynamicLocator(iiq_TestDataManager.whatIsYourBiologicalSexRadioButton).click(); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsYourBiologicalSexRadioButton).click(); + dynamicLocator(iiq_TestDataManager.whatIsYourBiologicalSexRadioButton).click(); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); @@ -727,41 +682,41 @@ public void rasScreenerIIQFormScenario1() { } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.doYouConsiderYourselfToBeRadioButton)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.doYouConsiderYourselfToBeRadioButton)); + CommonUtils.waitForClickability(dynamicLocator(iiq_TestDataManager.doYouConsiderYourselfToBeRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.doYouConsiderYourselfToBeRadioButton)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.doYouConsiderYourselfToBeRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.doYouConsiderYourselfToBeRadioButton)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(19)); - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsYourRaceCheckBox)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsYourRaceCheckBox)); + CommonUtils.waitForClickability(dynamicLocator(iiq_TestDataManager.whatIsYourRaceCheckBox)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.whatIsYourRaceCheckBox)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsYourRaceCheckBox)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.whatIsYourRaceCheckBox)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(93)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.areYouOfAshkenazyJewishDescentRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.areYouOfAshkenazyJewishDescentRadioButton)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(20)); MiscUtils.sleep(1000); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.areYouAdoptedRadioButton)); + CommonUtils.clickOnElement(dynamicLocator(iiq_TestDataManager.areYouAdoptedRadioButton)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.areYouAdoptedRadioButton)); + CommonUtils.clickOnElement(dynamicLocator(iiq_TestDataManager.areYouAdoptedRadioButton)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); @@ -818,68 +773,68 @@ public void rasScreenerIIQFormScenario1() { try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(29)); MiscUtils.sleep(500); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsYourFammilysReligiousBackgroundCheckBox)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.whatIsYourFammilysReligiousBackgroundCheckBox)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsYourFammilysReligiousBackgroundCheckBox)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.whatIsYourFammilysReligiousBackgroundCheckBox)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsYourMaritalStatusCheckBox)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsYourMaritalStatusCheckBox)); + CommonUtils.waitForClickability(dynamicLocator(iiq_TestDataManager.whatIsYourMaritalStatusCheckBox)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.whatIsYourMaritalStatusCheckBox)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsYourMaritalStatusCheckBox)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.whatIsYourMaritalStatusCheckBox)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(31)); MiscUtils.sleep(1000); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsYourMainOccupationRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.whatIsYourMainOccupationRadioButton)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsYourMainOccupationRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.whatIsYourMainOccupationRadioButton)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(95)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.doYouCurrentlyHaveHealthInsuranceRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.doYouCurrentlyHaveHealthInsuranceRadioButton)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.doYouCurrentlyHaveHealthInsuranceRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.doYouCurrentlyHaveHealthInsuranceRadioButton)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(33)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsTheTotalCombinedYearlyIncomeRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.whatIsTheTotalCombinedYearlyIncomeRadioButton)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsTheTotalCombinedYearlyIncomeRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.whatIsTheTotalCombinedYearlyIncomeRadioButton)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsTheHighestLevelOfSchoolingRadioButton)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsTheHighestLevelOfSchoolingRadioButton)); + CommonUtils.waitForClickability(dynamicLocator(iiq_TestDataManager.whatIsTheHighestLevelOfSchoolingRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.whatIsTheHighestLevelOfSchoolingRadioButton)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.whatIsTheHighestLevelOfSchoolingRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.whatIsTheHighestLevelOfSchoolingRadioButton)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); @@ -888,44 +843,44 @@ public void rasScreenerIIQFormScenario1() { ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(47)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.wereYouConceivedUsingVitroRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.wereYouConceivedUsingVitroRadioButton)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.wereYouConceivedUsingVitroRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.wereYouConceivedUsingVitroRadioButton)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(37)); MiscUtils.sleep(1000); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.wereYouATwinRadioButton)); + CommonUtils.clickOnElement(dynamicLocator(iiq_TestDataManager.wereYouATwinRadioButton)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); if (!myRASSurveyPage.dynamicTopText(41).isDisplayed()) { - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.wereYouATwinRadioButton)); + CommonUtils.clickOnElement(dynamicLocator(iiq_TestDataManager.wereYouATwinRadioButton)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); } CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(41)); MiscUtils.sleep(1000); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.areYourBiologicalParentsBloodRelatedRadioButton)); + CommonUtils.clickOnElement(dynamicLocator(iiq_TestDataManager.areYourBiologicalParentsBloodRelatedRadioButton)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); if (!myRASSurveyPage.dynamicTopText(43).isDisplayed()) { - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.areYourBiologicalParentsBloodRelatedRadioButton)); + CommonUtils.clickOnElement(dynamicLocator(iiq_TestDataManager.areYourBiologicalParentsBloodRelatedRadioButton)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); } try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.wouldYouSayYouWereBornRadioButton)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.wouldYouSayYouWereBornRadioButton)); + CommonUtils.waitForClickability(dynamicLocator(iiq_TestDataManager.wouldYouSayYouWereBornRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.wouldYouSayYouWereBornRadioButton)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.wouldYouSayYouWereBornRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.wouldYouSayYouWereBornRadioButton)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); @@ -948,22 +903,22 @@ public void rasScreenerIIQFormScenario1() { ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(62)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.haveYouEverBeenDiagnosedWithAnyCancerRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.haveYouEverBeenDiagnosedWithAnyCancerRadioButton)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.haveYouEverBeenDiagnosedWithAnyCancerRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.haveYouEverBeenDiagnosedWithAnyCancerRadioButton)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(67)); MiscUtils.sleep(1000); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.haveYouEverHadMedicalGeneticTestingRadioButton)); + CommonUtils.clickOnElement(dynamicLocator(iiq_TestDataManager.haveYouEverHadMedicalGeneticTestingRadioButton)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); if (!myRASIIQFormPage.screenerIiqFormFillOutCurrentHeightTextBox.isDisplayed()) { - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.haveYouEverHadMedicalGeneticTestingRadioButton)); + CommonUtils.clickOnElement(dynamicLocator(iiq_TestDataManager.haveYouEverHadMedicalGeneticTestingRadioButton)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); } @@ -1003,12 +958,12 @@ public void rasScreenerIIQFormScenario1() { ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(154)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.haveYouSoughtMedicalAdviceRegardingFertilityRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.haveYouSoughtMedicalAdviceRegardingFertilityRadioButton)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(iiq_TestDataManager.haveYouSoughtMedicalAdviceRegardingFertilityRadioButton)); + JavascriptUtils.clickByJS(dynamicLocator(iiq_TestDataManager.haveYouSoughtMedicalAdviceRegardingFertilityRadioButton)); CucumberLogUtils.logScreenshot(); } ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); @@ -1039,11 +994,11 @@ public void rasScreenerSurveyScenario1PartOne() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(1)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.toConfirmAreYouCompleting)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.toConfirmAreYouCompleting)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(58)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenIncluded)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenIncluded)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.rasSurveyTheNextSetOfQuestionsWillAskAboutBirthAndNeonatalText); @@ -1062,13 +1017,13 @@ public void rasScreenerSurveyScenario1PartOne() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.wereYouDiagnosedWithHypoglycemia)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.wereYouDiagnosedWithHypoglycemia)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.wereYouDiagnosedWithHypoglycemia)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.wereYouDiagnosedWithHypoglycemia)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.wereYouDiagnosedWithHypoglycemia)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.wereYouDiagnosedWithHypoglycemia)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); @@ -1078,13 +1033,13 @@ public void rasScreenerSurveyScenario1PartOne() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.duringHerPregnancyWithYou)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.duringHerPregnancyWithYou)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.duringHerPregnancyWithYou)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.duringHerPregnancyWithYou)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.duringHerPregnancyWithYou)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.duringHerPregnancyWithYou)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); @@ -1094,57 +1049,57 @@ public void rasScreenerSurveyScenario1PartOne() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.duringHerPregnancyWithYouSupplements)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.duringHerPregnancyWithYouSupplements)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.duringHerPregnancyWithYouSupplements)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.duringHerPregnancyWithYouSupplements)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.duringHerPregnancyWithYouSupplements)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.duringHerPregnancyWithYouSupplements)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(63)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherUseAnyTobacco)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherUseAnyTobacco)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherUseAnyTobacco)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherUseAnyTobacco)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(65)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherUseAnyVaping)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherUseAnyVaping)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(67)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherDrink)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherDrink)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherDrink)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherDrink)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(69)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherUseAnyRecreationalDrugs)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherUseAnyRecreationalDrugs)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(71)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherEverLiveWhereSmokedCigarettes)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherEverLiveWhereSmokedCigarettes)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherEverLiveWhereSmokedCigarettes)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.didYourBiologicalMotherEverLiveWhereSmokedCigarettes)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); @@ -1173,38 +1128,38 @@ public void rasScreenerSurveyScenario1PartOne() { public void rasScreenerSurveyScenario1PartTwo() { ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAnEndocrinologist)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAnEndocrinologist)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAnEndocrinologist)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAnEndocrinologist)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAnEndocrinologist)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAnEndocrinologist)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(76)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadGrowthHormoneTesting)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadGrowthHormoneTesting)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadGrowthHormoneTesting)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadGrowthHormoneTesting)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(78)); - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedGrowthHormoneTreatment)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedGrowthHormoneTreatment)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedGrowthHormoneTreatment)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedGrowthHormoneTreatment)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedGrowthHormoneTreatment)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedGrowthHormoneTreatment)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); @@ -1214,149 +1169,149 @@ public void rasScreenerSurveyScenario1PartTwo() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.wereYouEverDiagnosedWithHypotoniaAsAnInfantOrChild)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.wereYouEverDiagnosedWithHypotoniaAsAnInfantOrChild)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.wereYouEverDiagnosedWithHypotoniaAsAnInfantOrChild)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.wereYouEverDiagnosedWithHypotoniaAsAnInfantOrChild)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.wereYouEverDiagnosedWithHypotoniaAsAnInfantOrChild)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.wereYouEverDiagnosedWithHypotoniaAsAnInfantOrChild)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToSitWithoutSupport)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToSitWithoutSupport)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToSitWithoutSupport)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToSitWithoutSupport)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToSitWithoutSupport)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToSitWithoutSupport)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(84)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToWalkWithoutSupport)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToWalkWithoutSupport)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedPhysicalTherapy)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedPhysicalTherapy)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedPhysicalTherapy)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedPhysicalTherapy)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedPhysicalTherapy)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedPhysicalTherapy)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToUseSimpleTwoWordPhrases)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToUseSimpleTwoWordPhrases)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToUseSimpleTwoWordPhrases)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToUseSimpleTwoWordPhrases)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToUseSimpleTwoWordPhrases)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.atWhatAgeWereYouAbleToUseSimpleTwoWordPhrases)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(88)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.howWouldYouDescribeYourCurrentSpeechCapabilities)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.howWouldYouDescribeYourCurrentSpeechCapabilities)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.howWouldYouDescribeYourCurrentSpeechCapabilities)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.howWouldYouDescribeYourCurrentSpeechCapabilities)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedSpeechTherapy)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedSpeechTherapy)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedSpeechTherapy)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedSpeechTherapy)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedSpeechTherapy)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverReceivedSpeechTherapy)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(90)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.betweenTheAgesOf3And6YearsOld)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.betweenTheAgesOf3And6YearsOld)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.betweenTheAgesOf3And6YearsOld)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.betweenTheAgesOf3And6YearsOld)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.didYouReceiveOccupationalTherapyBetween3And6YearsOfAge)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.didYouReceiveOccupationalTherapyBetween3And6YearsOfAge)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.didYouReceiveOccupationalTherapyBetween3And6YearsOfAge)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.didYouReceiveOccupationalTherapyBetween3And6YearsOfAge)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.didYouReceiveOccupationalTherapyBetween3And6YearsOfAge)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.didYouReceiveOccupationalTherapyBetween3And6YearsOfAge)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(92)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.betweenTheAgesOf6And10)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.betweenTheAgesOf6And10)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.betweenTheAgesOf6And10)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.betweenTheAgesOf6And10)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(93)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.betweenTheAgesOf10And17)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.betweenTheAgesOf10And17)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.betweenTheAgesOf10And17)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.betweenTheAgesOf10And17)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.pleaseIndicateTheHighestDegree)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.pleaseIndicateTheHighestDegree)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.pleaseIndicateTheHighestDegree)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.pleaseIndicateTheHighestDegree)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.pleaseIndicateTheHighestDegree)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.pleaseIndicateTheHighestDegree)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); try { - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.whatIsYourCurrentEmploymentStatus)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.whatIsYourCurrentEmploymentStatus)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.whatIsYourCurrentEmploymentStatus)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.whatIsYourCurrentEmploymentStatus)); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.whatIsYourCurrentEmploymentStatus)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.whatIsYourCurrentEmploymentStatus)); CucumberLogUtils.logScreenshot(); } CucumberLogUtils.logScreenshot(); @@ -1379,20 +1334,20 @@ public void rasScreenerSurveyScenario1PartThree() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(372)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByACardiologist)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByACardiologist)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(320)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithAnyStructuralHeartIssues)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithAnyStructuralHeartIssues)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(100)); CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicClickOnCheckboxesScreener(12)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - CommonUtils.waitForClickability(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithAnyFunctionalHeartIssues)); + CommonUtils.waitForClickability(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithAnyFunctionalHeartIssues)); CommonUtils.waitForVisibility(myRASSurveyPage.haveYouEverBeenDiagnosedWithAnyFunctionalHeartIssueText); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithAnyFunctionalHeartIssues)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithAnyFunctionalHeartIssues)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.theNextTwoQuestionsWillAskAboutRASopathyDiagnosesText); @@ -1402,16 +1357,16 @@ public void rasScreenerSurveyScenario1PartThree() { public void rasScreenerSurveyScenario1PartFour() { ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouBeenDiagnosedWithARASopathy)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouBeenDiagnosedWithARASopathy)); + CommonUtils.waitForVisibility(dynamicLocator(ras_Survey_TestDataManager.haveYouBeenDiagnosedWithARASopathy)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouBeenDiagnosedWithARASopathy)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.theNextTwoQuestionsWillAskAboutMedicalHistoryText); CommonUtils.assertEqualsWithMessage(ras_Survey_TestDataManager.theNextSetOfQuestionsWillAskAboutGeneralMedicalHistory, myRASSurveyPage.rasSurveyText.getText(), "-- VERIFYING THE NEXT SET OF QUESTIONS WILL ASK ABOUT GENERAL MEDICAL HISTORY TEXT --"); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveAPrimaryCareProvider)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveAPrimaryCareProvider)); + CommonUtils.waitForVisibility(dynamicLocator(ras_Survey_TestDataManager.doYouHaveAPrimaryCareProvider)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHaveAPrimaryCareProvider)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForClickability(myRASSurveyPage.enterTextInPleaseProvideDetailsOnTheNameOfTheMedicationTakenRadioButton(1, 4)); @@ -1421,34 +1376,34 @@ public void rasScreenerSurveyScenario1PartFour() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(108)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadAnOperationOrBiopsy)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadAnOperationOrBiopsy)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(110)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenHospitalizedForAnyReason)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenHospitalizedForAnyReason)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.theNextTwoQuestionsWillAskAboutGiText); CommonUtils.assertEqualsWithMessage(ras_Survey_TestDataManager.theNextSetOfQuestionsWillAskAboutGi, myRASSurveyPage.rasSurveyText.getText(), "-- VERIFYING THE NEXT SET OF QUESTIONS WILL ASK ABOUT GI TEXT --"); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAGastroenterologist)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAGastroenterologist)); + CommonUtils.waitForVisibility(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAGastroenterologist)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAGastroenterologist)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicClickOnCheckboxesScreener(7)); CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicClickOnCheckboxesScreener(7)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.HaveYouEverHadAnyPhysicalSymptoms)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.HaveYouEverHadAnyPhysicalSymptoms)); + CommonUtils.waitForVisibility(dynamicLocator(ras_Survey_TestDataManager.HaveYouEverHadAnyPhysicalSymptoms)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.HaveYouEverHadAnyPhysicalSymptoms)); CucumberLogUtils.logScreenshot(); } public void rasScreenerSurveyScenario1PartFive() { ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(327)); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.areYouToiletTrained)); + CommonUtils.clickOnElement(dynamicLocator(ras_Survey_TestDataManager.areYouToiletTrained)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.medicationForAbdominalPainDropDownTwo()); @@ -1460,15 +1415,15 @@ public void rasScreenerSurveyScenario1PartFive() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(153)); - CommonUtils.clickOnElement(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.ifYouAreNotYetAbleToUseTheToilet)); + CommonUtils.clickOnElement(dynamicLocator(ras_Survey_TestDataManager.ifYouAreNotYetAbleToUseTheToilet)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); - CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.pleaseUseTheBristolStoolChart)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.pleaseUseTheBristolStoolChart)); + CommonUtils.waitForVisibility(dynamicLocator(ras_Survey_TestDataManager.pleaseUseTheBristolStoolChart)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.pleaseUseTheBristolStoolChart)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(351)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadAProcedureTestOrStudyToEvaluate)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadAProcedureTestOrStudyToEvaluate)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); } @@ -1479,23 +1434,23 @@ public void rasScreenerSurveyScenario1PartSix() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(380)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadAnEvaluationByAPulmonologist)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadAnEvaluationByAPulmonologist)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(162)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadWheezingOrWhistling)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadWheezingOrWhistling)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(163)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouBeenDiagnosedWithReactiveAirwayDisease)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouBeenDiagnosedWithReactiveAirwayDisease)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(164)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenSeenInTheEmergencyRoomForABreathing)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenSeenInTheEmergencyRoomForABreathing)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(165)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenSeenInTheHospitalForABreathing)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenSeenInTheHospitalForABreathing)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(330)); @@ -1503,7 +1458,7 @@ public void rasScreenerSurveyScenario1PartSix() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(166)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouReceiveRegularDentalCare)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouReceiveRegularDentalCare)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(168)); @@ -1511,71 +1466,71 @@ public void rasScreenerSurveyScenario1PartSix() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(167)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.whatWasTheReasonForYourLastDentalVisitOption)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.whatWasTheReasonForYourLastDentalVisitOption)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(169)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYourGumsBleedRegularlyWithToothBrushing)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYourGumsBleedRegularlyWithToothBrushing)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(170)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYourTeethOrGumsHurtRegularly)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYourTeethOrGumsHurtRegularly)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(171)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHavePeriodontalOrGumDisease)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHavePeriodontalOrGumDisease)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(172)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouHadDentalSealantsPlaced)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouHadDentalSealantsPlaced)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(173)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouCurrentlyHaveCavities)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouCurrentlyHaveCavities)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(174)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouPreviouslyHadAnyDentalFillings)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouPreviouslyHadAnyDentalFillings)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(175)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doesYourMouthUsuallyFeelDry)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doesYourMouthUsuallyFeelDry)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(176)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.overallHowWouldYouRateTheOverallHealth)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.overallHowWouldYouRateTheOverallHealth)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(177)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.overallHowWouldYouRateYourDentalHygieneRoutine)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.overallHowWouldYouRateYourDentalHygieneRoutine)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(178)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouHadAnyChangesInYourSenseOfSmell)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouHadAnyChangesInYourSenseOfSmell)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(179)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouHadAnyChangesInYourSenseOfTaste)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouHadAnyChangesInYourSenseOfTaste)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(180)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveJawOrTemporomandibularJointPain)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHaveJawOrTemporomandibularJointPain)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(181)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveFrequentHeadaches)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHaveFrequentHeadaches)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(182)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouHadAnyOrthodonticTreatment)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouHadAnyOrthodonticTreatment)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(184)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouHadAnyFacialOrDentalTrauma)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouHadAnyFacialOrDentalTrauma)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(186)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouHadElectiveJawSurgery)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouHadElectiveJawSurgery)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(189)); @@ -1587,19 +1542,19 @@ public void rasScreenerSurveyScenario1PartSix() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(191)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveAnyNumbnessInOrAroundYourMouth)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHaveAnyNumbnessInOrAroundYourMouth)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(192)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveAnyMouthSores)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHaveAnyMouthSores)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(193)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYourTeethFeelSensitiveToHotOrColdFoods)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYourTeethFeelSensitiveToHotOrColdFoods)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(194)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveProblemsMovingYourLipsTongueOrMouth)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHaveProblemsMovingYourLipsTongueOrMouth)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(195)); @@ -1622,7 +1577,7 @@ public void rasScreenerSurveyScenario1PartSix() { ras_Survey_TestDataManager.haveYouFeltThatLifeInGeneralIsLessSatisfying}; for (int jjj = 196; jjj < 210; jjj++) { CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(jjj)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(clickingOnOptionInMultiplePages[jjj - 196])); + JavascriptUtils.clickByJS(dynamicLocator(clickingOnOptionInMultiplePages[jjj - 196])); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); } @@ -1634,7 +1589,7 @@ public void rasScreenerSurveyScenario1PartSeven() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(331)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithALymphaticSystemIssue)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithALymphaticSystemIssue)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(332)); @@ -1642,11 +1597,11 @@ public void rasScreenerSurveyScenario1PartSeven() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(383)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByANephrologist)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByANephrologist)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(329)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithAKidneyProblem)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithAKidneyProblem)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(309)); @@ -1657,7 +1612,7 @@ public void rasScreenerSurveyScenario1PartSeven() { public void rasScreenerSurveyScenario1PartEight() { ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(385)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByADermatologist)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByADermatologist)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicClickOnCheckboxesScreener(4)); @@ -1665,7 +1620,7 @@ public void rasScreenerSurveyScenario1PartEight() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(221)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.isTheTextureOrAmountOfYourHairSimilar)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.isTheTextureOrAmountOfYourHairSimilar)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicClickOnCheckboxesScreener(7)); @@ -1678,7 +1633,7 @@ public void rasScreenerSurveyScenario1PartEight() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(224)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveAnyHemangiomas)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHaveAnyHemangiomas)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(rasopathyQuestionnairePage.dynamicClickOnCheckboxesScreener(5)); @@ -1691,7 +1646,7 @@ public void rasScreenerSurveyScenario1PartEight() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(387)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAnOrthopaedicSurgeon)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAnOrthopaedicSurgeon)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(226)); @@ -1699,15 +1654,15 @@ public void rasScreenerSurveyScenario1PartEight() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(352)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveAnyIssuesWithCurvingOfTheSpine)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHaveAnyIssuesWithCurvingOfTheSpine)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(231)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.hasYourNeckBeenDescribedAsShortOrWebbed)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.hasYourNeckBeenDescribedAsShortOrWebbed)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(353)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithJointIssues)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithJointIssues)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(311)); @@ -1718,15 +1673,15 @@ public void rasScreenerSurveyScenario1PartEight() { public void rasScreenerSurveyScenario1PartNine() { ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(389)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadAnEvaluationByAHematologist)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadAnEvaluationByAHematologist)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(354)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveIssuesWithBleedingOrBruising)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHaveIssuesWithBleedingOrBruising)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(355)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveAnyKnownBloodDisorders)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHaveAnyKnownBloodDisorders)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(238)); @@ -1734,15 +1689,15 @@ public void rasScreenerSurveyScenario1PartNine() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(356)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveAHistoryOfFrequentInfections)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHaveAHistoryOfFrequentInfections)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(391)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAnImmunologist)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAnImmunologist)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(357)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithAnAutoimmuneDisorder)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithAnAutoimmuneDisorder)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(312)); @@ -1753,23 +1708,23 @@ public void rasScreenerSurveyScenario1PartNine() { public void rasScreenerSurveyScenario1PartTen() { ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(393)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByANeurologist)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByANeurologist)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(358)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithAStructuralBrainAbnormality)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithAStructuralBrainAbnormality)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(359)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.doYouHaveAHistoryOfSeizures)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.doYouHaveAHistoryOfSeizures)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(395)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAPsychiatrist)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenEvaluatedByAPsychiatrist)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(360)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithABehavioral)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithABehavioral)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(249)); @@ -1781,11 +1736,11 @@ public void rasScreenerSurveyScenario1PartTen() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(250)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithPtosis)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverBeenDiagnosedWithPtosis)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(361)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadAnyIssuesWithYourVision)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverHadAnyIssuesWithYourVision)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(253)); @@ -1793,15 +1748,15 @@ public void rasScreenerSurveyScenario1PartTen() { CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(254)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverExperiencedStabismus)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverExperiencedStabismus)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(256)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouEverExperiencedNystagmus)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouEverExperiencedNystagmus)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(362)); - JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.haveYouExperiencedHearingLoss)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Survey_TestDataManager.haveYouExperiencedHearingLoss)); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForVisibility(myRASSurveyPage.dynamicTopText(260)); diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java new file mode 100644 index 000000000..8dc3be2b0 --- /dev/null +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java @@ -0,0 +1,112 @@ +package ServiceNow.CHARMS.StepsImplementation.RASStudy; + +import ServiceNow.CHARMS.Pages.RAS_Screener_Page; +import appsCommon.PageInitializers.PageInitializer; +import com.nci.automation.utils.CucumberLogUtils; +import com.nci.automation.utils.MiscUtils; +import com.nci.automation.web.CommonUtils; +import com.nci.automation.web.JavascriptUtils; +import org.openqa.selenium.NoSuchElementException; +import org.testng.Assert; + +import static ServiceNow.CHARMS.Pages.RAS_Screener_Page.dynamicLocator; + +public class RAS_Screener_Submissions_StepsImpl extends PageInitializer { + + public void screener_submissions() { + + CommonUtils.switchToNextWindow(); + MiscUtils.sleep(2000); + CommonUtils.waitForVisibility(myRASSurveyPage.rasSurveyThisCopyText); + //ASSERTING THAT THIS IS THE COPY FOR LOWER ENVIRONMENTS ONLY!!! MESSAGE DISPLAYS + Assert.assertEquals(myRASSurveyPage.rasSurveyThisCopyText.getText(), ras_Screener_Constants.THIS_IS_A_COPY); + CucumberLogUtils.logScreenshot(); + JavascriptUtils.scrollIntoView(rasopathyQuestionnairePage.studyNextButton); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + MiscUtils.sleep(2000); + if (!rasopathyQuestionnairePage.iAmCompletingThisFormForMyselfOption.isDisplayed()) { + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + + /** + * * * * * ARE YOU COMPLETING THIS FORM FOR SOMEONE ELSE OR FOR YOURSELF? * * * * + */ + + if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you completing this form for someone else or for yourself?")) { + CucumberLogUtils.scenario.log("* * * * ARE YOU COMPLETING THIS FORM FOR SOMEONE ELSE OR FOR YOURSELF? * * * *"); + dynamicLocator(ras_Screener_TestDataManager.areYouCompletingThisFormForSomeoneElseOrYourself).click(); + CucumberLogUtils.logScreenshot(); + if (ras_Screener_TestDataManager.areYouCompletingThisFormForSomeoneElseOrYourself.contentEquals("I am completing this form for myself")) { + CucumberLogUtils.scenario.log("* * * THIS IS A SELF SCREENER SUBMISSION * * *"); + + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + /** + * * * * * * ENTERING FIRST NAME, MIDDLE INITIAL, LAST NAME FOR * * WHAT IS YOUR NAME? * * * * * + */ + + try { + if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your name?")) { + CucumberLogUtils.scenario.log("* * * * * ENTERING FIRST NAME, MIDDLE INITIAL, LAST NAME * * * * *"); + rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.FIRST_NAME).sendKeys(ras_Screener_TestDataManager.firstName); + rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.MIDDLE_INITIAL).sendKeys(ras_Screener_TestDataManager.middleInitial); + rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.LAST_NAME).sendKeys(ras_Screener_TestDataManager.lastName); + CucumberLogUtils.logScreenshot(); + } + } catch (Exception e) { + CucumberLogUtils.scenario.log("* * * * FIRST NAME, MIDDLE INITIAL, LAST NAME PAGE FOR WHAT IS YOUR NAME NOT DISPLAYED * * TEST CONTINUES * * * *"); + } + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + + /** + * * * * * * WHAT IS YOUR DATE OF BIRTH? * * * * * + */ + try { + if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your date of birth?")) { + CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR DATE OF BIRTH? * * * * *"); + CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.dateOfBirthMonth, rasopathyQuestionnairePage.calendarMonthDropDown); + rasopathyQuestionnairePage.calendarYearTextBox.clear(); + rasopathyQuestionnairePage.calendarYearTextBox.sendKeys(ras_Screener_TestDataManager.dateOfBirthYear); + RAS_Screener_Page.dynamicDateOfBirthCalendarLocator(ras_Screener_TestDataManager.whatIsYourDateOfBirth).click(); + CucumberLogUtils.logScreenshot(); + } + } catch (Exception e) { + CucumberLogUtils.scenario.log("* * * * WHAT IS YOUR DATE OF BIRTH? QUESTION NOT DISPLAYED * * TEST CONTINUES * * * *"); + } + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + + /** + * * * * * * WHAT WAS YOUR SEX ASSIGNED AT BIRTH? * * * * * + */ + try { + if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What was your sex assigned at birth?")) { + CucumberLogUtils.scenario.log("* * * * * WHAT WAS YOUR SEX ASSIGNED AT BIRTH? * * * * * "); + dynamicLocator(ras_Screener_TestDataManager.sexAssignedAtBirthOption).click(); + CucumberLogUtils.logScreenshot(); + } + } catch (NoSuchElementException e) { + CucumberLogUtils.scenario.log("* * * * WHAT WAS YOUR SEX ASSIGNED AT BIRTH QUESTION NOT DISPLAYED * * TEST CONTINUES * * * *"); + } + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + + /** + * * * * * * ARE YOU ADOPTED? * * * * * + */ + + try { + if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you adopted?")) { + dynamicLocator(ras_Screener_TestDataManager.areYouAdoptedOption).click(); + CucumberLogUtils.logScreenshot(); + } + } catch (NoSuchElementException e) { + CucumberLogUtils.scenario.log("* * * * ARE YOU ADOPTED QUESTION NOT DISPLAYED * * TEST CONTINUES * * * *"); + } + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + + } + } + } + +} diff --git a/src/test/java/appsCommon/PageInitializers/PageInitializer.java b/src/test/java/appsCommon/PageInitializers/PageInitializer.java index 91fa17a8e..ea9d95291 100644 --- a/src/test/java/appsCommon/PageInitializers/PageInitializer.java +++ b/src/test/java/appsCommon/PageInitializers/PageInitializer.java @@ -127,7 +127,7 @@ public class PageInitializer extends WebDriverUtils { public static ProbandScreenerPage probandScreenerPage; public static MyRASLoginPage myRASLoginPage; public static MyRASHomePage myRASHomePage; - public static RASopathyQuestionnairePage rasopathyQuestionnairePage; + public static RAS_Screener_Page rasopathyQuestionnairePage; public static MyRASIIQFormPage myRASIIQFormPage; public static RAS_Scenario_One_StepsImpl ras_scenario_one_stepsImpl; public static RasScenario2StepsImpl rasScenario2StepsImpl; @@ -166,6 +166,7 @@ public class PageInitializer extends WebDriverUtils { public static MelanomaLoginPage melanomaLoginPage; public static MelanomaHomePage melanomaHomePage; public static MelanomaQuestionnairePage melanomaQuestionnairePage; + public static RAS_Screener_Submissions_StepsImpl ras_screener_submissions_steps_impl; /** CICDBuild instances */ // ServiceNow DevOps instances @@ -201,7 +202,6 @@ public class PageInitializer extends WebDriverUtils { public static UnauthenticatedApplicantPage unauthenticatedApplicantPage; public static StadtmanVacancyPage stadtmanVacancyPage; public static ApplicantFlowPage applicantFlowPage; - public static StadtmanVacancyStepsImplementation stadtmanVacancyStepsImplementation; public static OWMVacancyStepsImplementation oWMVacancyStepsImplementation; public static SSJLoginStepsImplementation sSJLoginStepsImplementation; @@ -415,7 +415,7 @@ public static void initializeAllPages() { rasScenario3StepsImpl = new RasScenario3StepsImpl(); rasScenario4StepsImpl = new RasScenario4StepsImpl(); ras_scenario_five_stepsImpl = new RAS_Scenario_Five_StepsImpl(); - rasopathyQuestionnairePage = new RASopathyQuestionnairePage(); + rasopathyQuestionnairePage = new RAS_Screener_Page(); ras_Screener_Constants = new RAS_Screener_Constants(); ras_Survey_Constants = new RAS_Survey_Constants(); iiq_Constants = new IIQ_Constants(); @@ -448,6 +448,7 @@ public static void initializeAllPages() { melanomaLoginPage = new MelanomaLoginPage(); melanomaHomePage = new MelanomaHomePage(); melanomaQuestionnairePage = new MelanomaQuestionnairePage(); + ras_screener_submissions_steps_impl = new RAS_Screener_Submissions_StepsImpl(); /** CICDBuild Instance Variables */ // ServiceNow DevOps instances From 4e2f997bf0195c442bb5c181be108c3edeb7214e Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Wed, 31 Jul 2024 20:36:57 -0400 Subject: [PATCH 06/23] .. --- .../RasopathyStudy/RAS Entire Flow.feature | 1 + .../CHARMS/Resources/RASScenario1.xlsx | Bin 26451 -> 26146 bytes .../Runners/Run_CHARMS_Progression_Test.java | 2 +- .../Steps/RAS_Screener_Submission_Steps.java | 2 +- .../Steps/RAS_Survey_Submission_Steps.java | 6 + .../RASStudy/RAS_Scenario_One_StepsImpl.java | 26 - .../RAS_Screener_Submissions_StepsImpl.java | 566 ++++++++++++++++-- 7 files changed, 511 insertions(+), 92 deletions(-) diff --git a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature index e79577157..810c1a8cb 100644 --- a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature +++ b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature @@ -6,6 +6,7 @@ Feature: RAS Screener Scenarios Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" And logs in via Okta with username "" and password "" And clicks on Eligibility Questionnaire to begin questionnaire + And clicks on "Eligibility Questionnaire" to begin survey When the participant submits a screener from excel sheet "" # And the consent is submitted for "" # Then data submitted for scenario is verified in native from the excel sheet "" diff --git a/src/test/java/ServiceNow/CHARMS/Resources/RASScenario1.xlsx b/src/test/java/ServiceNow/CHARMS/Resources/RASScenario1.xlsx index d8da7ab0a44a4f1525ef968c190e9baf9c3115c1..046a9d13e528fbd619cca66e0a45dde8a7007da2 100644 GIT binary patch delta 17091 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

^_gN+hP^hbUsY zYELG^?r5!lPE1*18ZCxKqxR_{0l!QonIy@=wm))J!6EZM&hCP|5%EQtgPD1Xd*xLh zhrd3yV{=QED}JDCKl;ZlR7g@Ss}>(LU)TZMXMXp+3#N}OxsPsR@El%9xOKu?|5jkv zLKt5b;DTp1zX{RXb;y%h@>?=-KbpE@@LkcmA?s|)?8#_}|6V@v&F2IW;5Qi=na%%t z|2^of&+~o1a}pcdd&=kMY_&`yJzDkZpQbh+YuO(4_I*m8!gDcxH7m*_8$mHySvFDV zQTiTHXsV;a6M^Hj!tB=*;bc-D9w!h(d~kDw_@qj5VyWqfG!xmS$M=V*cjPYdm7+UE#cu3Y8fh`(yX$i`&N8RpkCQI&v~zJ0z0FDO3Y`h;)E&w$9W!w zun{)_;zq;-;5Ts`Q^VTjS>AF;JHJta*==`15OqJ$#Z69S$Jh!x6SwuM8sq2b=k)yk zSk<|)yE-g7i(|1qA-)Z(wd>on7=wPt;kl4jE{MY5@kQR0!fpCG9ZNq;^!;!=dNRMb z%KwAc?eQi3xOlOf^MlOG|Ft=(ub127<@bI}NmAj$tQ4Lt2u;-g17H+oM?Q-?IZHOx2&|N2JsiC4~tx-3%`7B17SROk^ zm``rUxf*fHgnzW8^v^KoHRH$!FELxO%5OJFI(zvP()cZ$t^rvPbec&MZiM=W>_4LdzX( zd)6d)HcHQJp9>Q(T;aw2vwHwNn zo?#~91d7AgODNzzAkj3)hV_T_qs@Ir3{g@7A_dkBLk+K|eh(jHW6+d%D%}@2=rsMn z&?6LLNCuLU+RY_8NK5hhNC5AcN*z+suT|wuV`65GKvtb?MAH1h9WCQ`?qH!8wdY9$ zZ}RmfW*!9`#Pt3_k}zs=S=Wy*COhsJt4rl6n27@#gzHjH6%p0a6XC$cUfnohnVo9~ zNQTYhv?EC1BE*0^63p(yF~r;p#gmc?HvEAd5F)@A6;qfDn_+9E-}bOzo;20t>=z&V z#qmJiR;#xByJhgyJ7qw}nVkF{G*fYl^=*N`Y}}_DzX>uSWA}8XB1N_aMw^wm3Y&B} z`SSq&#mP8WOO+oC7f1VB7G7cI-fKnyK)Q|WJfk1q%L;7BG@85X?ZB^9q#4b>m}t?7 zdxwsrbATt!>k(al7q!`{VdfrwR8CQoz+DC(-&z#p`>{fSr%y3w&{y3!?|lT@G9Gd^ z0O1pkmn48+dP~T2F>JpQ9_411Qh7-fP>J|lgljQ>&v7Xmm6Zyi%9GV_!RUP z;OvxWc*VDLx&3_!u8hxH3ky`u@j>(cazsUIK2Jh9DxqKx(o1gY9#`rCD|~nU@@F7Y z64ApWL@bvWa{I#u2xFW6>(NbXGX<2Fv`r$S*C_`|J{)U({>iVWP}J{_`osWU)-tgQ zvRAU}dNdq|d332WN4OHIWY^0gK%Nnb+x$uux$}66%TalUkn9=+TWUgyKMf!jsKHHw_N=QpF z`w-yc;CuVyCAQFezL$5U_gXsDKC@G2TGJ~gSe0T-`Vt}mo+I-F!cfu~u%^r_z~$fO zsSnm%_VH@n8Ot1v>@ps=63$75CVBgzfWO0$#R6WChQx7 zf}gO3*6ZC<3l>|-9|jT6&+}#;)Gu8piI=xAN$|YffXEs_$i2O|k27bh=|we2PV2c3 z+%Ea8tq|-LCbAT1-baG_Tpe0G*kX=Q4i7p`xc@8Fb3*7q_AS#3KtnC^alNo$9kbag zk&p%Y6y*qcN3ycR%KlpIIWhPV-{&z{3oU5B%Qf7nL+aH9qUmdt*@(A#ci1^E%o6%L zN<35j1^rGr*Vp`$o#*3_erv;RNYt~Y7T9g{sCTW9iIOgnd-todvTj83i&>1J>NOUF zSR{z->zzO_f9)C*U^ol4A05�g|7M4cbO(i=)&;Xu2tPh;V2pYu8}9^(?LYjSgq| zt29tVB5vZ3$`};G&BG`yO+lm*e%jTi4A8DZ*=?pN;`HA5{rD;G*%3FY3@ndvzhsPual@u~d7D4S17PPJV{q=F zbuEdsn`kg9?MCW_o~ zC@sgxwwdQKPs+PMXAT4!!&Pq@4n&+qo9S5ubLMo1xZ?x0-~0|yP{6ujVZ302-oncH zg%h8z#xqE9?#>@RDJ6dim^ePpo7|2-)>!Yl$S{7k0LGpJOL{+}Y_k`*xuhln``dvc zQo4@=`~A>yggoXDT8bd@0;NrutFQ;K_gEA-^4m}sO^nUCTgB{5t%#Un<|{X?E%>*e z_#cxHjQwpS_)XjF+$8sEw(D(f$r)3RD>OZQ(vXT$UNLjHSq7N=imE~V*YS?<90KGI z*tjJ2fMg)n(CDCIHA3o5MBH6gF=&RlshPiqk4uCrP`$YOFQ~`i!k{vdm_)6S+9Nc8zW+K#00&MXENDGig{QV$00PY&XZhEj9(EyLt$SgG)Q=5%;uJ?S zrM^Kra7EjSO?kB(ylmd-e(cWZJ*^`%@VVPiny=ye$P{7|ImnpZ_EDf3wA5)3<*5ab z;KUUUV#xQ=T$tUCRbQL7xtPhZ)ty4Vj(3Q@s+sjo(sh{Na16>qCly~!fZOr=CGQDw z0izR(HCuB@wktB@pGWC9N(@*yZ)EFU(uvMA{j4Ms@KF@Sbu$Z9;QdNzQ-u?w?UPK% zY-6_I#DC~lnh4kvWj-edPg#{K_n@~MRn#*dNEZc5V6b7Z^sRdX7WX3$U1#KpeIa4y=UzwUBQbih~ z1;hdr#Qc^KJ0f_UhxEs&Q5j^CQAmeRA_a3G_m&VGK2HRqNK;FN2E67vr^V355LCPQ zvutIixNQZ-L-+$^naieGFcVvSU}OWGx!5g^N1BnzB+-epQ=s|8Mu?xrhMpQg!6i{t ztblSyQP7CZBf`m?&?{&f{E)ADOTz{_4vzgwjFKj&wZKfQOsAE11(xWS+DoU%A{~X%D^` zFwJqH>Sf&e$wIwIAnx}3WzO9uyox8bLwQ8G?{2`W zNGiw4Z|n|`JEVYBif{xxK1?d7n1OWX*I)4&msRGoTM_t(DzzL@x&i5mia3`8j6l0N zPh@fe;yDc2;5vytus_9nMmDVX^ja=*e)8XJJeo3z2!%^sJ0^l&EHJ~w?3N)rwk`v0 zS4NsYuz3tnjLH48C~f&|-%wk!IDU;>;0}|DOiDJ4%|?1iqV)kFAp7ZcV)abo0u!bs zL%^CTsWO6`xD>u5uengk$6<1g(V3C%4M^Ot4g~s+l(}PEFljI5e@_638`GFM2?~`F zkUT^Qu7N$LZ^hCep>4AoH%zAM*qLxVpY6*kQL;nZO#+Q;c-vAKN*a~*rdXQ~Gz7Yl z8GxAAZ)NR?yO;yKb=R7oKY3&p9Nc_`;?X|+vQ1qq)E_IIb~YU%s~J~5cwxIA;>rJx zq0J*YIUVJUl_6Q3?v2CJ)hAzvbBy>Q(_3dqTmgW$7?YDq4_w{oecLtdSjwd#BWOnR zdL4c0ioqq$?kk9=_CLssb>1^)`5ena%KK{_+8Guo7d)cn0U%qJQixK;e~?gC1A8{B zTD`C%>{vngnR=koE!al>V)TiE0D*EJn5fB%iC=I!Vuu?e3fOW5>ZSY za0Z^GoJm7<6b0CJoc;AL9Qi8;=&3R zM?3B0xgauHiwIF)p>n=G!`bjGaA$mN^HEkLdLng#vyNbP1prRC3bC#gb~(}(UMrH% z)e&(LdbPFzGd&k(y;12Fh|5>Y$k82wHF7hQkIn*e3_ukCw*=h^*#UFk5g_h-M#%J& zZXB9ihgpT$E{h}6d#2uUkO&h&`Y!B}9VzV&{O>cnS+QkR7h51t?jiL~|; z_Lt@~_(R2WXvzb^2`q)xHd|NqD%~mz`dqB&=<1hLyHM|Ap>%bI|BJKsR6quic$!mg z%slHP4uFPNfdeWWR8#96{ot(njcnZ{a`^}I8#Gt@5*bP`acOZPL8Ey{`h~-yCgbj5Y4PhBWRe5Jn5012%f>Q===a zr(B=Tm4pI~ISEHjg6lc1t`>dmKC zHh}DO#&EjdaSE2WWm(?v{^HVFF}+a;=rwfP$N+1-(&q=Wuzg+K*(7Jw4gra5k`pQ; z1J{>=5;xioPhz{bYY?8Mw{pzdzgb*^w(Ym@R|$D#_sP&F=xTLgH&cZ+HfhT%Q-!HN zSW~H!1=uxx?fNyaoL1NJc4)qIHDP;*y#T5_QUf40Igin6+gasZ#;qP_j_L*_|Jx< z2JtuQkOKX{<6qBusA5Yn_&JdoRkOI2^It>U4<9o2dB+%3JP3??sK4rX=TYAU-vC%0 zc9Do(RpY-+x#l>M%e=ezq;eMTEgGmCwf?WSpK$^gc{GIcFZzyc4hm-%0;lDti4Kq*dgJR~Tb&W<76 z#L=n9R#?`p#Ansac&1ZLcf+vzqRcoq!-0^b+u$a+uB}%)6=&6mUnMfZH8492rCxTp z4#QIC`#EVae|uJyOXZzi2;4SksBr>y=PWFp2@AS~@m)r^yUR2>u+S!pQ3DcC0Tal) zWaVal)&2hafs*5l;j`8<+~pPEHcm!jPCOBgZ%}t=$H$=uGQo21?}fa9aJ0IIqio8I z2KtuV#C&ftkYIf)%owaI{B}SVbYD9%MENY62QK_V^8C<;A(|HH=by z2nO82mzWML5zwk>fBA^%44+rS0_W`MC~=Ov=3f;n0qWp8DA_6;SGZEjzoVN2QTNmn zGU!z94N;}^&ranw0VfR4xsSJtadoR5^STlR!mYURKUHk9f6O*H(E$52jOIHDo@6Pf z?#P{(-zFbtAMo4S#-g-dpD#%V@$UcHGs!ZKE@X+q5MNSXI$-*mMXOdcjFZD&b@S2KS#x*JEQmz=G2@$Z;1p2V#nR1SDe3ruH}9%8DPdTVD@*c zQ`zdXL6MSHQ#Uit@h2Sqe^OxqBgCVg*+UsD^G!gU119a z=?eFVwSxUo6BFl6An?jh)V`<&rIcoxXm7c5%RtF3EKREyls5tPr=lpeSd`y20T+nv*BgPJUCCkt!Un;Ll@*#hf% zUsFA(KS3{NwMsf2*(P-G2c7gRa8QS-@0Ij_20ye;*ww%}r#|`!U?IJzEeFD?}Q0 z25SDWX3O=2G@+{270Cf*GKmE@k=-pz&%eoiL1Pca4)1hv-n&1ulB61k;;JLz^)2($#lj{ibMJ< z#Q_c=C>5?gM@xdo=ud^HTekGE_xOY}B&O-M>Ou%KV70|u96P+L$M+Fes!~zzH(UDp zU`aQ;Yi!Np9}6KAK`i<1X0o54p*#2BXy`VFJ| z&38w~QEWgfV|{2A4ZZb4X53rVn#>)wJ8KURzZ}`dk59x8eU`GT?Wb=m>@!#Q(SN)? zW?*63syn{}9Iev57NvedC2PF;%fJ`N-7dgx&!n};dvMOsO?(}fje7uDEvzyyX_kOn zBN#-5yI9V36Spe?wu)G1DRiAtJ~bFuL11Rz5r!>!Wz8+C(EFtzbpi?s)a-WVb~znD z4edU~lj&6$zI|!H))*kio0$4*ap9dKzZ%*Tj0T#F?doEg&e#Y;?A#5xfm$H{99lGK z@1!3xNVOT~K->WGr|(*5vc|?{hG~+{LQe+D*x*cuJ&T5!>q3)3Pr0ZnIy4-k12iy~ z>?m!Dumy)DV>sKh{gx+HUevIAU;F|Pemy&b#<1G4&}5?Ps>rmTCW4G<=yz~d z;gP_`u}R-uOm#F$H0D<#91!ZHswMv)E{8>*aI#)_6FvK#sPL@-$t@@byd`x<1$%uE z?Whu3ynLoKNnHjB$u=KTZtI#45X!enAJ`>3>E+dxF7|WQD{sNqdH66ucC9fydHsh| z?8;actRM>t@^`rti^W_ty6{y@R2yecV!1o~U*TWN8u&y#GW!ytdt^uU-g;|%kU`%D z1Zl4`ICW2&Kgu>!*hwjcq`fmvUEH%$t3S5Fdv)kj^^a3dKwnYMp(GPXaLTM$XLkuAFyqKpHb|DFd8 zn5tTkO7|NSSeC4otmzJ7vKEZ7vLX%!CC9AO&03n4#~u*q&{%o}-$R(z|41}YLI zASZ=8-LJ-ty>kzUeYR=SMVyE=M*h2j2`2y;N|aVIW-Pd|3)F-al)#uLH-ME?79#f z3;x=?`-UsimX2=95`pp=#OalnIvn3j;ES!SB|s48&fIRi584jA9r%?;Of&*PuiH=U zIs1dxEV#7FCb_#gjK)ItYV0~Acjg%0dz2f`#zZq(FA>$Kz=qhqv0lxLZm6Chd<7*^ zhvo7aSra;*)J;X7#I35onM%H+M9EUxbl1#Luy^uIUz^q^q^ha&l?}e#p;O0rrsUBE z7jT=Vzg*$0?|haSl7eSx=O|H&!s*4+y2!cqWwJ$mu`nNj_oP?4H#<$v(T@Rf)pY^Z z+T$)cdE)&PjOtU{XWNahZ7nAJC-36jShl@IaoC-Io>1MJXMR=oy&jR@QC;#+1%;%% zl91%HOxCGQg}Wf-RXJCfKfR{YPDQH^ApqV)1;`*ZLnS>#!;AGsRpC$kPQE}raftj} zmsaj`KdR*R32*r(q8yZBrSV>$sO8vF&4Y7qP92eBE0Z4!c%kx>88do|#jeUu8~q6S z!@xp|+ooCv7OqS9!FM3i(=P#KDP(VFE$eDOqsoZra6Y0M zb?Pyu==)msQs4XuWe>t^l*{;jYjsJ=rG~OdgsPp4^k)6U(s&?vcBo!kunV}c&UZJt zYja1qiY|E9Q~d5@wLy3#l@CR8WPv;q#ZhcOZ~-nJ>>84-byl8c%3V3kn!VL~+w@bv zrxN-IOM=6q%@K0PpC6x70F>niBvi?6ch0Addur7Gia+?ZAt6c&I(_t9Cu~R8)>EXE zg<-2^F*(%>(e#MRU<2SG_wK=XAC|gKkfFpva@aMD%^xv_|xr#eq}Ga z(_Eo&vk)-6W=_WEi{;UxJ%CW#jjLio0|e0JB)-2DE$Sgd^F8m;0VF02>~4%wyK0Yr z%6A+*e+V3Qbr*!@!~S@}zbt``0?*^`ILU8k2%b20Tkwi0t!Q09JSUo(Tz--DRC#ZM zR-d8Q(X}@0m{<1*1_V@Tv3ti>Tpgi`)rtx}OTkyYbe!tbS1Mm+NcsNdd({*Aj7%W> zD=D;#?+L{C#~P9~5nyn*JVJ#`7HpBGEnCAK1y~&eYCY+DNi z-tj2$4=?il4^;w};ajpJ??-pbCQmFE3 z@#`K*)igLNRR~`wx#_!W3Q~ET4MGfp+vvI}1ZlLlU*Jcw58+XJ8KXoL@ zF+RT84|&zBs-Um0p}r~RqG#iA*(3Lvn88D3$`0JOpf;Hr$d47$GTJQnU<0Aw%QqMK za{U{|_IgM|hu<06bsi5=r@PatQg)s?@e#k%IeG$0ws@Gp9;_0u z-IA>~%BJA-a_3>U&D<*AP&B;)>mp5xH-=MX>9Y?Dj8LSYo3_0Vr&gq35kg0!qXNLr zs`L$*R4lXY#jW_MpSQmpO&c(J>NudfI63hM%n=*ovSWZQZ~FcBP*pS&#Yw3K%$6Kk zQZ}$-0-&6;o4*EQxFJZk?Yh`v2bHCLxQou}(|h@uVcbyc+6PxedYkIXuB8?>5S)Y8 zTvFWSU%9H~&OP2nkAe5M#C&;C1@K55~6--l*xb+y7I?%cR6(OY!< zd135m`KlO4+GB?uK-jjzz@_%3o_pKYUTdw988FA~x^~{e_10(pv6Cn3?70e;sIrDw zLtSE}#xw!=J)LBRnVBs#Sn2A)%)x4e$p* z1A(^`=`RK!)Y3B10N=#CUSr1n*0jI=fa5Mr)T{SZigPq@A?t$Ye4f{ z<&N|ZwlJScW;1&7b558O+k2ALXolQeO4M%@Muzt_D|v_WaEbx(OjGm~l`*9wmz@xm zdi8w+`)=&J{5^wzU;f|37w#VUd>%+xl3f*3jvBq)=7tHWnCkypj?--mHe2QQgLNlL zw@fF=@iX9}x^{5z&xFF-y@a;r>i{MDgKZ@NeUt{eT&;mjlQ-5#kOiZ zJg|78lOVK0FQsPtLZN+n7gSo8IHY&q)Q#)`7R|YTfXlzv-OF^FI&ZfB*Y!aU%y<8f z?thw=CA>+NS4Q%-qx7eM%5TRfKNUGX@A1!R#i^D5E)_Es-+7q*_E~tn?Bd!J-{<{P zkBd6D_33WYi-pYj7nJ1~3O)Mv`TgMq?*|u1jADkK@{per#Bz)axEtv{m(=9@DFQO6 z+r)vJgyDdL7rJR&R2sgMQVFz|92q>H9FVFF+1501Udi}91S L)0NoPCxIjZ{HeWL delta 17416 zcmXuKV|1WR(={5~wry*|i8HZn+fJ_7wr$(y#GcqrCdtH3zWaI4I)C~{_1;}wU29jb z)hL<7%*1|-bN#1~>2goC3G`v6=l`Fjm+C1{|0rJvJ>M4^| zVrf?16=dSIHz+^-;h=PwqGQS!Z0NP82w}=86NL?Gq9h(H)!gB9#a~P|ad4~g0y>x{ ze+s%4bg7%|9~GMCY^9?-VRdh$4X*|ha~Upn?W>kslVEr!;ic~j1p{a|=egl~><-#!2BT&`-CbRs67D%yox3RPXt7C-h=>RT zm>YDDVTU4Qq`l-Q=hD_5 zf{U~4fW3w1G{-k`Y?{&or6wrKThk^MER-hH)+CY7K&FH}+@yxEzGO}jm&sMfY0S-n zBO8wF*@YOmKX);34>D^<9Z_GwEz)Iop(IA#1@7Ow)X2t%M$Ef56PzzX(#-pCr>2P5 za7`1>kAh0v=DRDn0P^kj{ebk?>_8miQab}V4$m4)jfiPUpO7OXyzJo~HN$1Z)Kp#I9Cu) zE8y{3FfK zXYWJPyKzaM0&b!w&70@xqSu~do41Dr`Hqxf`EC`3Ic{<@sL@IyLPp|j^#cAgb$z&X zfkGy@-|+6!fTbZ+oKc+Zs^iB1o9}pA%!qVt;t!nC;x)A)MdrGH- zQs7b`cI&21WaPkFQR(uk7`ydT)_Z6%Xzkk6tjUmz)gz%!Crw{>|te5cA#Jm7bbsgnig z?F}eaxQ{0`r#A7ZgZc*n8#`rn^(kmF9f`-`0p1)A^{qN)eSN!RpScO>?3rPgU`7u+ zj&P(SUcqMig&0-Iz-i(;&CkCO8H+f@zjkY1Z>N@xlJm@5T{j?yEcl3FC`$w91u2$^ z0uJ~lUWEwH%D|!GrP1_v^7p;ciac z10h_A?d#WRv$ApcW>rKeU3oN(4wcH}N%O3*5M|C*HtTKA3lv-kG)5$i)u$FtvkkW3 zp=yNGDx+nhuBTTBCQa(n3Jl{{H~JtcTtoKI=B=9D67O3yB_!a{z;=<&;1`?Z=`2(6 zBJx^)@_>8P_QVtYca}`cODh=tOiR`brJZev#`GZBay?I=g+S=J^ZEC=DNBhMK@Rs@ z)g5yK@*t5L>5Jeaspyu~DRZrfiVU2iKlvudSGbWL7&8b6$oKdEH8~kd_GGLGVf8^L zAn=Xs7<9tGMisUQgK~aXb89cr!W4n-vYx8FP9&;42$*JuSvizjf`&)vq*Ds4KWwGVVP5#sS6yqR`^Tn)<=EHICwk8LX6ZfxB2xk)nN8MoA+(+} zgR)$j=AVW>&BercA%QcnSf-R+(?8FT_+Yyc$GgPN)IQoQuTi~^5R(`326Q@ z_CKNd#bC3Rsj~xS<8(6e&({Atr0#s4SEeU$EIaid$-h5b&x<{rv7l-QshQK3dL%5s zsykB153FFMAhEwDIG>0RH^wO04dJixBC;kT6=ciFS)8On!UmfnC}8ERo@yw&qMJu} zrkKSfhB1S&g)%3|L5jbF6g>(jQ7j+=gF@uAGO=!rpp>|R8H@=X?Q}5}SsKq>O2ql$ zm~j(18ObTt$GX<+Eczw1DU1_L?EY{7qa-+)$_MrcuFz(^CE&#De)BjhzPEST7? z^>ve3sXKcZ>Y85Zt5%6GSk6+vv(DT9smluv$t>3pnDx(QmHAc_+Y$IXo{3R zG7^bUTC2vvq2Q$!v$7jOrsBMR`#M>x4rz;v6rucjwX$OTvD)!P8Hshc_fdbq1n=A;S29*E6Ins`H$zU6bn9)o@y;l(B7VI2^q*d*1 z6{85Y5r*9@iGCeXPx5Z<)UD2~-k-j@zPvnIJUiK{Hg|st_V51P&2wvhukN}(em(79 zy}WYv`{w7mO175|k52w_)Fw9i{xtu7yj&)FGAJMZLc?G#VVSX4ssO|r+i}xdxYTl< zW-eCNuYc_ zxLNjy5=`UL42c$@-j=B_5IS(|4T+2(rHt(uHcb~_!=pZ!pzcf%6DVfu*`UUtqjs&l zZjo*5-oHFaC(=gR_yI1D+@+t!i1hMFJhus6COTM6H*h-F#sz1qK}FouuCN>c>D8zCvl>2SSqjT?$7r?SyXp zh|Zu}oswMgRvZWL9MEEN=)}q77MM9nJ&Ua27_%R>@EqePiT+}=;w5DW zrqYkFvLo_0`ZdthgMyZ}wBZS=;_M#7@iD1BEOQw20+`FL<%l$wlE?<7j5dx!2SP)b z&D-87g3FML@EXZM%}^n87I2`Ypzja`hpm{JM>$e24;RNE51n989iTS(OoB`<3ok+& z`InfYG>ZS0Wi1O!5_&;yGbMV*BXgpCbBDtbvyixR6L z=)&WFBhiK1H-0DVuHG+3{)z6X2(f@A?9LhRAYuuo5Jgfn_IsPY3yP{GvGf&G#4Lxp5JrCjmzQ+%aeBhi{}D$ z|17_!4>++sLvv*~Egwwm?>`&6v1t>+FH!)_fr4d8yI&IieIG6Hk%vbMghl!xqWhsZ zfC(5QLoK9%Z^%vXlwx2H{uj#M5t0p4vcQohSUlWU`H1?@yY9mj+Ht}ES+a0DVRL}= zk7T_cHTN;I+huPMxKm7)Bu7k+hIa}(7i642+Ddoxy(h+S7ce+(wGldr1C*Oh)pD*Wzzd`^1tvY##$^=fY&U_ON5d_3q=l|*w8Xg-MbRM|Oo7hBA@-G5& zfE)Z>r6jQBuaKatBL^DNPlC{JvW?m;+p!j7Y}gRe8A5DH@?&E(rl^SSwT5T`T{^6H z2V_yF79}ckqoN3FbkZI18d0k82%ZfX^i48;47n@PeU`sY{RCmfv2ejHied~1&tJw$ zYo`OpUjMO(uECiU^5(=xx{FxpG{Pf+;#d~cahkWHh_wO&d~{cEDsT2f%jWF0@h`iJ zP*36q3yP@Ui}*&4Vr1M&pNSZiagsMxq%O9$2;qAN6d-0&&n)>yzvFih|IK!6nhxIu zT)XL$>r(Mj-4%z%&%;3^ z6R8{^u3Q$d!WO#{gT}dfp>%e%%|~GTy5tCNaToZDk4VZ>AXJoqzhLT8}w>bQmuxq zT+_8eQl6_50QHAz%}JO%86KWHED#?Tt)nhsbBl&9g1y?6jAT(>AKDkO`WacF{YPrl zk0T*(o~p0iU@8`4*z_6@r~B0&lPAl;oy4_#Awx$L=My%z#|oAv|Lzcvyn*s-1uvU8 zHy*vJIDU-D`=O+$GZ8M_6sJvF8X9 z`SeIGBTFr4?om@E9@c_pFCa% zFP6K9eUiN!=vR#Y{1m4`dtGq;k%AXKz#e3>DmlS!LrhCYEN*szBsO0c`%{q!sWXUp zJpFX)X|3Q=m zkA@`ZQ~;j&vR?eSB=frkQtYbG4hyE(f- zl+8ULJqv>As(9z4nX=Wxy9;m)BuOQq#>}USZP$#3F6m7Co2nL+qFSbZ8{i5`5^GH_ zR<$8f)7JRGlnz}2KPj#O>#BTPQ|<)U?Jbps4^-MKVRy-}S)Zq^fG_@UmcrEkWgEJL z9_*aXOa6btkkWuyRJ+UhPZ&fAbu^fIlylN%P5YqdQNmp^dCC9D8hjBm&^49+f4uNw zdMT;l{}J(d_(}AXB)X*kgPi<-kYp0d)KVQTWJwot*akW0l>dzg#MvK9C6^jzAN`kg zE`EY-6iMz0CFM+8Po6H)IQyjH61Me!j;^8v+Z2-jbGv^Q##42@@ISZ13y4mx$pn=D z=N5m@Qq^MNe_%t`U>r4%^}(^eR<}+5`gmt@FRIG85oxnX2^2=?nnkXX-be;q00*-ycw)b$~3I{~-u%PZOdHQ4|c$o#H zY)oYPi8^y8GQ7$NL^C#+s1cj%&FEjiqiv}~O_x(XF_VOCRP693i|3wqo3i?{-SdZI zHzu;-b9O_QHceG^F*oj%>Za0d$$#`t>*Z1am!erKaP(JiahLGQFSjC`>NjLMB0duP zYZA?|<#sUVKRBwSn3!z1#Rp`Jn6!-*XU3>WxV0UMK0Rs4;`WVIQiVu#Y{i(^HkGE4 zlH!eNrV{i_Ys%|r?L~&a{%5zVbdJC8LgbgI3k7}b}*LGS+gUj$#Jpzp6 zNdB)2bb+hlCr{FPO@Vd!^<|ZCs4PDn+f@IAHGQKuCX+R%i1udv_fJX%CA}aR3U*5Q zPJijNSC38wH3bHmixq1UTzDBubP=b)H0!Jm%v7V~X)KI6#L7>0@PdJ^t|z4i1-5K- zZ0pK~$Z@gs$DkgrG4*2#hJXto9>dWz!8OW{Iq+h42BuT{{4GPgB-Wa?C;g`y^FcMU zR0Qkgf06&V{ZhI_u8FjMj*o8XOp!5tr?sZvGgq^gfW(q;3x`|bUr~}?X{V`xBRFY| zjVAX|>OCZfw4leu>=hS3R-)yy=L*#wb@f_PzCw?V`cem_OO#m&$9w@ALOGRvHa=et znJT2{&dDK?t`hqJ{nAId#DwTfCcpv;Q-;#7E{Lvl!+^=LF)ga#rDA2538co4B~aIj zaYe+brUK$xrc?E|xZG+twC=6K8wiq`Y-=}kL0dk1VN#{0oKnzasLIA(RVJU##NmP* zWm1JT9TzoQRW_UNRS`hqnt%I@TQz$NUX^3*j$D<)#sk{^S?t}2TDL3@sd2l!F5?!z z5m9(o=`O1%u_+)a`KY3VPK>3fwwtg&GG`{Ae#%N$81?ppvm*=+7_wp}U!ivfh>FRo zD*9DL*;Jf!;fus%5#(hgrl{j5Gb%PFPatv#3FzMrA8|01#ev5vu7sG{@s(A#5n&Nr zJ75~i|E{1y4FyxB)dE?@@?Bo0Y%;f^cP`brD&V5>%~ljrO-avzhuGc^KDD}-Nx?)_ z1#=}dUYKnuVJ1~!H8t@lV9f#{|x$u7e4}O_;I$XOQEYtLs5z49ccBxCj zK8T2A<^~P7qO+1reeM-A*`(|uAQ7q+RzNbVzQSony%{Xie6aD>L{v2cH%_{8$N{Nl zF{)Pko5I9O#;x`(M`-RDdF2baxr<5`0q%mnAr6ra1Vkz)8HJq$NUFQREc6hjrz)C4 zE#>=7-P&#!TN7Nnu0C;?w0YPGF5M8pgtiA_n7XF%&Ux~9BK`DystpeUnjkJs8P31W zDzHtL1oDSegXrsn{r0h#JKD=N6~ipcVt4C@0AD9IXt!kS zfyVCFI~^_k*z=>)ih7&Xh(H=Up`b{#JE!kzPJ_WjGvkasjim-%4snD)#?8C_>_?s+m&t|^(k zW%pV|lT?#cU+m?b`e6S6k3Y0GOP^M<93`MnAhDaZV(QnDc2WC* zh2XOQ!UOf&9*<_kNHN5cdzR=Ou9suN({+wxsVoEs-37uw$lA%rvKCxAj1r&Z-xQg1 z9$$OFYEQ@3YcR8dVDIntzlK)aP5O+>Y!-U>1`mHe~ zsdTj3p-Xk>+I1~mV8w|@K2vx1iWz=TOEeE?k*){UXT0FN2NW?UAJBC^UtRKNQRKvk zTX%8wN=fDvTHC$-;b=nqX6Z85;ib_|auUp^HbI=yLN;ZLl66(jc`#PjSji4d*K{!9qIFn@jI&(x)mR8q(~q_-$Qn`Y9W z)DozacFk31@7_#F{as(`oYmM|e;Qe<5Ywa41bXYtyGmlP=28mXT5WdFqJBqZ&U%T@ zF~=Lj61(V>!Cc!uCX{ER)ma*8reF%p+IASdeoDzvm3QU%aDw~2({{_9=T;IAX(KYK z*kl(uk2(n-<{ev>GtjNBmk8SsxC=SL_h`;kr(i~$SXx7{|4N9a_R=bpy!$hH*pX54 z%0X2A>KTfja#Y>)_!ytl6^lG}%a%K5GD|9notXSAuxsD7R(lJv;i@Sbpu0O{Ee6{s>`egmcRNloL`KQ?Kno*{4L|sE`+YSDk*gNii zSPEo>w985%=P3#+-3O~7t>O%*z8)yWR?e};N%_>Q_Hne6GM9KCY)fDQPVa%6vWt2mDs_nCf-|Ocu=Yr~h(WQqN7yl~u>Lb}tV=t@@CT8YNqFAl zSbz)XB>a6%ZbirF788%C^PvXs+w1z_y@ti<_R5#Nn(h;SV_N>5)^pGwkNlelBRGb~ z;tg?}7MkGIOH)4zn@&I_%;5Xq0snzeJ>ZEY;PtrVuyC&-Bq`MQ_P9Q`(A?bL_wu^3 zK4oE1KUb__A@ucBF7$bRol7mKD)z%JxDiQOKz`&qA3(fxbRp$8WaU#?+db#qo_fZ~?-mk>g@N+e;C`OU( zv=eX^IDuUPi2KO~rn}y4*3m0RvYT0#)Dd{XrOqNUId4=0whReI>`2DaxG}dtWOM6$ zllax}cIA`LGbv!le=Y1u6Z>`p(S=WLT=O4F$CMKTTF$T+%<_6!@gCZ~)^Exol+2{2 zvwT8xoD;$sC59ao!+;sqWR);tiXY|k*EHUF6gcL_T&G3mr9^@yAjp}E9h2}}^p@;U zV`aCXHXEM*D4pJM9xViOPD+1gS~LZ;In>XLiwU^<`h@_(XvL*dUoi|Tw{;(K0>-JN zpkb?Gvy!q!WTT8@;R_vjz%GH@sT<)$;+WzIEyqU=)II zAaZW>PM_;x;Uh!3*D(Y!spQ_Yz-?SV@3G{92SeyYCUU};QDKt7ZCp%g9w?( z@%R58lol ul~aZrP60Oh;t8Z99hWj%~b+>Gpsz+#*dXFUnBgDdnOVVfVO+Ik+ti z;)mMe!|#<8w8$n9BhwulCKrKyU?oG&Z_xiJ69I->W{Quh^N9C~bz!$03*NVLj4m$6 zRX`cEgtgyL^2Yrk#!{N6D5AgfB%tR8dRZP9n$~y|fQWDr`zot8>ASm@ES-Ia| z(*UejNPSv(AICmCRL?>Ut@Q1R7?(eueBr?bl7SOHggz018(jYAa~dHjzD=u0SgSp8 z#i=nbmb9Nibxuc|GT1jZn5)%w%w3Jr^Jub2e}fKPgErcHW1G)(FRTy-5?8I z1%gRhTdNE zluI_Kze4f@5WSZKrDt@tQ3U;P6!v*v+pwF1(fxworX*j8Ebgj-n;9uk8Adqp&p-$F zwFG)2I=@p~;=5O#!gV`>DH^yVPyV4W7tX1;XUe*1h&>}sj>w^9O@u}AyH-|=w3F&# zabRH3vgn6jobB4xp^DGQ`!hrBS=~aaRH34do2(+OWg)kE2v%v{1d?fd=!$n~u z%2oHTU-i7#JD}}7AiQ{oNC(m!JDl7vt^Skc)QM=MNEAI%*E_t!&AQayJz!dX#@S0T zmk;|!543oqNMjb+8qZj_Ci#9AAMO0_OUzpv?jvS6I$x3+My<&*hHrB?g+MC!%kT(H zZ_7ZQNKnJdHtSFxD%d%0exT@&6)4AFle!z~nb!$S4(0RVPVIcmTWt34r4az)Nk@c= z2pNUtkrgzKUshSjq1w^Tf6x`(^u06BDY0qxUx_9pyrd|o&Q{rY> zW**)7Oh>yLr8vf3W{zY^dC5GDyi0=>&8SY%_RmJY9?@+4K5i3pF#>Z_F%A16s<|oM zcLfJorQ3)Mj*pt37&71`9Cs^XTM-n(kSIAc6u`I7&J+P^N0Y222;`Gw3kspuEkd|y z4J7=$xWxMgf3A;_76z>)J~)jJWzC}=F`n$ktD;6(B6&c4&9TzH{oy#7p74J0ZGYdhbEowa3S);+s-z}L zpNF3Z6fF*WT9{sD5B4kt>u@FLCCC?Qa%{z(xqJe!4OwREj9Q|mps|C;i5 z$}Hf?32q-^0N_U@gdu}x$0*c}tB?wZc|gPEX+NSPG=LsbH$CV}S{%on`Vr}hmqX2e3e7VMEH(uB<MLJ z{@82}Tz;Dkn@iC=@`E={tf&XV-fWQ5z9Y3h6( zU!);h8|3b~tE^|&mpgrO{uxe9{VXKp=lQ*FVc<_?aj=xU^p0%E=>N5MkA9qR@OM!H z>!l?PSU0U}uwgJ7`K#x>?;y;s4PI-Odn#LY$80(XX_ja`F`y1&C%lIsC?T52l3jje zz#vi$k@f*5s(ajG7)h!FN31*#B4a9?RVqHJymxVJwK=4ta?NO1okncuX~uZ1sq+rD z!e`qmk!`JU;J0p^Jp~tqgl0v%EXE&o<_ozB$n&x%^^2H=+!w0-L-+|k0g3lQj{ah& zz34*T=#6kSO(Ku=5ot2f`_D8cgrW0Y2wLEMoDQot@I<|9p2jC>k);f=2*%zWIi*ea zjd76AY`+v7a60ll0fu-1qy<_PIe)BqHnJDUTw|KS-;z32Bh$Gdmc^2HB)sBj#xLIB9PtMNQl^a`F9I2a z=MqTuDW)WINlNugGFYU}WiI@D>sT#Sz$BlPlU|2zINNkwC8#JtazP`ObSv5AhIfLM zMt?8Ga`Mo;lcddQUDLtjb=r;%>Zk}M?h!Me`pZtIe^Gc2Xu(#rM0FLJ!zwC?*}hTX zpGy9Ugw=*fR*H3q!x;|qlG{>^tU{UZZdATa{4DPRz_tZ~ z8>g)_Vo1HzWE%e{QbDyuCG(>~O(FMb&ICJ)Jk4~Nkq3lA@V8@;wm$fCliu?O@{GlB z@iqo5E?@1E8&QwsFb{`w^~e0NIks&xSKapN9%wes56~l7t9PrZ@`huCmcL56KU;Dr zqCbiv(p3#@9Z^1p9?!&~Xld4S097f)?4lxGnsU)h$O*mh0}8D`Pu_B_bvsl-UWtq6y2;Lw5QB^Jn zU`P%syd|bTZ72>UjVJ<)_!dJ=LGDx}SQd?2IeU_>7CtI#D%93f*ncXzMUpG;Gy`Hvm_zMS$q`$uzsrap}O zh^V7E;*e6fIE4u)VXxkjg;VDjrjl$1cfp94dJH@smlNqmW@?*@nOuc`7j*HubD1Jo zgbR>$|B27#h^Di5r$>pG0!n^O=I$vJn8!oTD+gK-LzmNb(E4R9=7C@AckL{rGIUzJ z$e@H`Ikwrt9K-!A{jVMo)%>1J^!6F%5x;o?+bcKXd_x{zWxLQyP0qqSW#dRrHNUo- z{|6>CWS=4Qm;G}nEVkkcvw-vmtr?uY&G!kAey$8OWdtm%a~}||0>L=$F|J_I5_KR^ z4uZ3R`3wKZU490nIpACq!SSKu+3aVk(u=UF`%RO}X`!xVH`@OZz_62r@Qc-}Sdk{BxA%y7)sRm>$cT!NsH!{!f0r)` zEq>#W`$Xy4^eBO!18%+&yrY1<%2DIMWOtppv44Um0(BwjOIEb>ctEBF#6(7!>-mg;AZB-5wFyK z3?doSuq4w<-~qQtI%%G~I)~bY_?U|$Q~qxIv(&$aQz~x*9no)+FMslxL;5S^JCzS* zUGjyJ|1?WPb3^weWM#<7t;5ZHOzbs_Q&F#Z`DAcOHA$32t<+yylUV>N{=Rw-sIITH+6dt z#eNv6G{B-12HE(4F_&dVtM?OCACt|R-&~DITeysGREw{iC##5XxCdh*tQFA})Xd6_ z8wwYW5IarQ11^9jgbjQP_Rm6Wu+E@c7?jqr4f_&^cGn zrgNP>HHtFzL}(O_=5}vIrCzlCPJ~XMXh1lZ5awZPj!IhxBX(b*9vX&PAJ_iY5Zu$h zT(6W?#AXw&c>NC_76Ybe>khC}|8)%Knhv2(wTI3Qq9CDOc5OI@{$mEkp+`(5nX z3#4=A_`L(~#f;W0{!Rle~5&205>Hb>OW`*)o_hN2m}CRNhCiXd6vmS81G#t9yPH7GiXpzWh3sA9$`R zgRU}o8WHUhf8QKPki(W~oyelnxjI{)j46L@`una3p0U7SfsYDe42z8Q=T@?NC)T?S zGbp}AD`Ori-;Rhs+Pb_VYU0n!t!5zOit?#gQLYeyq7N1hmmcc=&S(=&*pnJ~Ez zC&dCm2;v&8#5xM20e+=dF)v5mav1_=vqF3?U!i}5L331GmFGVCNAGCaLLJ;e2UILO|3$IAx7;jR0Tku2<|DFCE`(Yi~t^9GS!6GB$oeoBj)I|jh>;^b8&_@RkCk{N4gMKoVoRn6 zUdQqTYaC~m<`q&DKyXn$Wl3vw>ONO2{JzDRx7XkDV8-I_v+Lq;FW~^;a=e@%s#ERl z;dfw#rnft$aT1!qZ>_x^JxfW^PE|1FBAr$6*MQrxw1XafwSaOXpX zRb|#}F0i#&sj(;|;|z<>nK-^J=;sH0mzPq`@eP+wVgE&TGQTVhprbkPBv~NOSUaKI zaVQ_m*&bNb3X_JPfw>o?LZM2eQZAL=3RC4xiT+h%dFfP42P+U_U)~4Dkc$EB- z<9$|rl%`EqntO?8vZ`n2DuS|#Js*rh07XB&PZB{uRndAGzL4VDauF0nEGWcwP%DkSp%joi( z`xF_@m75m~Kyaq?MaMQ4>feH}loN&YZXAOyS~a}4Ak(ybX1J~d!3gsxFow8I8DVrT z#y__Yqy1f2dv<>k#g6u8ahl4%uAyVwLT0C$PoT5->=+^*ux*WazbCy*POyLNJ$_!{ z8i7XaCbrFsMF>-O-^9EkoR?aGp7V68TjX#j1kD2PaDjIPr|zcQ#t%bk{xNyou#TG6 zz^98@;tRDtNQP0cLF-nvdA*maYe=|X^k+KGtBc}q0GKmqyh=l5%UIhX!FE4!ucCx7 z4ok2{m_uqOkmR`PJ5;7mZ_NE8W5%{XW$wsqq@_hr-qPkL5$La=NV#|K)~SrO(8R9X zkiT$>72ZElDPO$)4H~Llg}tDz4GJ}M&x11HXE#qb!DnHk58-I?eQ;7w#mKY6kJ&_} zv@W3B{`8>vYxOg3g21?2q*iMyGaY`;`QuAuJ%S|(80A~POa04Fu8|NXsO>)oS#;z>Wi+R)fQa0^i=Ok*eno==O zFr=oA=8#qw8=Y0YRR>~)t>r2D6pg7DwZ}d@-s#4RsG|=(Q|B?q@9%Os*JKtQ7<6{j zjDtGf4Ujywm7B(cvOtP0dbO+keL?9{yb`rlgLla=bn`om?h+jfS7k}#J_vzsh^t9% z^>;q7`YaXvjiwWci*!r}uWcN)!_sk?me(%OVHI?8?i+eeJaN^wp_qhlbW~Ecg-xF@ zsB8<4+zA!bRRMN`6f?QfAxo{*w39p}2;%CV1i)$i^nW27dSpSE5)DwZHDhYw*Yc24 zy-7bF7+HI!J_4hJUgV+%kMpp#%ds3e%Qpon(5#brmtGFcKJiO1&Y#IfP5i+Ui4Qs! z{6>d#arMhEdZA^MTosDF5*~^cHoe}~V#aN^OrhqcV&iK5Z4!@KvbW4{4pyjZzv14k z2H2-?H@H>`p6)~uV<+9ur;`iZ*|B6@zWyDNefWyL!{J@xm5LjvJJn(0}D+ z^j^bgs)Hiydy2UB*7HrvRR&smY&lWiOmH*Xy!Z%gqVUu}x-bYd69@|x_mW1kjZCl- z=41>xTRJQJT<3G8h-OP`w3f;tu4~Gn0>qVrJp$Y+TP;#a4C-i8I&rP>WHveiCT2?H z|8ibhB=vg@)PT|cI*U494D6^LSQ4WdC{H7Hg(wV+jM!KXCe?63vm}%0fZ7jVFqr_k zAXoqooUU1v$@CutEvk{52wk8h&r^ac}%UPaLupScb(yaM6NSL+zlDwyg z0f-XS>;6!Xgy99jDU8=v?%d_=w%rjRgj7XR_u1WAr#tU{wg^1t*krj1EEB%i+#uo= zG+;YVMuU3z_Xldyv%B!H*+;im9*Tc8ll1Mwfl0f1^V!kGvfi7>USylVf!)w0O8NqY zuzlyTn!Xr3zRDyh@Z1-Z`WA!9^-{xj3_yFOV9y?F<7`W0xjA2h*<-uj7uIpc|HN9~ z9=@>uTcQu&;)O)ix_IP9w|qPGel#d&#C}<#FZvI)H=I;j95yKE_2f_#qxaRi@<_Xf zEc38r_5Oi{?M=6a6herSQvjstrr2b&$|%5~pid@9udvRbQ*cG5B=WN$8yVOvQ389bhRqzIjj2LPdLC;v-Xs%`r$v z#2!R2UMaCCIK4hE&F|Dd9(SLXUdPNqmJGhDD9^}aM#17ftoM)*nX9QrqFx$~RjDnJ z8&->+9s58NMNDs$3>&e#S4{nUU#;zSjhNo2Z+V{hh9&vHmsmXR@*_8RTVbrXiHWfGta;}W zHxhWcfzAh$ht?~jMR)vIrPUP90fW(VhcW2-qw3QSj>(4Q0=d^O)^bVBFWadf}! z65{uN=pLyl6;VkK6qG5Zb0d+nW!}i?i+NQpFu)7iS5CO4FDas_Du`ivmTG3GrZ@dg zbpaZAuV|pLBwT)hSF7MvFl|!ToR4xlaSlq6`uIR#v~qH#-s!2ofRXrtz1@c;oJ9G> zj5&ktLSJQ%lR*sQNoc9vRa>nqJKq_~=qDuU1$jW(a!5x7cRwP>9Ji;c2YnH_tCg7+Rq{v&FCG*$fSs&6pE(+4Eb02J>nIk&HSd#$JTKO-b zYmdGJ5G9JCNs2eW043S=IYXs+oGqF@u7QEkfi0sXUYB;fmEZwWiD^VK&WBGyE%`@8 zA1okphiE`ya2MlTn_38Yn=eH?fYMSA9BBJ13HkR=@XJ5PVk`CTLX>|7pxk4V?rs>R z#*OF$_V9xw`-}>R6&7(>j~z1Oq{143KmEv8lq=oDL;(Q*rEfR|px*DsrZJfjLs{rwdj9VFLff=pCnRAe`WjfVMS7u(55sigfIbq(SL!@)1uY%!L6>(3SD9hUuN&jd z-|xL^|ExRWOn5@3#bwjx54{#F0+I{66-B`*wX(ZBikXw|8;r@xM#)nOoYk$7)2IQCI)MDd|!R6#}K`Ys1@#%f=4&b$@;#r{j+TkA=LNzQ8BLx^3~-makL*T=1VU7pdEc?dSf@{ zFHWvT;IR^$K7Sj&6u8)<5JIwQq^L3Fda&4dY}3EwvMfz@n-cZ`oR}F{^?5IMcWe$_ zTxBm?8ehle%kq97%WnO6rs=Wkk?B^l9qq}AvNulUP9XM5jT-BPv|7XS>>I`x4SG=6 z>UIr&?sy$afKoZ@V-9)#J*yGTz!&Sg(|WqF1<~aPVe<8W+%fBbXzvekxm67Q32JJB zkMo3@HwX<3uxrKxugDa0j~U;>-o-@s#AgV9Os;c9y4otJ4~w2;U=!c)PsCJv`y`n8%auqT*E{d`Gms$!xtyiThu?Zf4&K8n)WMX?4SUth13p0Vi zHSb$FDkx3-_9+)3LIMZkbO}1=omRIAWe8sNPg4>KEvRYEs#=|do?qoyzvV;FD^~=g z&Nb>LLM!5BY&bS;wzIf(TszKY{A3Kh-|1Z;FglyPPSDcI1&~Yuk3gO58BMD5U5|7H zJKz)w^UV#gz?+Nn`Jr1Q*1Ft7)KvuxC?`+wL+-gz?R(XXYC5H7;)W)F#bNuaW)<~lG{Vj$If39kFHI9nMMor(spZ! zKcOnX&i#5{to3&I?js^(>+23Dikg>#L}`l2(IU5LbEUN>JSwwNc@C188e!A}lF*dt zR1T33&QvPz%XO`zkLaBG@YvtcbCF({-9?r&keZMqkf0X58F%IQ;pWTIYOqQ};vyh= zp*Q=z$b0}{ncLq+59>E{s!fR47kNpAo`M-*$PPz5dbr;H^PG7bH}_ayfG_vY=Z4#$ z;1?x3;f4-Ulfw!A<0e`EG1x7h6bI4f1h6YC2?w)ttz5IDA8<7xVr|PvJSkGH2|dnd zahn|qV58&NFIPRl$Vt>jV6z_|)rF}!GP zUS-M+>5?cKAw%p@v1Ce!R)$j`(Z#VdJ(gpTf9u;O&@LdPp98D~#FDGRIk%Ca=t z^kx0&^jTh;Q>zv(D`e@~#+10(Dj&42fzUB&caYTB_tjt>sI`+SZVU*8gUrf{?E?9UHbbJw+1{0`_* zNMj5sw=nl|;y-ht`rY@dH*7gX%StzDe6;cVUn(2yUSI1{w7`1F^*t^#=Y3;6(>Y<| zbKTqxH?|6`>+;H1+ia42!k|t3;ub~M=>@4vCF`d=-);_g)2`cI!Xr>CEN`wLRQs{eJw5FYo{Jbji;1g^^+R z|J8%H`7$#Ecr#Bv#m2o^H%5k$^;TfS!KBT8u?CFwCnq=M{z{*{d5i20!#O(?BLYR_ zorM#ykbv-ThC^GWOZ7`%0Dsr<_QKr?rEP?T+V;I zBBSK2bx86g7oXy-Mwi7e{^%@N>d(#CzevMzg~*bHo-x0+@Lcp-dFgn>CDA7?QBem= z3nM$`Xw-^w>T%ZpRpCsyzKz|2-BluxCEQ_iPG?4c$`;pY*%PlaxEZEQU=A0up4MEy zmCHr%f9?ux+0=QfVpkf!eOq?3$Lwg>-l>_|cXG_G9b287@t?15u03$!^w}xlyB9Sq zY6zUqrLaoi;@?>uKlT}^X{xjqZk%!V;n9k+%su_~Om{AZTA%F*2`b+EFO};}S^2K7 z5$l#;Q=EPA08j4id?z_A{d*Nc{((1Gbfg=I4?f-`MJX5@1ZRPuB z=C`dc?;SaJ;64AJdAAki7y=vm_xXKc25qk2d_O*l8G2fVU2+iP!O0Vob!8A6?HL#( zfboI=%)FBoQbZ@ePZpI%Y&}I+^lP$wiZ&~F3)p1;6j7$Pl3-2MDf*1MlUJuWFz%ZC zCPhI8v87aHU=T!6n;AEGcd9KD PQ{v=bsY+}Ql0lLHr~8}+ diff --git a/src/test/java/ServiceNow/CHARMS/Runners/Run_CHARMS_Progression_Test.java b/src/test/java/ServiceNow/CHARMS/Runners/Run_CHARMS_Progression_Test.java index 77f1925dd..453a68366 100644 --- a/src/test/java/ServiceNow/CHARMS/Runners/Run_CHARMS_Progression_Test.java +++ b/src/test/java/ServiceNow/CHARMS/Runners/Run_CHARMS_Progression_Test.java @@ -9,7 +9,7 @@ features = "src/test/java/ServiceNow/CHARMS/Features", glue = {"ServiceNow.CHARMS.Steps", "Hooks"}, tags = "@Progression", - dryRun = false + dryRun = true ) public class Run_CHARMS_Progression_Test extends AbstractTestNGCucumberTests{ } \ No newline at end of file diff --git a/src/test/java/ServiceNow/CHARMS/Steps/RAS_Screener_Submission_Steps.java b/src/test/java/ServiceNow/CHARMS/Steps/RAS_Screener_Submission_Steps.java index d02289497..d308fb595 100644 --- a/src/test/java/ServiceNow/CHARMS/Steps/RAS_Screener_Submission_Steps.java +++ b/src/test/java/ServiceNow/CHARMS/Steps/RAS_Screener_Submission_Steps.java @@ -59,7 +59,7 @@ public void clicks_on_Eligibility_Questionnaire_to_begin_questionnaire() { @Given("a RAS Screener has been submitted") public void a_ras_screener_has_been_submitted() { - + ras_scenario_one_stepsImpl.clicksOnEligibilityQuestionnaireToBeginQuestionnaire(); } } \ No newline at end of file diff --git a/src/test/java/ServiceNow/CHARMS/Steps/RAS_Survey_Submission_Steps.java b/src/test/java/ServiceNow/CHARMS/Steps/RAS_Survey_Submission_Steps.java index f16cb5375..455a2d08f 100644 --- a/src/test/java/ServiceNow/CHARMS/Steps/RAS_Survey_Submission_Steps.java +++ b/src/test/java/ServiceNow/CHARMS/Steps/RAS_Survey_Submission_Steps.java @@ -36,4 +36,10 @@ public void the_participant_will_be_able_to_rewind_the_form() { public void the_participant_submits_a_ras_survey_from_excel_sheet(String rasSurveySheet) { ras_scenario_one_stepsImpl.rasSurveyScenarioSelector(rasSurveySheet); } + + @Given("clicks on {string} to begin survey") + public void clicks_on_to_begin_survey(String text) { + + } + } \ No newline at end of file diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_One_StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_One_StepsImpl.java index 43717d430..a81e4d060 100644 --- a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_One_StepsImpl.java +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_One_StepsImpl.java @@ -300,32 +300,6 @@ public void rasScreenerSubmissionScenario1() { - - - - - -// try { -// dynamicLocator(ras_Screener_TestDataManager.areYouAdoptedOption).click(); -// CucumberLogUtils.logScreenshot(); -// } catch (NoSuchElementException e) { -// CucumberLogUtils.scenario.log("* * * NEXT BUTTON UNRESPONSIVE - - CLICKING AGAIN * * *"); -// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); -// dynamicLocator(ras_Screener_TestDataManager.areYouAdoptedOption).click(); -// CucumberLogUtils.logScreenshot(); -// } -// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - -// try { -// CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.countryOption, rasopathyQuestionnairePage.whatCountryDoesParticipantCurrentlyLiveInDropDown); -// CucumberLogUtils.logScreenshot(); -// } catch (NoSuchElementException e) { -// CucumberLogUtils.scenario.log("* * * NEXT BUTTON UNRESPONSIVE - - CLICKING AGAIN * * *"); -// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); -// CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.countryOption, rasopathyQuestionnairePage.whatCountryDoesParticipantCurrentlyLiveInDropDown); -// CucumberLogUtils.logScreenshot(); -// } -// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); // try { // rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_ADDRESS).sendKeys(ras_Screener_TestDataManager.street); // rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_2_ADDRESS).sendKeys(ras_Screener_TestDataManager.street2); diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java index 8dc3be2b0..b052f5e78 100644 --- a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java @@ -2,6 +2,7 @@ import ServiceNow.CHARMS.Pages.RAS_Screener_Page; import appsCommon.PageInitializers.PageInitializer; +import appsCommon.Utils.ServiceNow_Common_Methods; import com.nci.automation.utils.CucumberLogUtils; import com.nci.automation.utils.MiscUtils; import com.nci.automation.web.CommonUtils; @@ -21,6 +22,7 @@ public void screener_submissions() { //ASSERTING THAT THIS IS THE COPY FOR LOWER ENVIRONMENTS ONLY!!! MESSAGE DISPLAYS Assert.assertEquals(myRASSurveyPage.rasSurveyThisCopyText.getText(), ras_Screener_Constants.THIS_IS_A_COPY); CucumberLogUtils.logScreenshot(); + MiscUtils.sleep(2000); JavascriptUtils.scrollIntoView(rasopathyQuestionnairePage.studyNextButton); CucumberLogUtils.logScreenshot(); ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); @@ -29,84 +31,520 @@ public void screener_submissions() { ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); } - /** - * * * * * ARE YOU COMPLETING THIS FORM FOR SOMEONE ELSE OR FOR YOURSELF? * * * * - */ + if (ras_Screener_TestDataManager.areYouCompletingThisFormForSomeoneElseOrYourself.contentEquals("I am completing this form for myself")) { + CucumberLogUtils.scenario.log("* * * THIS IS A SELF SCREENER SUBMISSION * * *"); + } else if (ras_Screener_TestDataManager.areYouCompletingThisFormForSomeoneElseOrYourself.contentEquals("I am completing this form for someone else")) { + CucumberLogUtils.scenario.log("* * * THIS IS A PROXY SCREENER SUBMISSION * * *"); + } - if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you completing this form for someone else or for yourself?")) { - CucumberLogUtils.scenario.log("* * * * ARE YOU COMPLETING THIS FORM FOR SOMEONE ELSE OR FOR YOURSELF? * * * *"); - dynamicLocator(ras_Screener_TestDataManager.areYouCompletingThisFormForSomeoneElseOrYourself).click(); - CucumberLogUtils.logScreenshot(); - if (ras_Screener_TestDataManager.areYouCompletingThisFormForSomeoneElseOrYourself.contentEquals("I am completing this form for myself")) { - CucumberLogUtils.scenario.log("* * * THIS IS A SELF SCREENER SUBMISSION * * *"); + for (int i = 0; i < 40; i++) { - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + /** + * * * * * ARE YOU COMPLETING THIS FORM FOR SOMEONE ELSE OR FOR YOURSELF? * * * * + */ + try { + if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you completing this form for someone else or for yourself?")) { + CucumberLogUtils.scenario.log("* * * * ARE YOU COMPLETING THIS FORM FOR SOMEONE ELSE OR FOR YOURSELF? * * * *"); + dynamicLocator(ras_Screener_TestDataManager.areYouCompletingThisFormForSomeoneElseOrYourself).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } /** - * * * * * * ENTERING FIRST NAME, MIDDLE INITIAL, LAST NAME FOR * * WHAT IS YOUR NAME? * * * * * + * * * * * WHAT IS YOUR NAME? * * * * */ - - try { - if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your name?")) { - CucumberLogUtils.scenario.log("* * * * * ENTERING FIRST NAME, MIDDLE INITIAL, LAST NAME * * * * *"); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.FIRST_NAME).sendKeys(ras_Screener_TestDataManager.firstName); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.MIDDLE_INITIAL).sendKeys(ras_Screener_TestDataManager.middleInitial); - rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.LAST_NAME).sendKeys(ras_Screener_TestDataManager.lastName); - CucumberLogUtils.logScreenshot(); - } - } catch (Exception e) { - CucumberLogUtils.scenario.log("* * * * FIRST NAME, MIDDLE INITIAL, LAST NAME PAGE FOR WHAT IS YOUR NAME NOT DISPLAYED * * TEST CONTINUES * * * *"); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - CucumberLogUtils.logScreenshot(); - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your name?")) { + CucumberLogUtils.scenario.log("* * * * * ENTERING FIRST NAME, MIDDLE INITIAL, LAST NAME * * * * *"); + rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.FIRST_NAME).sendKeys(ras_Screener_TestDataManager.firstName); + rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.MIDDLE_INITIAL).sendKeys(ras_Screener_TestDataManager.middleInitial); + rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.LAST_NAME).sendKeys(ras_Screener_TestDataManager.lastName); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } /** - * * * * * * WHAT IS YOUR DATE OF BIRTH? * * * * * - */ - try { - if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your date of birth?")) { - CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR DATE OF BIRTH? * * * * *"); - CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.dateOfBirthMonth, rasopathyQuestionnairePage.calendarMonthDropDown); - rasopathyQuestionnairePage.calendarYearTextBox.clear(); - rasopathyQuestionnairePage.calendarYearTextBox.sendKeys(ras_Screener_TestDataManager.dateOfBirthYear); - RAS_Screener_Page.dynamicDateOfBirthCalendarLocator(ras_Screener_TestDataManager.whatIsYourDateOfBirth).click(); - CucumberLogUtils.logScreenshot(); - } - } catch (Exception e) { - CucumberLogUtils.scenario.log("* * * * WHAT IS YOUR DATE OF BIRTH? QUESTION NOT DISPLAYED * * TEST CONTINUES * * * *"); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - + * * * * * THE NEXT SET OF QUESTIONS WILL COLLECT BASIC INFORMATION ABOUT YOU. * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("The next set of questions will collect basic information about you.")) { + CucumberLogUtils.scenario.log("* * * * * THE NEXT SET OF QUESTIONS WILL COLLECT BASIC INFORMATION ABOUT YOU. * * * * *"); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } /** - * * * * * * WHAT WAS YOUR SEX ASSIGNED AT BIRTH? * * * * * + * * * * * WHAT IS YOUR DATE OF BIRTH? * * * * */ - try { - if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What was your sex assigned at birth?")) { - CucumberLogUtils.scenario.log("* * * * * WHAT WAS YOUR SEX ASSIGNED AT BIRTH? * * * * * "); - dynamicLocator(ras_Screener_TestDataManager.sexAssignedAtBirthOption).click(); - CucumberLogUtils.logScreenshot(); - } - } catch (NoSuchElementException e) { - CucumberLogUtils.scenario.log("* * * * WHAT WAS YOUR SEX ASSIGNED AT BIRTH QUESTION NOT DISPLAYED * * TEST CONTINUES * * * *"); + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your date of birth?")) { + CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR DATE OF BIRTH? * * * * *"); + CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.dateOfBirthMonth, rasopathyQuestionnairePage.calendarMonthDropDown); + rasopathyQuestionnairePage.calendarYearTextBox.clear(); + rasopathyQuestionnairePage.calendarYearTextBox.sendKeys(ras_Screener_TestDataManager.dateOfBirthYear); + RAS_Screener_Page.dynamicDateOfBirthCalendarLocator(ras_Screener_TestDataManager.whatIsYourDateOfBirth).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * WHAT WAS YOUR SEX ASSIGNED AT BIRTH? * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What was your sex assigned at birth?")) { + CucumberLogUtils.scenario.log("* * * * * WHAT WAS YOUR SEX ASSIGNED AT BIRTH? * * * * *"); + dynamicLocator(ras_Screener_TestDataManager.sexAssignedAtBirthOption).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * ARE YOU ADOPTED? * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you adopted?")) { + CucumberLogUtils.scenario.log("* * * * * ARE YOU ADOPTED? * * * * *"); + dynamicLocator(ras_Screener_TestDataManager.areYouAdoptedOption).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * IN WHICH COUNTRY DO YOU CURRENTLY LIVE? * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("In which country do you currently live?")) { + CucumberLogUtils.scenario.log("* * * * * IN WHICH COUNTRY DO YOU CURRENTLY LIVE? * * * * *"); + CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.countryOption, rasopathyQuestionnairePage.whatCountryDoesParticipantCurrentlyLiveInDropDown); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); /** - * * * * * * ARE YOU ADOPTED? * * * * * + * * * * * PLEASE PROVIDE THE MAILING ADDRESS WHERE STUDY MATERIALS CAN BE SENT, AS NEEDED. * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Please provide the mailing address where study materials can be sent, as needed.")) { + CucumberLogUtils.scenario.log("* * * * * PLEASE PROVIDE THE MAILING ADDRESS WHERE STUDY MATERIALS CAN BE SENT, AS NEEDED. * * * * *"); + rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_ADDRESS).sendKeys(ras_Screener_TestDataManager.street); + rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_2_ADDRESS).sendKeys(ras_Screener_TestDataManager.street2); + rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.CITY_TEXT).sendKeys(ras_Screener_TestDataManager.city); + rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STATE_TEXT).sendKeys(ras_Screener_TestDataManager.state); + rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.ZIP_CODE_TEXT).sendKeys(ras_Screener_TestDataManager.zipcode); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * WHAT IS YOUR EMAIL ADDRESS? * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your email address?")) { + CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR EMAIL ADDRESS? * * * * *"); + rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddress); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * PLEASE CONFIRM YOUR EMAIL ADDRESS * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Please confirm your email address")) { + CucumberLogUtils.scenario.log("* * * * * PLEASE CONFIRM YOUR EMAIL ADDRESS * * * * *"); + rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.CONFIRM_EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddressConfirm); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * PLEASE LIST YOUR PHONE NUMBERS BELOW. PLEASE ALSO SELECT YOUR PREFERRED CONTACT NUMBER. * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Please list your phone numbers below. Please also select your preferred contact number. ")) { + CucumberLogUtils.scenario.log("* * * * * PLEASE LIST YOUR PHONE NUMBERS BELOW. PLEASE ALSO SELECT YOUR PREFERRED CONTACT NUMBER. * * * * *"); + rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.HOME_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.homePhoneNumber); + rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.CELL_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.cellPhoneNumber); + rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.WORK_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.workPhoneNumber); + rasopathyQuestionnairePage.dynamicPhoneNumberCheckBox(ras_Screener_Constants.CELL_PHONE_NUMBER).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * WHAT IS YOUR ETHNICITY? * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your ethnicity?")) { + CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR ETHNICITY? * * * * *"); + dynamicLocator(ras_Screener_TestDataManager.whatIsYourEthnicity).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * WHAT IS YOUR RACE? PLEASE SELECT ALL THAT APPLY. * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your race? Please select all that apply.")) { + CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR RACE? PLEASE SELECT ALL THAT APPLY. * * * * *"); + dynamicLocator(ras_Screener_TestDataManager.whatIsYourRace).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * ARE YOU A PARTICIPANT IN ANY OTHER RESEARCH STUDY OR REGISTRY GROUP? PLEASE SPECIFY. * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you a participant in any other research study or registry group? Please specify.")) { + CucumberLogUtils.scenario.log("* * * * * ARE YOU A PARTICIPANT IN ANY OTHER RESEARCH STUDY OR REGISTRY GROUP? PLEASE SPECIFY. * * * * *"); + dynamicLocator(ras_Screener_TestDataManager.areYouAParticipantInOtherStudyGroup).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * TO DETERMINE ELIGIBILITY FOR THIS STUDY, WE NEED TO COLLECT INFORMATION ABOUT MEDICAL DIAGNOSES. THESE QUESTIONS ASK ABOUT GENERAL MEDICAL CONDITIONS, CANCER AND ANY PRIOR DIAGNOSIS OF A RASOPATHY. PLEASE COMPLETE THIS INFORMATION TO THE BEST OF YOUR KNOWLEDGE. * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("To determine eligibility for this study, we need to collect information about medical diagnoses. These questions ask about general medical conditions, cancer and any prior diagnosis of a RASopathy. Please complete this information to the best of your knowledge. ")) { + CucumberLogUtils.scenario.log("* * * * * TO DETERMINE ELIGIBILITY FOR THIS STUDY, WE NEED TO COLLECT INFORMATION ABOUT MEDICAL DIAGNOSES. THESE QUESTIONS ASK ABOUT GENERAL MEDICAL CONDITIONS, CANCER AND ANY PRIOR DIAGNOSIS OF A RASOPATHY. PLEASE COMPLETE THIS INFORMATION TO THE BEST OF YOUR KNOWLEDGE. * * * * *"); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * HAVE YOU EVER BEEN DIAGNOSED WITH THE FOLLOWING CONDITIONS? SELECT ALL THAT APPLY. IF YOU DO NOT SEE THE EXACT CONDITION DIAGNOSED, PLEASE SELECT THE CLOSEST ANSWER. * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you ever been diagnosed with the following conditions? Select all that apply. If you do not see the exact condition diagnosed, please select the closest answer.")) { + CucumberLogUtils.scenario.log("* * * * * HAVE YOU EVER BEEN DIAGNOSED WITH THE FOLLOWING CONDITIONS? SELECT ALL THAT APPLY. IF YOU DO NOT SEE THE EXACT CONDITION DIAGNOSED, PLEASE SELECT THE CLOSEST ANSWER. * * * * *"); + dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithFollowingConditions).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * HAVE YOU EVER BEEN DIAGNOSED WITH CANCER? * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you ever been diagnosed with cancer?")) { + CucumberLogUtils.scenario.log("* * * * * HAVE YOU EVER BEEN DIAGNOSED WITH CANCER? * * * * *"); + dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithCancer).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * HAVE YOU BEEN DIAGNOSED WITH A RASOPATHY SUCH AS NOONAN SYNDROME, NOONAN SYNDROME WITH MULTIPLE LENTIGINES, COSTELLO SYNDROME, CARDIOFACIOCUTANEOUS SYNDROME, LEGIUS SYNDROME, CAPILLARY ARTERIOVENOUS MALFORMATION SYNDROME, HEREDITARY GINGIVAL FIBROMATOSIS OR SYNGAP1 SYNDROME? * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you been diagnosed with a RASopathy such as Noonan syndrome, Noonan syndrome with multiple lentigines, Costello syndrome, cardiofaciocutaneous syndrome, Legius syndrome, capillary arteriovenous malformation syndrome, hereditary gingival fibromatosis or SYNGAP1 syndrome?")) { + CucumberLogUtils.scenario.log("* * * * * HAVE YOU BEEN DIAGNOSED WITH A RASOPATHY SUCH AS NOONAN SYNDROME, NOONAN SYNDROME WITH MULTIPLE LENTIGINES, COSTELLO SYNDROME, CARDIOFACIOCUTANEOUS SYNDROME, LEGIUS SYNDROME, CAPILLARY ARTERIOVENOUS MALFORMATION SYNDROME, HEREDITARY GINGIVAL FIBROMATOSIS OR SYNGAP1 SYNDROME? * * * * *"); + dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithARasopathy).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * WE KNOW THAT RASOPATHIES ARE A GROUP OF SYNDROMES THAT HAVE A GENETIC BASIS. IN ORDER TO HELP US DETERMINE ELIGIBILITY FOR THE RASOPATHIES STUDY, WE ALSO NEED TO KNOW ABOUT ANY GENETIC TESTING THAT HAS BEEN COMPLETED. WE WILL NEED A COPY OF ANY TEST RESULTS. * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("We know that RASopathies are a group of syndromes that have a genetic basis. In order to help us determine eligibility for the RASopathies Study, we also need to know about any genetic testing that has been completed. We will need a copy of any test results. ")) { + CucumberLogUtils.scenario.log("* * * * * WE KNOW THAT RASOPATHIES ARE A GROUP OF SYNDROMES THAT HAVE A GENETIC BASIS. IN ORDER TO HELP US DETERMINE ELIGIBILITY FOR THE RASOPATHIES STUDY, WE ALSO NEED TO KNOW ABOUT ANY GENETIC TESTING THAT HAS BEEN COMPLETED. WE WILL NEED A COPY OF ANY TEST RESULTS. * * * * *"); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * HAVE ANY OF YOUR BIOLOGICAL RELATIVES BEEN DIAGNOSED WITH A RASOPATHY? * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(" Have any of your biological relatives been diagnosed with a RASopathy?")) { + CucumberLogUtils.scenario.log("* * * * * HAVE ANY OF YOUR BIOLOGICAL RELATIVES BEEN DIAGNOSED WITH A RASOPATHY? * * * * *"); + dynamicLocator(ras_Screener_TestDataManager.haveAnyOfYourBiologicalRelativesBeenDiagnosedWithARasopathy).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * + * HAVE YOU EVER HAD GENETIC TESTING? * * * * */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you ever had genetic testing?")) { + CucumberLogUtils.scenario.log("* * * * * HAVE YOU EVER HAD GENETIC TESTING? * * * * *"); + dynamicLocator(ras_Screener_TestDataManager.haveYouEverHadGeneticTesting).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * WE WILL NOW ASK A FEW REMAINING QUESTIONS REGARDING THIS STUDY. * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("We will now ask a few remaining questions regarding this study.")) { + CucumberLogUtils.scenario.log("* * * * * WE WILL NOW ASK A FEW REMAINING QUESTIONS REGARDING THIS STUDY. * * * * *"); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * HOW DID YOU HEAR ABOUT THIS STUDY? IF A SPECIFIC HEALTH CARE PROVIDER REFERRED YOU TO THIS STUDY, PLEASE INCLUDE THEIR NAME IN THE CORRESPONDING TEXT BOX. * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("How did you hear about this study? If a specific health care provider referred you to this study, please include their name in the corresponding text box.")) { + CucumberLogUtils.scenario.log("* * * * * HOW DID YOU HEAR ABOUT THIS STUDY? IF A SPECIFIC HEALTH CARE PROVIDER REFERRED YOU TO THIS STUDY, PLEASE INCLUDE THEIR NAME IN THE CORRESPONDING TEXT BOX. * * * * *"); + CommonUtils.scrollIntoView(dynamicLocator(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy)); + dynamicLocator(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy); + rasopathyQuestionnairePage.dynamicLocatorForHowDidYouHearAboutStudyTextBoxes(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy).sendKeys(ras_Screener_TestDataManager.howDidYouHearAboutThisStudyOtherReason); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * HAVE YOU OR OTHER FAMILY MEMBERS EVER PARTICIPATED IN ANOTHER STUDY ON RASOPATHY AT ANOTHER MEDICAL INSTITUTION, UNIVERSITY, GOVERNMENT AGENCY OR OTHER SITE? * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you or other family members ever participated in another study on RASopathy at another medical institution, university, government agency or other site?")) { + CucumberLogUtils.scenario.log("* * * * * HAVE YOU OR OTHER FAMILY MEMBERS EVER PARTICIPATED IN ANOTHER STUDY ON RASOPATHY AT ANOTHER MEDICAL INSTITUTION, UNIVERSITY, GOVERNMENT AGENCY OR OTHER SITE? * * * * *"); + dynamicLocator(ras_Screener_TestDataManager.haveYouOrOtherFamilyMembersParticipatedInOtherStudy).click(); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * WHAT ARE THE MAIN REASONS FOR PARTICIPATING IN THIS STUDY? SELECT ALL THAT APPLY. PLEASE ELABORATE ON THE REASON IN THE CORRESPONDING TEXTBOX. * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What are the main reasons for participating in this study? Select all that apply. Please elaborate on the reason in the corresponding textbox.")) { + CucumberLogUtils.scenario.log("* * * * * WHAT ARE THE MAIN REASONS FOR PARTICIPATING IN THIS STUDY? SELECT ALL THAT APPLY. PLEASE ELABORATE ON THE REASON IN THE CORRESPONDING TEXTBOX. * * * * *"); + CommonUtils.scrollIntoView(dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy)); + System.out.println("TEXT IS: " + ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy); + dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy).click(); + rasopathyQuestionnairePage.dynamicLocatorForMainReasonForParticipatingInStudy(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy).sendKeys(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudyOtherReason); + CucumberLogUtils.logScreenshot(); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + } + /** + * * * * * YOU ARE ALMOST DONE! * * * * + */ + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contains("You are almost done!")) { + CucumberLogUtils.scenario.log("* * * * * YOU ARE ALMOST DONE! * * * * *"); + ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); + MiscUtils.sleep(3000); + CucumberLogUtils.logScreenshot(); + ServiceNow_Common_Methods.logOutOfNativeView(); + } + } catch (Exception e) { + CucumberLogUtils.scenario.log("* * * SCREENER COMPLETED * * *"); + break; + } +// if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you completing this form for someone else or for yourself?")) { +// CucumberLogUtils.scenario.log("* * * * ARE YOU COMPLETING THIS FORM FOR SOMEONE ELSE OR FOR YOURSELF? * * * *"); +// dynamicLocator(ras_Screener_TestDataManager.areYouCompletingThisFormForSomeoneElseOrYourself).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * WHAT IS YOUR NAME? * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your name?")) { +// CucumberLogUtils.scenario.log("* * * * * ENTERING FIRST NAME, MIDDLE INITIAL, LAST NAME * * * * *"); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.FIRST_NAME).sendKeys(ras_Screener_TestDataManager.firstName); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.MIDDLE_INITIAL).sendKeys(ras_Screener_TestDataManager.middleInitial); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.LAST_NAME).sendKeys(ras_Screener_TestDataManager.lastName); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * THE NEXT SET OF QUESTIONS WILL COLLECT BASIC INFORMATION ABOUT YOU. * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("The next set of questions will collect basic information about you.")) { +// CucumberLogUtils.scenario.log("* * * * * THE NEXT SET OF QUESTIONS WILL COLLECT BASIC INFORMATION ABOUT YOU. * * * * *"); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * WHAT IS YOUR DATE OF BIRTH? * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your date of birth?")) { +// CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR DATE OF BIRTH? * * * * *"); +// CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.dateOfBirthMonth, rasopathyQuestionnairePage.calendarMonthDropDown); +// rasopathyQuestionnairePage.calendarYearTextBox.clear(); +// rasopathyQuestionnairePage.calendarYearTextBox.sendKeys(ras_Screener_TestDataManager.dateOfBirthYear); +// RAS_Screener_Page.dynamicDateOfBirthCalendarLocator(ras_Screener_TestDataManager.whatIsYourDateOfBirth).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * WHAT WAS YOUR SEX ASSIGNED AT BIRTH? * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What was your sex assigned at birth?")) { +// CucumberLogUtils.scenario.log("* * * * * WHAT WAS YOUR SEX ASSIGNED AT BIRTH? * * * * *"); +// dynamicLocator(ras_Screener_TestDataManager.sexAssignedAtBirthOption).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * ARE YOU ADOPTED? * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you adopted?")) { +// CucumberLogUtils.scenario.log("* * * * * ARE YOU ADOPTED? * * * * *"); +// dynamicLocator(ras_Screener_TestDataManager.areYouAdoptedOption).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * IN WHICH COUNTRY DO YOU CURRENTLY LIVE? * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("In which country do you currently live?")) { +// CucumberLogUtils.scenario.log("* * * * * IN WHICH COUNTRY DO YOU CURRENTLY LIVE? * * * * *"); +// CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.countryOption, rasopathyQuestionnairePage.whatCountryDoesParticipantCurrentlyLiveInDropDown); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// +// /** +// * * * * * PLEASE PROVIDE THE MAILING ADDRESS WHERE STUDY MATERIALS CAN BE SENT, AS NEEDED. * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Please provide the mailing address where study materials can be sent, as needed.")) { +// CucumberLogUtils.scenario.log("* * * * * PLEASE PROVIDE THE MAILING ADDRESS WHERE STUDY MATERIALS CAN BE SENT, AS NEEDED. * * * * *"); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_ADDRESS).sendKeys(ras_Screener_TestDataManager.street); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_2_ADDRESS).sendKeys(ras_Screener_TestDataManager.street2); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.CITY_TEXT).sendKeys(ras_Screener_TestDataManager.city); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STATE_TEXT).sendKeys(ras_Screener_TestDataManager.state); +// rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.ZIP_CODE_TEXT).sendKeys(ras_Screener_TestDataManager.zipcode); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * WHAT IS YOUR EMAIL ADDRESS? * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your email address?")) { +// CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR EMAIL ADDRESS? * * * * *"); +// rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddress); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * PLEASE CONFIRM YOUR EMAIL ADDRESS * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Please confirm your email address")) { +// CucumberLogUtils.scenario.log("* * * * * PLEASE CONFIRM YOUR EMAIL ADDRESS * * * * *"); +// rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.CONFIRM_EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddressConfirm); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * PLEASE LIST YOUR PHONE NUMBERS BELOW. PLEASE ALSO SELECT YOUR PREFERRED CONTACT NUMBER. * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Please list your phone numbers below. Please also select your preferred contact number. ")) { +// CucumberLogUtils.scenario.log("* * * * * PLEASE LIST YOUR PHONE NUMBERS BELOW. PLEASE ALSO SELECT YOUR PREFERRED CONTACT NUMBER. * * * * *"); +// rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.HOME_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.homePhoneNumber); +// rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.CELL_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.cellPhoneNumber); +// rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.WORK_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.workPhoneNumber); +// rasopathyQuestionnairePage.dynamicPhoneNumberCheckBox(ras_Screener_Constants.CELL_PHONE_NUMBER).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * WHAT IS YOUR ETHNICITY? * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your ethnicity?")) { +// CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR ETHNICITY? * * * * *"); +// dynamicLocator(ras_Screener_TestDataManager.whatIsYourEthnicity).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * WHAT IS YOUR RACE? PLEASE SELECT ALL THAT APPLY. * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your race? Please select all that apply.")) { +// CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR RACE? PLEASE SELECT ALL THAT APPLY. * * * * *"); +// dynamicLocator(ras_Screener_TestDataManager.whatIsYourRace).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * ARE YOU A PARTICIPANT IN ANY OTHER RESEARCH STUDY OR REGISTRY GROUP? PLEASE SPECIFY. * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you a participant in any other research study or registry group? Please specify.")) { +// CucumberLogUtils.scenario.log("* * * * * ARE YOU A PARTICIPANT IN ANY OTHER RESEARCH STUDY OR REGISTRY GROUP? PLEASE SPECIFY. * * * * *"); +// dynamicLocator(ras_Screener_TestDataManager.areYouAParticipantInOtherStudyGroup).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * TO DETERMINE ELIGIBILITY FOR THIS STUDY, WE NEED TO COLLECT INFORMATION ABOUT MEDICAL DIAGNOSES. THESE QUESTIONS ASK ABOUT GENERAL MEDICAL CONDITIONS, CANCER AND ANY PRIOR DIAGNOSIS OF A RASOPATHY. PLEASE COMPLETE THIS INFORMATION TO THE BEST OF YOUR KNOWLEDGE. * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("To determine eligibility for this study, we need to collect information about medical diagnoses. These questions ask about general medical conditions, cancer and any prior diagnosis of a RASopathy. Please complete this information to the best of your knowledge. ")) { +// CucumberLogUtils.scenario.log("* * * * * TO DETERMINE ELIGIBILITY FOR THIS STUDY, WE NEED TO COLLECT INFORMATION ABOUT MEDICAL DIAGNOSES. THESE QUESTIONS ASK ABOUT GENERAL MEDICAL CONDITIONS, CANCER AND ANY PRIOR DIAGNOSIS OF A RASOPATHY. PLEASE COMPLETE THIS INFORMATION TO THE BEST OF YOUR KNOWLEDGE. * * * * *"); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * HAVE YOU EVER BEEN DIAGNOSED WITH THE FOLLOWING CONDITIONS? SELECT ALL THAT APPLY. IF YOU DO NOT SEE THE EXACT CONDITION DIAGNOSED, PLEASE SELECT THE CLOSEST ANSWER. * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you ever been diagnosed with the following conditions? Select all that apply. If you do not see the exact condition diagnosed, please select the closest answer.")) { +// CucumberLogUtils.scenario.log("* * * * * HAVE YOU EVER BEEN DIAGNOSED WITH THE FOLLOWING CONDITIONS? SELECT ALL THAT APPLY. IF YOU DO NOT SEE THE EXACT CONDITION DIAGNOSED, PLEASE SELECT THE CLOSEST ANSWER. * * * * *"); +// dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithFollowingConditions).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * HAVE YOU EVER BEEN DIAGNOSED WITH CANCER? * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you ever been diagnosed with cancer?")) { +// CucumberLogUtils.scenario.log("* * * * * HAVE YOU EVER BEEN DIAGNOSED WITH CANCER? * * * * *"); +// dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithCancer).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * HAVE YOU BEEN DIAGNOSED WITH A RASOPATHY SUCH AS NOONAN SYNDROME, NOONAN SYNDROME WITH MULTIPLE LENTIGINES, COSTELLO SYNDROME, CARDIOFACIOCUTANEOUS SYNDROME, LEGIUS SYNDROME, CAPILLARY ARTERIOVENOUS MALFORMATION SYNDROME, HEREDITARY GINGIVAL FIBROMATOSIS OR SYNGAP1 SYNDROME? * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you been diagnosed with a RASopathy such as Noonan syndrome, Noonan syndrome with multiple lentigines, Costello syndrome, cardiofaciocutaneous syndrome, Legius syndrome, capillary arteriovenous malformation syndrome, hereditary gingival fibromatosis or SYNGAP1 syndrome?")) { +// CucumberLogUtils.scenario.log("* * * * * HAVE YOU BEEN DIAGNOSED WITH A RASOPATHY SUCH AS NOONAN SYNDROME, NOONAN SYNDROME WITH MULTIPLE LENTIGINES, COSTELLO SYNDROME, CARDIOFACIOCUTANEOUS SYNDROME, LEGIUS SYNDROME, CAPILLARY ARTERIOVENOUS MALFORMATION SYNDROME, HEREDITARY GINGIVAL FIBROMATOSIS OR SYNGAP1 SYNDROME? * * * * *"); +// dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithARasopathy).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * WE KNOW THAT RASOPATHIES ARE A GROUP OF SYNDROMES THAT HAVE A GENETIC BASIS. IN ORDER TO HELP US DETERMINE ELIGIBILITY FOR THE RASOPATHIES STUDY, WE ALSO NEED TO KNOW ABOUT ANY GENETIC TESTING THAT HAS BEEN COMPLETED. WE WILL NEED A COPY OF ANY TEST RESULTS. * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("We know that RASopathies are a group of syndromes that have a genetic basis. In order to help us determine eligibility for the RASopathies Study, we also need to know about any genetic testing that has been completed. We will need a copy of any test results. ")) { +// CucumberLogUtils.scenario.log("* * * * * WE KNOW THAT RASOPATHIES ARE A GROUP OF SYNDROMES THAT HAVE A GENETIC BASIS. IN ORDER TO HELP US DETERMINE ELIGIBILITY FOR THE RASOPATHIES STUDY, WE ALSO NEED TO KNOW ABOUT ANY GENETIC TESTING THAT HAS BEEN COMPLETED. WE WILL NEED A COPY OF ANY TEST RESULTS. * * * * *"); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * HAVE ANY OF YOUR BIOLOGICAL RELATIVES BEEN DIAGNOSED WITH A RASOPATHY? * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(" Have any of your biological relatives been diagnosed with a RASopathy?")) { +// CucumberLogUtils.scenario.log("* * * * * HAVE ANY OF YOUR BIOLOGICAL RELATIVES BEEN DIAGNOSED WITH A RASOPATHY? * * * * *"); +// dynamicLocator(ras_Screener_TestDataManager.haveAnyOfYourBiologicalRelativesBeenDiagnosedWithARasopathy).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * +// * HAVE YOU EVER HAD GENETIC TESTING? * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you ever had genetic testing?")) { +// CucumberLogUtils.scenario.log("* * * * * HAVE YOU EVER HAD GENETIC TESTING? * * * * *"); +// dynamicLocator(ras_Screener_TestDataManager.haveYouEverHadGeneticTesting).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * WE WILL NOW ASK A FEW REMAINING QUESTIONS REGARDING THIS STUDY. * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("We will now ask a few remaining questions regarding this study.")) { +// CucumberLogUtils.scenario.log("* * * * * WE WILL NOW ASK A FEW REMAINING QUESTIONS REGARDING THIS STUDY. * * * * *"); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * HOW DID YOU HEAR ABOUT THIS STUDY? IF A SPECIFIC HEALTH CARE PROVIDER REFERRED YOU TO THIS STUDY, PLEASE INCLUDE THEIR NAME IN THE CORRESPONDING TEXT BOX. * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("How did you hear about this study? If a specific health care provider referred you to this study, please include their name in the corresponding text box.")) { +// CucumberLogUtils.scenario.log("* * * * * HOW DID YOU HEAR ABOUT THIS STUDY? IF A SPECIFIC HEALTH CARE PROVIDER REFERRED YOU TO THIS STUDY, PLEASE INCLUDE THEIR NAME IN THE CORRESPONDING TEXT BOX. * * * * *"); +// CommonUtils.scrollIntoView(dynamicLocator(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy)); +// dynamicLocator(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy); +// rasopathyQuestionnairePage.dynamicLocatorForHowDidYouHearAboutStudyTextBoxes(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy).sendKeys(ras_Screener_TestDataManager.howDidYouHearAboutThisStudyOtherReason); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * HAVE YOU OR OTHER FAMILY MEMBERS EVER PARTICIPATED IN ANOTHER STUDY ON RASOPATHY AT ANOTHER MEDICAL INSTITUTION, UNIVERSITY, GOVERNMENT AGENCY OR OTHER SITE? * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you or other family members ever participated in another study on RASopathy at another medical institution, university, government agency or other site?")) { +// CucumberLogUtils.scenario.log("* * * * * HAVE YOU OR OTHER FAMILY MEMBERS EVER PARTICIPATED IN ANOTHER STUDY ON RASOPATHY AT ANOTHER MEDICAL INSTITUTION, UNIVERSITY, GOVERNMENT AGENCY OR OTHER SITE? * * * * *"); +// dynamicLocator(ras_Screener_TestDataManager.haveYouOrOtherFamilyMembersParticipatedInOtherStudy).click(); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * WHAT ARE THE MAIN REASONS FOR PARTICIPATING IN THIS STUDY? SELECT ALL THAT APPLY. PLEASE ELABORATE ON THE REASON IN THE CORRESPONDING TEXTBOX. * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What are the main reasons for participating in this study? Select all that apply. Please elaborate on the reason in the corresponding textbox.")) { +// CucumberLogUtils.scenario.log("* * * * * WHAT ARE THE MAIN REASONS FOR PARTICIPATING IN THIS STUDY? SELECT ALL THAT APPLY. PLEASE ELABORATE ON THE REASON IN THE CORRESPONDING TEXTBOX. * * * * *"); +// CommonUtils.scrollIntoView(dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy)); +// System.out.println("TEXT IS: " + ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy); +// dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy).click(); +// rasopathyQuestionnairePage.dynamicLocatorForMainReasonForParticipatingInStudy(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy).sendKeys(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudyOtherReason); +// CucumberLogUtils.logScreenshot(); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// } +// /** +// * * * * * YOU ARE ALMOST DONE! * * * * +// */ +// else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contains("You are almost done!")) { +// CucumberLogUtils.scenario.log("* * * * * YOU ARE ALMOST DONE! * * * * *"); +// ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); +// MiscUtils.sleep(3000); +// CucumberLogUtils.logScreenshot(); +// ServiceNow_Common_Methods.logOutOfNativeView(); +// } - try { - if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you adopted?")) { - dynamicLocator(ras_Screener_TestDataManager.areYouAdoptedOption).click(); - CucumberLogUtils.logScreenshot(); - } - } catch (NoSuchElementException e) { - CucumberLogUtils.scenario.log("* * * * ARE YOU ADOPTED QUESTION NOT DISPLAYED * * TEST CONTINUES * * * *"); - } - ras_scenario_one_stepsImpl.clickOnScreenerNextButton(); - } } + } } From 3114ca916d823a2f6a42b025b651f9830b44ec74 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Thu, 1 Aug 2024 10:16:06 -0400 Subject: [PATCH 07/23] SSJ + CHARMS RAS SCREENER UPDATES --- .../Features/Applicant Profile.feature | 309 ++++++++++++++++-- .../Steps/ApplicantProfileSteps.java | 126 ++++++- .../ApplicantProfileStepsImpl.java | 281 +++++++++++++++- .../Playwright_ServiceNow_Common_Methods.java | 4 +- 4 files changed, 675 insertions(+), 45 deletions(-) diff --git a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature index 517c0af40..5838d68a5 100644 --- a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature +++ b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Features/Applicant Profile.feature @@ -1,7 +1,7 @@ Feature: Applicant Profile Scenarios Description: This Feature file contains Applicant Profile Scenarios - @juarezds @SSJ-32 @SSJ-33 @SSJ-36 @SSJ-92 @SSJ-98 @Regression @playwright + @SSJ-32 @SSJ-33 @SSJ-36 @SSJ-92 @SSJ-98 @JUAREZDS @Regression @playwright Scenario Outline: Verifying the Save application functionality Given a test account "" is reset before executing a test When User is on SSJ Landing page and user is "Maria Chaudhry" - PW @@ -11,7 +11,7 @@ Feature: Applicant Profile Scenarios And User inputs "" into last name field - PW And User inputs "" into email field - PW And User inputs "" into phone field - PW - And User inputs "" into business phone field - PW + And User inputs "" into business phone field - PW And selects highest education "" And User confirms being a US Citizen - PW And User inputs "

" into address field - PW @@ -25,25 +25,25 @@ Feature: Applicant Profile Scenarios And verifies that the saved address displays with "
", "", "", "", "", "" And verifies that the saved email address displays as "" And verifies that the saved phone number displays as "" - And verifies that the saved business phone number displays as "" + And verifies that the saved business phone number displays as "" And verifies that the saved highest education displays as "" And verifies that the saved US Citizenship displays as "" And tester navigates to native view to reset account with name "" so that automated test can run again without manual intervention Examples: - | firstName | middleName | lastName | email | phone | businessPhone | highestEducation | US Citizenship | address | aptNumber | city | state | country | zip | - | SSJTest | Michelle | Pololi | mario@gmail.com | 2018212343 | 2023323454 | Masters | Yes | 7 Mills | 12378 | Reston | VA | USA | 20453 | - | David | Black | Kristensen | kristen1@nih.gov | 2133212333 | 2902122234 | Bachelors | Yes | 2 Bells | 231 | McLean | VA | USA | 21333 | - | Krista | James | Bernier | bernierkd@nih.gov | 2018211343 | 2123323454 | Masters | Yes | 11 Kolls | 78 | Sterling | VA | USA | 20483 | - | Joe | Donald | Viola | violajc@nih.gov | 2233212333 | 2202122234 | Bachelors | Yes | 11 Bells | 23 | Ashburn | VA | USA | 29233 | - | William | Michel | Violette | violettews@nih.gov | 3018212343 | 2023323454 | Doctorate | Yes | 7 Mills | 13378 | San Diego | CA | USA | 90453 | - | Violeta | Seidell | Lack | seidellvv@nih.gov | 4133212333 | 2902122234 | Bachelors | Yes | 2 Bells | 2313 | Monterey | CA | USA | 94333 | - | Abby | Marianna | Molnar | molnaraj@nih.gov | 7018211343 | 2123323454 | Masters | Yes | 11 Kolls | 6 | Carmel | CA | USA | 97812 | - | Maureen | Jim | Kennedy | mkennedyh@nih.gov | 8233212333 | 2202122234 | Bachelors | Yes | 11 Bells | 39 | San Jose | CA | USA | 95112 | - | Jessica | Marianna | Mollick | mollickja@nih.gov | 7018211343 | 2123323454 | Masters | Yes | 11 Kolls | 6 | Sausalito | CA | USA | 97712 | - | Karen | Elena | Andrew | andrewkl@nih.gov | 8233212333 | 2202122234 | Bachelors | Yes | 11 Bells | 39 | Sacramento | CA | USA | 95512 | + | firstName | middleName | lastName | email | phone | businessPhoneVacancy | highestEducation | US Citizenship | address | aptNumber | city | state | country | zip | + | SSJTest | Michelle | Pololi | mario@gmail.com | 2018212343 | 2023323454 | Masters | Yes | 7 Mills | 12378 | Reston | VA | USA | 20453 | + | SSJTest | Black | Kristensen | kristen1@nih.gov | 2133212333 | 2902122234 | Bachelors | Yes | 2 Bells | 231 | McLean | VA | USA | 21333 | + | SSJTest | James | Bernier | bernierkd@nih.gov | 2018211343 | 2123323454 | Masters | Yes | 11 Kolls | 78 | Sterling | VA | USA | 20483 | + | SSJTest | Donald | Viola | violajc@nih.gov | 2233212333 | 2202122234 | Bachelors | Yes | 11 Bells | 23 | Ashburn | VA | USA | 29233 | + | SSJTest | Michel | Violette | violettews@nih.gov | 3018212343 | 2023323454 | Doctorate | Yes | 7 Mills | 13378 | San Diego | CA | USA | 90453 | + | SSJTest | Seidell | Lack | seidellvv@nih.gov | 4133212333 | 2902122234 | Bachelors | Yes | 2 Bells | 2313 | Monterey | CA | USA | 94333 | + | SSJTest | Marianna | Molnar | molnaraj@nih.gov | 7018211343 | 2123323454 | Masters | Yes | 11 Kolls | 6 | Carmel | CA | USA | 97812 | + | SSJTest | Jim | Kennedy | mkennedyh@nih.gov | 8233212333 | 2202122234 | Bachelors | Yes | 11 Bells | 39 | San Jose | CA | USA | 95112 | + | SSJTest | Marianna | Mollick | mollickja@nih.gov | 7018211343 | 2123323454 | Masters | Yes | 11 Kolls | 6 | Sausalito | CA | USA | 97712 | + | SSJTest | Elena | Andrew | andrewkl@nih.gov | 8233212333 | 2202122234 | Bachelors | Yes | 11 Bells | 39 | Sacramento | CA | USA | 95512 | - @juarezds @SSJ-32 @SSJ-33 @SSJ-36 @SSJ-92 @SSJ-98 @Regression @playwright @SSJ-712 @Smoke + @SSJ-32 @SSJ-33 @SSJ-36 @SSJ-92 @SSJ-98 @SSJ-712 @JUAREZDS @Regression @playwright Scenario Outline: Verifying the Save application functionality Given a test account "" is reset before executing a test When User is on SSJ Landing page and user is "Maria Chaudhry" - PW @@ -86,10 +86,25 @@ Feature: Applicant Profile Scenarios | firstName | middleName | lastName | email | phone | businessPhone | highestEducation | US Citizenship | address | aptNumber | city | state | country | zip | | SSJTest | Michelle | Pololi | mario@gmail.com | 2018212343 | 2023323454 | Masters | Yes | 7 Mills | 12378 | Reston | VA | USA | 20453 | + @alenan @SSJ-712 @Bug_Open @JUAREZDS @In_Progress @playwright @Smoke + Scenario: Edit Demographics of Profile + Given a test account "SSJTest" is reset before executing a test + When User is on SSJ Landing page and user is "Maria Chaudhry" - PW + When User is on Profile tab - PW + And User clicks Edit for Demographics section - PW + And User chooses to share demographic details - PW + And User edits sex choice - PW + And User edits ethnicity choice - PW + And User edits race choice - PW + And User edits disability choice - PW + And User saves the updated section - PW + And User clicks Edit for Demographics section - PW + And User chooses not to share demographic details - PW + Then User saves the updated section - PW + @US_APPTRACK-342 @TC_APPTRACK-385 @JUAREZDS @Regression @playwright Scenario Outline: Verifying applicant is able to see "Your Applications" tab and page content after applying to a Vacancy # Given an Okta user "" is on the SSJ home page and logs in - PLEASE LEAVE THIS HERE! NEED TO CONNECT WITH OKTA TEAM - Given a test vacancy "DIEGO TEST" is reset before creating a vacancy When User is on SSJ Landing page and user is "OWM Vacancy Manager" - PW And clicks on "Vacancy Dashboard" - PW And clicks on "+ Create Vacancy" - PW @@ -214,15 +229,13 @@ Feature: Applicant Profile Scenarios | SSJTest | Michelle | Pololi | mario@gmail.com | 2018212343 | 2023323454 | Masters | Yes | 7 Mills | 12378 | Reston | VA | USA | 20453 | Fred | Trout | Laste | referenceOne@test.com | 7036875816 | Supervisor/Manager | PROJECT MANAGER | TESTING ORGANIZATION FIELD FOR REFERENCE ONE | John | Steven | Vakhutko | referenceTwo@test.com | 7036875816 | Co-worker | TEST AUTOMATION LEAD | TESTING ORGANIZATION FIELD FOR REFERENCE TWO | - @US_APPTRACK-342 @TC_APPTRACK-385 @JUAREZDS @playwright @Regression + @US_APPTRACK-342 @TC_APPTRACK-385 @JUAREZDS @Regression @playwright Scenario: Verifying applicant does not see "Your Applications" tab if applicant has not applied to a Vacancy Given a user who has not applied to a Vacancy before is on the SSJ home page Then Your Applications tab should NOT be displayed - @TC_APPTRACK-145 @JUAREZDS @playwright @Regression + @TC_APPTRACK-145 @JUAREZDS @Regression @playwright Scenario: Verifying Vacancy details - Given the test application "SSJTest" is deleted to re-run automated tests - Given a test vacancy "DIEGO TEST" is reset before creating a vacancy When User is on SSJ Landing page and user is "OWM Vacancy Manager" - PW And clicks on "Vacancy Dashboard" - PW And clicks on "+ Create Vacancy" - PW @@ -257,19 +270,257 @@ Feature: Applicant Profile Scenarios And verifies Application Documents text "APPLICATION DOCUMENTS" And verifies required documents with required references needed to apply to this test Vacancy + @TC_APPTRACK-144 @JUAREZDS @Regression @playwright + Scenario: Applying for vacancy as unauthenticated applicant + Given an unauthenticated applicant is on the SSJ homepage "SSJPortalView" + And verifies that the drop drown text is "Login" + And clicks on the first vacancy + And verifies that Sign In and Apply button text is "Sign In and Apply" + And clicks "Sign In and Apply" + And verifies that the pop up header text is "Please log in." + And verifies that the pop up body text is + """ +You must be logged in to apply for a vacancy. +Would you like to log in now or go back to the home page? + """ + And verifies that the text on the buttons is "Create an account" "Log in" "Go Back" + And clicks "Log in" and is redirected to the Okta Login Portal + And verifies that the PIV CAC card button text is "Sign in with PIV / CAC card" + + @TC_APPTRACK-128 @JUAREZDS @Regression @playwright + Scenario Outline: Verification of the Save application functionality + Given a test account "SSJTest" is reset before executing a test + And a test vacancy "DIEGO TEST" is reset before creating a vacancy + And User is on SSJ Landing page and user is "OWM Vacancy Manager" - PW + And clicks on "Vacancy Dashboard" - PW + And clicks on "+ Create Vacancy" - PW + And enters Vacancy Title name "DIEGO TEST" - PW + And enters Vacancy Description "THIS IS A TEST AUTOMATION TEST" - PW + And selects "Yes" for point of contact - PW + And User sets an "Open Date" entry as today's date + And unselects the option for cover letter + And checks "Enable Reference Collection" check box + And selects a Reference Collection Date Ten days from today + And selects "2" for Full Contact Details for References + And selects "Research Fellow" for Position Classification drop down + And selects "HNC" for Organizational Code drop down + And clicks "Save" + And clicks Save for Mandatory Statements + And selects "David Rampulla" for Committee Member with chair role + And selects "Jay Kurani" for Committee Member with Executive Secretary role + And clicks "Save" + And clicks Save for Email Templates + And user is able to see the Review and Finalize section with the vacancy information submitted + And clicks "Save and Finalize" + And clicks "OK" + And clicks "Close" + And OWM Vacancy Manager logs out + When User is on SSJ Landing page and user is "Maria Chaudhry" - PW + And clicks on Vacancy Title "DIEGO TEST" + And clicks "Apply" + And clicks "Finish Profile" + And User inputs "" into first name field - PW + And User inputs "" into middle name field - PW + And User inputs "" into last name field - PW + And User inputs "" into email field - PW + And User inputs "" into phone field - PW + And User inputs "" into business phone field - PW + And selects highest education "" + And User confirms being a US Citizen - PW + And User inputs "
" into address field - PW + And User inputs "" into appNumber field - PW + And User inputs "" into city field - PW + And User inputs "" into state field - PW + And User inputs "" into country field - PW + And User inputs "" into zip field - PW + When User clicks on Save Application button - PW + And navigates to the "Home" tab to be able to apply to a vacancy after creating a profile + And clicks on Vacancy Title "DIEGO TEST" + And clicks "Apply" + And uploads cover letter if cover letter option is displayed + And uploads qualification statement if qualification statement is displayed + And uploads a Curriculum Vitae if Curriculum Vitae option is displayed + And uploads a Vision Statement if Vision Statement option is displayed + And clicks "Next" + And user is on the "References" page + And if reference one is required then user enters Reference One first name "Emily" + And enters Reference One last name "Jones" + And enters Reference One email address "test@test.com" + And User clicks on Save Application button + And verifies that successful save alert is displayed "Application successfully saved Back to Applications Home?x" + And user navigates to Your Applications tab + Then verifies that the application became a draft "Draft" + + Examples: + | firstName | middleName | lastName | email | phone | businessPhone | highestEducation | address | aptNumber | city | state | country | zip | + | SSJTest | Michelle | Pololi | mario@gmail.com | 2018212343 | 2023323454 | Masters | 7 Mills | 12378 | Reston | VA | USA | 20453 | + + @TC_APPTRACK-360 @JUAREZDS @Regression @playwright + Scenario Outline: Verification of the Save application functionality + Given a test account "SSJTest" is reset before executing a test + And User is on SSJ Landing page and user is "OWM Vacancy Manager" - PW + And clicks on "Vacancy Dashboard" - PW + And clicks on "+ Create Vacancy" - PW + And enters Vacancy Title name "DIEGO TEST" - PW + And enters Vacancy Description "THIS IS A TEST AUTOMATION TEST" - PW + And selects "Yes" for point of contact - PW + And User sets an "Open Date" entry as today's date + And unselects the option for cover letter + And checks "Enable Reference Collection" check box + And selects a Reference Collection Date Ten days from today + And selects "2" for Full Contact Details for References + And selects "Research Fellow" for Position Classification drop down + And selects "HNC" for Organizational Code drop down + And clicks "Save" + And clicks Save for Mandatory Statements + And selects "David Rampulla" for Committee Member with chair role + And selects "Jay Kurani" for Committee Member with Executive Secretary role + And clicks "Save" + And clicks Save for Email Templates + And user is able to see the Review and Finalize section with the vacancy information submitted + And clicks "Save and Finalize" + And clicks "OK" + And clicks "Close" + And OWM Vacancy Manager logs out + When User is on SSJ Landing page and user is "Maria Chaudhry" - PW + And clicks on Vacancy Title "DIEGO TEST" + And clicks "Apply" + And proceeds with completing profile by clicking "Finish Profile" + And User inputs "" into first name field - PW + And User inputs "" into middle name field - PW + And User inputs "" into last name field - PW + And User inputs "" into email field - PW + And User inputs "" into phone field - PW + And User inputs "" into business phone field - PW + And selects highest education "" + And User confirms being a US Citizen - PW + And User inputs "
" into address field - PW + And User inputs "" into appNumber field - PW + And User inputs "" into city field - PW + And User inputs "" into state field - PW + And User inputs "" into country field - PW + And User inputs "" into zip field - PW + When User clicks on Save Application button - PW + And navigates to the "Home" tab to be able to apply to a vacancy after creating a profile + And clicks on Vacancy Title "DIEGO TEST" + And clicks "Apply" + And uploads cover letter if cover letter option is displayed + And uploads qualification statement if qualification statement is displayed + And uploads a Curriculum Vitae if Curriculum Vitae option is displayed + And uploads a Vision Statement if Vision Statement option is displayed + And clicks "Next" + And user is on the "References" page + Then if reference one is required then user enters Reference One first name "" + And enters Reference One middle name "" + And enters Reference One last name "" + And enters Reference One email address "" + And enters Reference One phone number "" + And selects Reference One relationship as "" + And enters Reference One position title "" + And enters Reference One organization name "" + Then if reference two is required then user enters Reference Two first name "" + And enters Reference Two middle name "" + And enters Reference Two last name "" + And enters Reference Two email address "" + And enters Reference Two phone number "" + And selects Reference Two relationship as Co-worker + And enters Reference Two position title "" + And enters Reference Two organization name "" + And User clicks on Save Application button + And verifies that successful save alert is displayed "Application successfully saved Back to Applications Home?x" + And user navigates to Your Applications tab + Then verifies that the application became a draft "Draft" + And clicks Edit vacancy "DIEGO TEST" + And uploads cover letter if cover letter option is displayed + And uploads qualification statement if qualification statement is displayed + And uploads a Curriculum Vitae if Curriculum Vitae option is displayed + And uploads a Vision Statement if Vision Statement option is displayed + And clicks "Next" + And user is on the "References" page + Then if reference one is required then user enters Reference One first name "" + And enters Reference One middle name "" + And enters Reference One last name "" + And enters Reference One email address "" + And enters Reference One phone number "" + And selects Reference One relationship as "" + And enters Reference One position title "" + And enters Reference One organization name "" + Then if reference two is required then user enters Reference Two first name "" + And enters Reference Two middle name "" + And enters Reference Two last name "" + And enters Reference Two email address "" + And enters Reference Two phone number "" + And enters Reference Two position title "" + And enters Reference Two organization name "" + And clicks " Save Application" + And verifies that successful save alert is displayed "Application successfully saved Back to Applications Home?x" + And user navigates to Your Applications tab + And clicks on Vacancy Title "DIEGO TEST" + And uploads cover letter if cover letter option is displayed + And uploads qualification statement if qualification statement is displayed + And uploads a Curriculum Vitae if Curriculum Vitae option is displayed + And uploads a Vision Statement if Vision Statement option is displayed + And clicks "Next" + And verifies that Reference One "", "", "", "", "", "", "" is updated + And verifies tha Reference Two "", "", "", "", "", "", "" is updated + And clicks " Save Application" + And verifies that successful save alert is displayed "Application successfully saved Back to Applications Home?x" + And user navigates to Your Applications tab + And clicks on Remove button + And "Confirm" that the draft was removed + And verifies that the draft is no longer showing under Your Application tab + And navigates to the "Home" tab to be able to apply to a vacancy after creating a profile + And clicks on Vacancy Title "DIEGO TEST" + And clicks "Apply" + Then user is on the "Application Documents" page + And uploads cover letter if cover letter option is displayed + And uploads qualification statement if qualification statement is displayed + And uploads a Curriculum Vitae if Curriculum Vitae option is displayed + And uploads a Vision Statement if Vision Statement option is displayed + And clicks "Next" + Then user is on the "References" page + Then if reference one is required then user enters Reference One first name "" + And enters Reference One middle name "" + And enters Reference One last name "" + And enters Reference One email address "" + And enters Reference One phone number "" + And selects Reference One relationship as "" + And enters Reference One position title "" + And enters Reference One organization name "" + Then if reference two is required then user enters Reference Two first name "" + And enters Reference Two middle name "" + And enters Reference Two last name "" + And enters Reference Two email address "" + And enters Reference Two phone number "" + And enters Reference Two position title "" + And enters Reference Two organization name "" + And clicks "Next" + Then user is on the "Demographic Information" page + And user agrees to share demographic details and help improve the hiring process. + And selects "Male" for Sex + And selects "Hispanic or Latino" for Ethnicity + And selects "American Indian or Alaska", "Asian", "Black or African-American", "Native Hawaiian or other", "White" for Race + And selects "None of the conditions listed above apply to me." for Disability or Serious Health Condition + And clicks "Next" + Then user is on the "Review" page + And clicks "Submit Application" + And clicks "Ok" + And clicks "Done" + And user navigates to Your Applications tab + And user withdraws the application + And "Confirm" withdrawing the application + Then verifies that the application status is "Withdrawn" + + Examples: + | firstName | middleName | lastName | email | phone | businessPhone | highestEducation | address | aptNumber | city | state | country | zip | referenceOneFirstName | referenceOneMiddleName | referenceOneLastName | referenceOneEmail | referenceOnePhoneNumber | referenceOneRelationship | referenceOnePositionTitle | referenceOneOrganizationName | referenceTwoFirstName | referenceTwoMiddleName | referenceTwoLastName | referenceTwoEmail | referenceTwoPhoneNumber | referenceTwoPositionTitle | referenceTwoOrganizationName | updatedReferenceOneFirstName | updatedReferenceOneMiddleName | updatedReferenceOneLastName | updatedReferenceOneEmail | updatedReferenceOnePhoneNumber | updatedReferenceOneRelationship | updatedReferenceOnePositionTitle | updatedReferenceOneOrganizationName | updatedReferenceTwoFirstName | updatedReferenceTwoMiddleName | updatedReferenceTwoLastName | updatedReferenceTwoEmail | updatedReferenceTwoPhoneNumber | updatedReferenceTwoPositionTitle | updatedReferenceTwoOrganizationName | + | SSJTest | Michelle | Pololi | mario@gmail.com | 2018212343 | 2023323454 | Masters | 7 Mills | 12378 | Reston | VA | USA | 20453 | Fred | Trout | Laste | referenceOne@test.com | 7036875816 | Supervisor/Manager | PROJECT MANAGER | TESTING ORGANIZATION FIELD FOR REFERENCE ONE | John | Steven | Vakhutko | referenceTwo@test.com | 7036875816 | TEST AUTOMATION LEAD | TESTING ORGANIZATION FIELD FOR REFERENCE TWO | Elizabeth | Mary | Smith | updatedReferenceOne@test.com | 7036875817 | Colleague | BUSINESS ANALYST | UPDATED TESTING ORGANIZATION FIELD FOR REFERENCE ONE | Adam | Elliot | Washington | updatedReferenceTwo@test.com | 7036875817 | PRODUCT OWNER | UPDATED TESTING ORGANIZATION FIELD FOR REFERENCE TWO | - #APPTRACK-144 - IN PROGRESS -#APPTRACK-827 - review - Set close date? -#APPTRACK-1158 - IN PROGRESS -#APPTRACK-134 - review - OUTDATED -#APPTRACK-133 - review - OUTDATED + +#APPTRACK-827 - review #APPTRACK-370 - review -#APPTRACK-135 - IN PROGRESS -#APPTRACK-360 - IN PROGRESS -#APPTRACK-129 - OUTDATED -#APPTRACK-128 - review #APPTRACK-127 #APPTRACK-928 +#APPTRACK-928 #APPTRACK-927 #APPTRACK-1130 #APPTRACK-594 diff --git a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Steps/ApplicantProfileSteps.java b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Steps/ApplicantProfileSteps.java index cd930566f..b16683a52 100644 --- a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Steps/ApplicantProfileSteps.java +++ b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/Steps/ApplicantProfileSteps.java @@ -4,7 +4,6 @@ import ServiceNow.PlatformBusinessApps.SSJ.playwright.StepsImplementation.ApplicantProfileStepsImpl; import ServiceNow.PlatformBusinessApps.SSJ.playwright.StepsImplementation.Reset_Account_StepsImpl; import appsCommon.PlaywrightUtils.Playwright_ServiceNow_Common_Methods; -import com.nci.automation.web.PlaywrightUtils; import io.cucumber.java.en.Given; import io.cucumber.java.en.Then; import io.cucumber.java.en.When; @@ -149,7 +148,7 @@ public void user_clicks_edit_for_demographics_section_pw() { @Then("User clicks Demographics section - PW") public void user_clicks_demographics_section_pw() { - PlaywrightUtils.page.locator(Profile_Tab_Page.demographicsOptionalTab).click(); + page.locator(Profile_Tab_Page.demographicsOptionalTab).click(); } @When("User chooses to share demographic details - PW") @@ -282,6 +281,7 @@ public void selects_for_race(String americanIndianOrAlaska, String asia, String ApplicantProfileStepsImpl.selects_for_race(americanIndianOrAlaska, asia, blackOrAfricanAmerican, nativeHawaiianOrOther, white); } + @Then("selects {string} for Disability or Serious Health Condition") public void selects_for_disability_or_serious_health_condition(String text) { ApplicantProfileStepsImpl.selects_for_disability_or_serious_health_condition(text); @@ -606,4 +606,124 @@ public void verifies_application_documents_text(String expectedText) { public void verifies_required_documents_with_required_references_needed_to_apply_to_this_test_vacancy() { ApplicantProfileStepsImpl.verifies_required_documents_with_required_references_needed_to_apply_to_this_test_vacancy(); } -} \ No newline at end of file + + @Given("an unauthenticated applicant is on the SSJ homepage {string}") + public void an_unauthenticated_applicant_is_on_the_ssj_homepage(String ssjHomePage) { + ApplicantProfileStepsImpl.an_unauthenticated_applicant_is_on_the_ssj_homepage(ssjHomePage); + } + + @Given("verifies that the drop drown text is {string}") + public void verifies_that_the_drop_drown_text_is(String expectedDropDownText) { + ApplicantProfileStepsImpl.verifies_that_the_drop_drown_text_is(expectedDropDownText); + } + + @Given("clicks on the first vacancy") + public void clicks_on_the_first_vacancy() { + ApplicantProfileStepsImpl.clicks_on_the_first_vacancy(); + } + + @Given("verifies that Sign In and Apply button text is {string}") + public void verifies_that_sign_in_and_apply_button_text_is(String expectedSignInButtonText) { + ApplicantProfileStepsImpl.verifies_that_sign_in_and_apply_button_text_is(expectedSignInButtonText); + } + + @Given("verifies that the pop up header text is {string}") + public void verifies_that_the_pop_up_header_text_is(String expectedModalHeaderText) { + ApplicantProfileStepsImpl.verifies_that_the_pop_up_header_text_is(expectedModalHeaderText); + } + + @Given("verifies that the pop up body text is") + public void verifies_that_the_pop_up_body_text_is(String expectedModalBodyText) { + ApplicantProfileStepsImpl.verifies_that_the_pop_up_body_text_is(expectedModalBodyText); + } + + @Given("verifies that the text on the buttons is {string} {string} {string}") + public void verifies_that_the_button_text_is(String expectedCreatedAnAccountText, String expectedLogInText, String expectedGoBackText) { + ApplicantProfileStepsImpl.verifies_that_the_button_text_is(expectedCreatedAnAccountText, expectedLogInText, expectedGoBackText); + } + + @Given("clicks {string} and is redirected to the Okta Login Portal") + public void clicks_and_is_redirected_to_the_login_portal(String logInButton) { + ApplicantProfileStepsImpl.clicks_and_is_redirected_to_the_login_portal(logInButton); + } + + @Given("verifies that the PIV CAC card button text is {string}") + public void verifies_that_the_piv_cac_card_button_text_is(String pivCacCardButtonText) { + ApplicantProfileStepsImpl.verifies_that_the_piv_cac_card_button_text_is(pivCacCardButtonText); + } + + @Then("User sees there is no question that reads {string}") + public void user_sees_there_is_no_question_that_reads(String expectedQuestionText) { + ApplicantProfileStepsImpl.user_sees_there_is_no_question_that_reads(expectedQuestionText); + } + + @Then("User sees there is a statement that reads {string} at the top of the screen") + public void user_sees_there_is_a_statement_that_reads_at_the_top_of_the_screen(String expectedStatementText) { + ApplicantProfileStepsImpl.user_sees_there_is_a_statement_that_reads_at_the_top_of_the_screen(expectedStatementText); + } + + @When("User clicks on Save Application button") + public void user_clicks_on_save_application_button() { + ApplicantProfileStepsImpl.user_clicks_on_save_application_button(); + } + + @When("verifies that successful save alert is displayed {string}") + public void verifies_that_successful_save_alert_is_displayed(String expectedSuccessfulText) { + ApplicantProfileStepsImpl.verifies_that_successful_save_alert_is_displayed(expectedSuccessfulText); + } + + @Then("verifies that the application became a draft {string}") + public void verifies_that_the_application_became_a_draft(String expectedDraftText) { + ApplicantProfileStepsImpl.verifies_that_the_application_became_a_draft(expectedDraftText); + } + + @Then("clicks the application {string}") + public void clicks_the_application(String vacancyTitle) { + ApplicantProfileStepsImpl.clicks_the_application(vacancyTitle); + } + + @Then("clicks Edit vacancy {string}") + public void clicks_edit_vacancy(String applicationName) { + ApplicantProfileStepsImpl.clicks_edit_vacancy(applicationName); + } + + @Then("verifies that Reference One {string}, {string}, {string}, {string}, {string}, {string}, {string} is updated") + public void verifies_that_reference_one_is_updated(String expectedUpdatedReferenceOneFirstName, String expectedUpdatedReferenceOneMiddleName, String expectedUpdatedReferenceOneLastName, String expectedUpdatedReferenceOneEmail, String expectedUpdatedReferenceOnePhoneNumber, String expectedUpdatedReferenceOnePositionTitle, String expectedUpdatedReferenceOneOrganizationName) { + ApplicantProfileStepsImpl.verifies_that_reference_one_is_updated(expectedUpdatedReferenceOneFirstName, expectedUpdatedReferenceOneMiddleName, expectedUpdatedReferenceOneLastName, expectedUpdatedReferenceOneEmail, expectedUpdatedReferenceOnePhoneNumber, expectedUpdatedReferenceOnePositionTitle, expectedUpdatedReferenceOneOrganizationName); + } + + @Then("verifies tha Reference Two {string}, {string}, {string}, {string}, {string}, {string}, {string} is updated") + public void verifies_tha_reference_two_is_updated(String expectedUpdatedReferenceTwoFirstName, String expectedUpdatedReferenceTwoMiddleName, String expectedUpdatedReferenceTwoLastName, String expectedUpdatedReferenceTwoEmail, String expectedUpdatedReferenceTwoPhoneNumber, String expectedUpdatedReferenceTwoPositionTitle, String expectedUpdatedReferenceTwoOrganizationName) { + ApplicantProfileStepsImpl.verifies_tha_reference_two_is_updated(expectedUpdatedReferenceTwoFirstName, expectedUpdatedReferenceTwoMiddleName, expectedUpdatedReferenceTwoLastName, expectedUpdatedReferenceTwoEmail, expectedUpdatedReferenceTwoPhoneNumber, expectedUpdatedReferenceTwoPositionTitle, expectedUpdatedReferenceTwoOrganizationName); + } + + @Then("clicks on Remove button") + public void clicks_on_remove_button() { + ApplicantProfileStepsImpl.clicks_on_remove_button(); + } + + @Then("{string} that the draft was removed") + public void that_the_draft_was_removed(String confirm) { + ApplicantProfileStepsImpl.that_the_draft_was_removed(confirm); + } + + @Then("verifies that the draft is no longer showing under Your Application tab") + public void verifies_that_the_draft_is_no_longer_showing_under_your_application_tab() { + ApplicantProfileStepsImpl.verifies_that_the_draft_is_no_longer_showing_under_your_application_tab(); + } + + @Then("user withdraws the application") + public void user_withdraws_the_application() { + ApplicantProfileStepsImpl.user_withdraws_the_application(); + } + + @Then("{string} withdrawing the application") + public void withdrawing_the_application(String withdraw) { + ApplicantProfileStepsImpl.withdrawing_the_application(withdraw); + } + + @Then("verifies that the application status is {string}") + public void verifies_that_the_application_status_is(String withdrawnText) { + ApplicantProfileStepsImpl.verifies_that_the_application_status_is(withdrawnText); + } +} diff --git a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/ApplicantProfileStepsImpl.java b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/ApplicantProfileStepsImpl.java index 49974594f..27095b8ef 100644 --- a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/ApplicantProfileStepsImpl.java +++ b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/ApplicantProfileStepsImpl.java @@ -9,10 +9,7 @@ import appsCommon.Pages.Playwright_Common_Locators; import appsCommon.PlaywrightUtils.Playwright_Common_Utils; import appsCommon.PlaywrightUtils.Playwright_ServiceNow_Common_Methods; -import com.microsoft.playwright.ElementHandle; -import com.microsoft.playwright.FrameLocator; -import com.microsoft.playwright.Locator; -import com.microsoft.playwright.Page; +import com.microsoft.playwright.*; import com.microsoft.playwright.options.AriaRole; import com.microsoft.playwright.options.LoadState; import com.nci.automation.utils.CucumberLogUtils; @@ -22,6 +19,8 @@ import com.nci.automation.web.PlaywrightUtils; import org.testng.Assert; import java.nio.file.Paths; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -30,6 +29,9 @@ public class ApplicantProfileStepsImpl { + public static Page newPage; + public static String timestamp; + /*** * THIS METHOD LOGS INTO SSJ WITH AN IMPERSONATED USER * @param user @@ -232,7 +234,10 @@ public static void clicks_on_pw(String text) { * @param vacancyName The name of the vacancy title to enter. */ public static void enters_vacancy_title_name_pw(String vacancyName) { - page.getByPlaceholder("Please enter").fill(vacancyName); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); + LocalDateTime now = LocalDateTime.now(); + timestamp = dtf.format(now); + page.getByPlaceholder("Please enter").fill(vacancyName + " " + timestamp); CucumberLogUtils.playwrightScreenshot(page); } @@ -417,7 +422,7 @@ public static void user_is_able_to_see_the_review_and_finalize_section_with_the_ * @param vacancyTitle The vacancy title to verify. */ public static void verifies_vacancy_title(String vacancyTitle) { - Hooks.softAssert.assertEquals(page.locator("((//div[@class='SectionContent'])[1]/div[1]/div/p)[1]").innerText(), vacancyTitle); + Hooks.softAssert.assertEquals(page.locator("((//div[@class='SectionContent'])[1]/div[1]/div/p)[1]").innerText(), vacancyTitle + " " + timestamp); CucumberLogUtils.playwrightScreenshot(page); } @@ -651,8 +656,15 @@ public static void verifies_email_templates(String valueOne, String valueTwo, St * @param vacancyTitle The title of the vacancy to be clicked. */ public static void clicks_on_vacancy_title(String vacancyTitle) { - Playwright_Common_Utils.scrollIntoView(Playwright_Common_Locators.dynamicTextLocator(vacancyTitle)); - page.locator(Playwright_Common_Locators.dynamicTextLocator(vacancyTitle)).click(); + List pagination = page.querySelectorAll("//a[@rel='nofollow']"); + for (ElementHandle itemPage : pagination) { + if (page.querySelector("//a[normalize-space()='" + vacancyTitle + " " + timestamp + "']") != null) { + page.locator("//a[normalize-space()='" + vacancyTitle + " " + timestamp + "']").click(); + break; + } else { + itemPage.click(); + } + } CucumberLogUtils.playwrightScreenshot(page); } @@ -1455,7 +1467,6 @@ public static void user_verifies_address_information(String address, String aptN * 1. Logs in using a side door test account. * 2. Navigates to the SSJ portal view. * 3. Takes a screenshot of the page using Playwright. - * */ public static void a_user_who_has_not_applied_to_a_vacancy_before_is_on_the_ssj_home_page() { Playwright_ServiceNow_Common_Methods.side_Door_Test_Account_Login(); @@ -1480,7 +1491,8 @@ public static void your_applications_tab_should_not_be_displayed() { */ public static void verifies_vacancy_title_is(String expectedVacancyTitle) { CucumberLogUtils.playwrightScreenshot(page); - Hooks.softAssert.assertEquals(page.locator("//div[@class='TitleAndDateContainer']/h1").innerText(), expectedVacancyTitle); +// Hooks.softAssert.assertEquals(page.locator("//div[@class='TitleAndDateContainer']/h1").innerText(), expectedVacancyTitle); + Hooks.softAssert.assertEquals(page.locator("//*[normalize-space()='" + expectedVacancyTitle + " " + timestamp + "']").innerText(), expectedVacancyTitle + " " + timestamp); } /** @@ -1583,4 +1595,251 @@ public static void the_test_application_is_also_deleted_to_re_run_automated_test } Playwright_ServiceNow_Common_Methods.logOutOfNativeView(); } -} \ No newline at end of file + + /** + * Navigates an unauthenticated applicant to the SSJ homepage. + * + * @param ssjHomePage the URL of the SSJ homepage + */ + public static void an_unauthenticated_applicant_is_on_the_ssj_homepage(String ssjHomePage) { + page.navigate(EnvUtils.getApplicationUrl(ssjHomePage)); + CucumberLogUtils.playwrightScreenshot(page); + } + + /** + * Verifies whether the drop down text is as expected. + * + * @param expectedDropDownText The expected text of the drop down + */ + public static void verifies_that_the_drop_drown_text_is(String expectedDropDownText) { + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertEquals(page.locator("//header[@class='Header']//span[2]").innerText(), expectedDropDownText); + } + + /** + * Clicks on the first vacancy from the list of available vacancies. + * It locates the first vacancy on the page and performs a click action on it. + * Additionally, it captures a screenshot of the page using the Playwright framework. + * + * @return void + */ + public static void clicks_on_the_first_vacancy() { + page.locator("(//td[@class='ant-table-cell'])[1]/a").click(); + CucumberLogUtils.playwrightScreenshot(page); + } + + /** + * This method verifies that the sign-in and apply button text is as expected. + * It uses the provided expectedSignInButtonText parameter to compare the actual button text. + * + * @param expectedSignInButtonText The expected text of the sign-in and apply button + */ + public static void verifies_that_sign_in_and_apply_button_text_is(String expectedSignInButtonText) { + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertEquals(page.locator("//button[@class='ant-btn ant-btn-primary']//span").innerText(), expectedSignInButtonText); + } + + /** + * Verifies that the pop-up header text is equal to the expected modal header text. + * + * @param expectedModalHeaderText the expected modal header text + */ + public static void verifies_that_the_pop_up_header_text_is(String expectedModalHeaderText) { + page.waitForSelector("//div[@class='ant-modal-title']"); + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertEquals(page.locator("//div[@class='ant-modal-title']").innerText(), expectedModalHeaderText); + } + + /** + * Verifies that the pop-up body text is equal to the expected modal body text. + * + * @param expectedModalBodyText The expected body text of the pop-up. + */ + public static void verifies_that_the_pop_up_body_text_is(String expectedModalBodyText) { + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertEquals(page.locator("//div[@class='ant-typography']").innerText(), expectedModalBodyText); + } + + /** + * Verifies that the button text is as expected. + * + * @param expectedCreateAnAccountText The expected text for the "Create an account" button. + * @param expectedLogInText The expected text for the "Log in" button. + * @param expectedGoBackText The expected text for the "Go Back" button. + */ + public static void verifies_that_the_button_text_is(String expectedCreateAnAccountText, String expectedLogInText, String expectedGoBackText) { + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertEquals(page.locator("//span[normalize-space()='Create an account']").innerText(), expectedCreateAnAccountText); + Hooks.softAssert.assertEquals(page.locator("//span[normalize-space()='Log in']").innerText(), expectedLogInText); + Hooks.softAssert.assertEquals(page.locator("//span[normalize-space()='Go Back']").innerText(), expectedGoBackText); + } + + /** + * Performs a click action on the specified login button and ensures that the user + * is redirected to the login portal. + * + * @param logInButton the locator of the login button element to click + */ + public static void clicks_and_is_redirected_to_the_login_portal(String logInButton) { + page.locator("//span[normalize-space()='Log in']").click(); + List pages = page.context().pages(); + newPage = pages.get(pages.size() - 1); + Hooks.softAssert.assertEquals(newPage.url(), "https://iam-stage.cancer.gov/app/servicenow_ud/exk13dplx1oy5d1pZ0h8/sso/saml?RelayState=https://specializedscientificjobs-test.nih.gov/nih-ssj.do#/"); + CucumberLogUtils.playwrightScreenshot(page); + } + + /** + * Verifies that the PIV/CAC card button text is equal to the provided value. + * + * @param pivCacCardButtonText the expected text of the PIV/CAC card button + */ + public static void verifies_that_the_piv_cac_card_button_text_is(String pivCacCardButtonText) { + newPage.waitForSelector("(//a[@class='piv-button link-button'])[1]"); + CucumberLogUtils.playwrightScreenshot(newPage); + Hooks.softAssert.assertEquals(newPage.locator("(//a[@class='piv-button link-button'])[1]").innerText(), pivCacCardButtonText); + } + + /** + * Takes a string expectedQuestionText as a parameter and validates that there is no question in the page content that matches the expectedQuestionText. + * If a matching question is found, a screenshot is taken using the Playwright framework and an assertion failure is triggered using the Hooks.softAssert class. + * + * @param expectedQuestionText the text of the question that is expected to be absent in the page content + */ + public static void user_sees_there_is_no_question_that_reads(String expectedQuestionText) { + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertFalse(page.content().contains(expectedQuestionText)); + } + + /** + * Confirms that the user sees a statement at the top of the screen with the expected text. + * + * @param expectedStatementText The expected text of the statement. + */ + public static void user_sees_there_is_a_statement_that_reads_at_the_top_of_the_screen(String expectedStatementText) { + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertEquals(page.locator("//*[text()='Any reference provided can be contacted at any point in the recruitment process.']").innerText(), expectedStatementText); + } + + public static void user_clicks_on_save_application_button() { + Playwright_Common_Utils.scrollIntoView("(//span[normalize-space()='Save Application'])[1]"); + page.locator("//span[normalize-space()='Save Application']").click(); + CucumberLogUtils.playwrightScreenshot(page); + } + + public static void verifies_that_successful_save_alert_is_displayed(String expectedSuccessfulText) { + CucumberLogUtils.playwrightScreenshot(page); + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertEquals(page.locator("//*[text()='Application successfully saved ']").textContent(), expectedSuccessfulText); + } + + public static void verifies_that_the_application_became_a_draft(String expectedDraftText) { + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertEquals(page.locator("//*[text()='" + "DIEGO TEST" + " " + timestamp + "']/parent::td/following-sibling::td/span").innerText(), expectedDraftText); + } + + public static void clicks_the_application(String vacancyTitle) { + if (timestamp == null) { + Playwright_Common_Utils.scrollIntoView(Playwright_Common_Locators.dynamicTextLocator(vacancyTitle)); + page.locator(Playwright_Common_Locators.dynamicTextLocator(vacancyTitle)).click(); + } else { + Playwright_Common_Utils.scrollIntoView(Playwright_Common_Locators.dynamicTextLocator(vacancyTitle + " " + timestamp)); + page.locator(Playwright_Common_Locators.dynamicTextLocator(vacancyTitle + " " + timestamp)).click(); + } + CucumberLogUtils.playwrightScreenshot(page); + } + + public static void clicks_edit_vacancy(String applicationName) { + Playwright_Common_Utils.scrollIntoView("(//a[@rel='nofollow'])[1]"); + List pagination = page.querySelectorAll("//a[@rel='nofollow']"); + for (ElementHandle itemPage : pagination) { + if (page.querySelector("//a[normalize-space()='" + applicationName + " " + timestamp + "']") != null) { + page.locator("//td[normalize-space()='" + applicationName + " " + timestamp + "']/following-sibling::td//button/span[text()=' Edit']").click(); + break; + } else { + itemPage.click(); + } + } + CucumberLogUtils.playwrightScreenshot(page); + } + + public static void verifies_that_reference_one_is_updated(String expectedUpdatedReferenceOneFirstName, String expectedUpdatedReferenceOneMiddleName, String expectedUpdatedReferenceOneLastName, String expectedUpdatedReferenceOneEmail, String expectedUpdatedReferenceOnePhoneNumber, String expectedUpdatedReferenceOnePositionTitle, String expectedUpdatedReferenceOneOrganizationName) { + page.locator("#references_0_firstName"); + page.locator("#references_0_middleName"); + page.locator("#references_0_lastName"); + page.locator("#references_0_email"); + page.locator("#references_0_phoneNumber"); + page.locator("#references_0_title"); + page.locator("#references_0_organization"); + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertEquals(page.locator("#references_0_firstName").inputValue(), expectedUpdatedReferenceOneFirstName); + Hooks.softAssert.assertEquals(page.locator("#references_0_middleName").inputValue(), expectedUpdatedReferenceOneMiddleName); + Hooks.softAssert.assertEquals(page.locator("#references_0_lastName").inputValue(), expectedUpdatedReferenceOneLastName); + Hooks.softAssert.assertEquals(page.locator("#references_0_email").inputValue(), expectedUpdatedReferenceOneEmail); + Hooks.softAssert.assertEquals(page.locator("#references_0_phoneNumber").inputValue(), expectedUpdatedReferenceOnePhoneNumber); + Hooks.softAssert.assertEquals(page.locator("#references_0_title").inputValue(), expectedUpdatedReferenceOnePositionTitle); + Hooks.softAssert.assertEquals(page.locator("#references_0_organization").inputValue(), expectedUpdatedReferenceOneOrganizationName); + } + + public static void verifies_tha_reference_two_is_updated(String expectedUpdatedReferenceTwoFirstName, String expectedUpdatedReferenceTwoMiddleName, String expectedUpdatedReferenceTwoLastName, String expectedUpdatedReferenceTwoEmail, String expectedUpdatedReferenceTwoPhoneNumber, String expectedUpdatedReferenceTwoPositionTitle, String expectedUpdatedReferenceTwoOrganizationName) { + page.locator("#references_1_firstName"); + page.locator("#references_1_middleName"); + page.locator("#references_1_lastName"); + page.locator("#references_1_email"); + page.locator("#references_1_phoneNumber"); + page.locator("#references_1_title"); + page.locator("#references_1_title"); + page.locator("#references_1_organization"); + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertEquals(page.locator("#references_1_firstName").inputValue(), expectedUpdatedReferenceTwoFirstName); + Hooks.softAssert.assertEquals(page.locator("#references_1_middleName").inputValue(), expectedUpdatedReferenceTwoMiddleName); + Hooks.softAssert.assertEquals(page.locator("#references_1_lastName").inputValue(), expectedUpdatedReferenceTwoLastName); + Hooks.softAssert.assertEquals(page.locator("#references_1_email").inputValue(), expectedUpdatedReferenceTwoEmail); + Hooks.softAssert.assertEquals(page.locator("#references_1_phoneNumber").inputValue(), expectedUpdatedReferenceTwoPhoneNumber); + Hooks.softAssert.assertEquals(page.locator("#references_1_title").inputValue(), expectedUpdatedReferenceTwoPositionTitle); + Hooks.softAssert.assertEquals(page.locator("#references_1_organization").inputValue(), expectedUpdatedReferenceTwoOrganizationName); + } + + public static void clicks_on_remove_button() { + page.locator("//td[normalize-space()='" + "DIEGO TEST" + " " + timestamp + "']/following-sibling::td//div/button/span[text()=' Remove']").click(); + CucumberLogUtils.playwrightScreenshot(page); + } + + public static void that_the_draft_was_removed(String Confirm) { + Playwright_Common_Utils.scrollIntoView(Playwright_Common_Locators.dynamicTextLocator(Confirm)); + page.locator(Playwright_Common_Locators.dynamicTextLocator(Confirm)).click(); + CucumberLogUtils.playwrightScreenshot(page); + } + + public static void verifies_that_the_draft_is_no_longer_showing_under_your_application_tab() { + boolean isFound = false; + Playwright_Common_Utils.scrollIntoView("(//a[@rel='nofollow'])[1]"); + List pagination = page.querySelectorAll("//a[@rel='nofollow']"); + for (ElementHandle itemPage : pagination) { + if (page.querySelector("//a[normalize-space()='" + "DIEGO TEST" + " " + timestamp + "']") != null) { + isFound = true; + break; + } else { + itemPage.click(); + } + } + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertFalse(isFound); + } + + public static void user_withdraws_the_application() { + page.locator("//td[normalize-space()='" + "DIEGO TEST" + " " + timestamp + "']/following-sibling::td//div/button/span[text()='Withdraw']").click(); + CucumberLogUtils.playwrightScreenshot(page); + } + + public static void withdrawing_the_application(String Withdraw) { + Playwright_Common_Utils.scrollIntoView(Playwright_Common_Locators.dynamicTextLocator(Withdraw)); + page.locator(Playwright_Common_Locators.dynamicTextLocator(Withdraw)).click(); + CucumberLogUtils.playwrightScreenshot(page); + } + + public static void verifies_that_the_application_status_is(String expectedWithdrawnText) { + String actualWithdrawnText = page.locator("//td[normalize-space()='" + "DIEGO TEST" + " " + timestamp + "']/following-sibling::td/span[text()='withdrawn']").innerText(); + CucumberLogUtils.playwrightScreenshot(page); + Hooks.softAssert.assertEquals(actualWithdrawnText, expectedWithdrawnText); + } +} diff --git a/src/test/java/appsCommon/PlaywrightUtils/Playwright_ServiceNow_Common_Methods.java b/src/test/java/appsCommon/PlaywrightUtils/Playwright_ServiceNow_Common_Methods.java index 61f65f64c..7eff8a42c 100644 --- a/src/test/java/appsCommon/PlaywrightUtils/Playwright_ServiceNow_Common_Methods.java +++ b/src/test/java/appsCommon/PlaywrightUtils/Playwright_ServiceNow_Common_Methods.java @@ -44,7 +44,7 @@ public static void side_Door_Test_Account_Login_Impersonate(String name){ page.getByRole(AriaRole.COMBOBOX, new Page.GetByRoleOptions().setName(Playwright_NativeView_Dashboard_Page.impersonateUserDropDown)).fill(name); page.waitForLoadState(); MiscUtils.sleep(3000); - page.locator(Playwright_NativeView_Dashboard_Page.impersonateDropDownOption).getByRole(AriaRole.OPTION, new Locator.GetByRoleOptions().setName(name + " " + name)).click(); + page.locator(Playwright_NativeView_Dashboard_Page.impersonateDropDownOption).getByRole(AriaRole.OPTION, new Locator.GetByRoleOptions().setName(name)).click(); page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName(Playwright_NativeView_Dashboard_Page.impersonateUserButton)).click(); } @@ -75,4 +75,4 @@ public static void logOutOfNativeView(){ page.locator(Playwright_ServiceNow_NCISP_Page.profileAccountButton).click(); page.getByRole(AriaRole.MENUITEM, new Page.GetByRoleOptions().setName(Playwright_ServiceNow_NCISP_Page.logOutLink)).click(); } -} +} \ No newline at end of file From b81da1ab790405df0fb3a48dc51b231825e7e583 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 2 Aug 2024 00:56:20 -0400 Subject: [PATCH 08/23] .. --- pom.xml | 2 +- .../com/nci/automation/web/CommonUtils.java | 25 + .../RasopathyStudy/RAS Entire Flow.feature | 12 +- .../CHARMS/Pages/MyRASHomePage.java | 41 +- .../CHARMS/Pages/ParticipantDetailsPage.java | 14 +- .../CHARMS/Pages/ScreenerRecordTablePage.java | 20 +- .../CHARMS/Resources/RASScenario1.xlsx | Bin 26146 -> 26112 bytes .../Runners/Run_CHARMS_Progression_Test.java | 2 +- .../Steps/RAS_Screener_Submission_Steps.java | 22 +- .../Steps/RAS_Survey_Submission_Steps.java | 18 +- .../CHARMS/Steps/TestAccountResetSteps.java | 9 +- .../RASStudy/RAS_Scenario_Five_StepsImpl.java | 99 +- .../RASStudy/RAS_Scenario_One_StepsImpl.java | 1896 ---------------- .../RAS_Screener_Submissions_StepsImpl.java | 2020 ++++++++++++++--- .../RASStudy/RasScenario2StepsImpl.java | 810 +++---- .../RASStudy/RasScenario3StepsImpl.java | 552 ++--- .../RASStudy/RasScenario4StepsImpl.java | 836 +++---- .../TestAccountResetImpl.java | 33 + .../PageInitializers/PageInitializer.java | 6 +- .../NativeView_SideDoor_Dashboard_Page.java | 8 +- 20 files changed, 3014 insertions(+), 3411 deletions(-) delete mode 100644 src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_One_StepsImpl.java diff --git a/pom.xml b/pom.xml index 0511a3a3c..c2c570079 100644 --- a/pom.xml +++ b/pom.xml @@ -31,7 +31,7 @@ org.seleniumhq.selenium selenium-java - 4.18.1 + 4.23.0 diff --git a/src/main/java/com/nci/automation/web/CommonUtils.java b/src/main/java/com/nci/automation/web/CommonUtils.java index 33f5c04d5..8fca647ef 100644 --- a/src/main/java/com/nci/automation/web/CommonUtils.java +++ b/src/main/java/com/nci/automation/web/CommonUtils.java @@ -11,6 +11,7 @@ import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatterBuilder; +import java.time.format.DateTimeParseException; import java.time.temporal.ChronoField; import java.util.*; import org.openqa.selenium.*; @@ -713,6 +714,11 @@ public static void verifyingDropDownValueIsSelected(WebElement element, String e } } + public static String getTextOfSelectedDropDownOption(WebElement element){ + Select select = new Select(element); + return select.getFirstSelectedOption().getText(); + } + /** * Use this method in need of entering value to a text box through selenium * WebDriver. @@ -864,4 +870,23 @@ public static void comparingTwoLists(List actualValues, List Assert.assertEquals(actualValues.get(i).getText(), expectedValues.get(i)); } } + + /** + * Converts a given date string from the format "MMMM d, yyyy" to "MM/dd/yyyy" format. + * + * @param inputDate the date string to be converted + * @return the converted date string in "MM/dd/yyyy" format, or null if the input date is invalid + */ + public static String convertDate(String inputDate) { + try { + DateTimeFormatter inputFormat = DateTimeFormatter.ofPattern("MMMM d, yyyy"); + DateTimeFormatter outputFormat = DateTimeFormatter.ofPattern("MM/dd/yyyy"); + + LocalDate date = LocalDate.parse(inputDate, inputFormat); + return date.format(outputFormat); + } catch (DateTimeParseException e) { + System.out.println("Unable to parse date: " + e.getMessage()); + return null; + } + } } \ No newline at end of file diff --git a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature index 810c1a8cb..3bbb358ab 100644 --- a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature +++ b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature @@ -3,13 +3,13 @@ Feature: RAS Screener Scenarios @bucurgb @myRasStudy @2CP2-2332 @selenium @Progression Scenario Outline: This scenario outline is completing the myRAS Screeners, Consent Flows, IIQ Forms and the RAS Surveys - Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" - And logs in via Okta with username "" and password "" - And clicks on Eligibility Questionnaire to begin questionnaire - And clicks on "Eligibility Questionnaire" to begin survey - When the participant submits a screener from excel sheet "" +# Given test automation account has been reset +# Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" +# And logs in via Okta with username "" and password "" +# And clicks on "Eligibility Questionnaire" to begin survey +# When the participant submits a screener from excel sheet "" # And the consent is submitted for "" -# Then data submitted for scenario is verified in native from the excel sheet "" + Then data submitted for scenario is verified in native from the excel sheet "" # Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" # And logs in via Okta with username "" and password "" # And clicks on the IIQ Form diff --git a/src/test/java/ServiceNow/CHARMS/Pages/MyRASHomePage.java b/src/test/java/ServiceNow/CHARMS/Pages/MyRASHomePage.java index 2c893a5bf..438103436 100644 --- a/src/test/java/ServiceNow/CHARMS/Pages/MyRASHomePage.java +++ b/src/test/java/ServiceNow/CHARMS/Pages/MyRASHomePage.java @@ -1,9 +1,10 @@ package ServiceNow.CHARMS.Pages; +import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; -import com.nci.automation.web.WebDriverUtils; +import static com.nci.automation.web.WebDriverUtils.webDriver; public class MyRASHomePage { @@ -13,10 +14,6 @@ public class MyRASHomePage { @FindBy(xpath = "//button[normalize-space()='Agree']") public WebElement warningAgreeButton; - /* RASopathy Eligibility Questionnaire */ - @FindBy(xpath = "(//span[normalize-space()='Eligibility Questionnaire'])[2]") - public WebElement rasoptathyEligibilityQuestionnaire; - /* RASopathy RAS Survey Button */ @FindBy(xpath = "(//span[normalize-space()='RAS Survey'])[2]") public WebElement rasoptathyRasSurveyButton; @@ -41,34 +38,20 @@ public class MyRASHomePage { @FindBy(xpath = "//div[@class='custom-card-image']//a[@aria-label='Consent']") public WebElement rasopathyStudyConsent; - /* RASopathy CHARMSAutomatedTestTwo link */ - @FindBy(xpath = "//button[@aria-label='User Information']") - public WebElement charmsAutomatedTestTwoLink; - - /* RASopathy CHARMSAutomatedTestTwo Sign Out link */ - @FindBy(xpath = "//a[normalize-space()='Sign Out']") - public WebElement charmsAutomatedTestTwoSignOutLink; - - /* RASopathy Individual Information Questionnaire */ - @FindBy(xpath = "//div[@class='custom-card-title']//a[@aria-label='Review Individual Information Questionnaire']") - public WebElement rasoptathyIndividualInformationQuestionnaire; - - /* RASopathy Individual Information Questionnaire Pin text */ - @FindBy(xpath = "//h3[@ng-show='c.showCode']") - public WebElement rasoptathyIndividualInformationQuestionnairePinText; - - /* RASopathy Individual Information Questionnaire One Time Pin Go button */ - @FindBy(xpath = "//button[normalize-space()='Go']") - public WebElement rasoptathyIndividualInformationQuestionnaireOneTimePinGoButton; - - /* RAS Survey */ - @FindBy(xpath = "(//span[normalize-space()='RAS Survey'])[2]") - public WebElement rasSurvey; + /** + * Locates a dynamic module based on the given text. + * + * @param text The text of the module to locate. + * @return The WebElement representing the dynamic module. + */ + public static WebElement dynamicModuleLocator(String text){ + return webDriver.findElement(By.xpath("//span[text()='" + text + "']//parent::a")); + } /** --------------- END OF myRAS Home PAGE --------------- */ public MyRASHomePage() { - PageFactory.initElements(WebDriverUtils.webDriver, this); + PageFactory.initElements(webDriver, this); } } diff --git a/src/test/java/ServiceNow/CHARMS/Pages/ParticipantDetailsPage.java b/src/test/java/ServiceNow/CHARMS/Pages/ParticipantDetailsPage.java index 5b7adb9ce..27ca5a9ae 100644 --- a/src/test/java/ServiceNow/CHARMS/Pages/ParticipantDetailsPage.java +++ b/src/test/java/ServiceNow/CHARMS/Pages/ParticipantDetailsPage.java @@ -46,15 +46,15 @@ public WebElement dynamicRecordButtonLocator(String text) { public WebElement nameTextBox; /* FIRST NAME TEXT BOX*/ - @FindBy(xpath = "//input[@aria-label='First Name']") + @FindBy(xpath = "(//input[@name='x_naci_family_coho_family_history_details.first_name'])[1]") public WebElement firstNameTextBox; /* MIDDLE INITIAL TEXT BOX */ - @FindBy(xpath = "//input[@aria-label='Middle Name']") + @FindBy(xpath = "//input[@name='x_naci_family_coho_family_history_details.middle_name']") public WebElement middleInitialTextBox; /* LAST NAME TEXT BOX */ - @FindBy(xpath = "//input[@aria-label='Last Name']") + @FindBy(xpath = "//input[@name='x_naci_family_coho_family_history_details.last_name']") public WebElement lastNameTextBox; /** @@ -93,19 +93,19 @@ public WebElement dynamicRecordButtonLocator(String text) { public WebElement contactInfoTab; /* CONTACT STREET ADDRESS */ - @FindBy(xpath = "//input[@aria-label='Contact Street Address']") + @FindBy(xpath = "//input[@name='x_naci_family_coho_family_history_details.street_address']") public WebElement contactStreetAddress; /* CONTACT STATE */ - @FindBy(xpath = "//input[@aria-label='Contact State']") + @FindBy(xpath = "//input[@name='x_naci_family_coho_family_history_details.state']") public WebElement contactState; /* CONTACT CITY */ - @FindBy(xpath = "//input[@aria-label='Contact City']") + @FindBy(xpath = "//input[@name='x_naci_family_coho_family_history_details.city']") public WebElement contactCity; /* CONTACT ZIP CODE */ - @FindBy(xpath = "//input[@aria-label='Contact Zip Code']") + @FindBy(xpath = "//input[@name='x_naci_family_coho_family_history_details.zipcode']") public WebElement contactZipCode; /* CONTACT COUNTRY DROP DOWN */ diff --git a/src/test/java/ServiceNow/CHARMS/Pages/ScreenerRecordTablePage.java b/src/test/java/ServiceNow/CHARMS/Pages/ScreenerRecordTablePage.java index 831f5a6f0..d325dbe8a 100644 --- a/src/test/java/ServiceNow/CHARMS/Pages/ScreenerRecordTablePage.java +++ b/src/test/java/ServiceNow/CHARMS/Pages/ScreenerRecordTablePage.java @@ -6,6 +6,8 @@ import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; +import static com.nci.automation.web.WebDriverUtils.webDriver; + public class ScreenerRecordTablePage { /* REFERRAL PREVIEW BUTTON */ @@ -14,7 +16,7 @@ public class ScreenerRecordTablePage { /* CONTACT INFORMATION BUTTON */ @FindBy(xpath = "//span[contains(text(),'Contact Information')]") - public WebElement contactInformationButton; + public WebElement contactInformationTab; /* SCREENER PREVIEW FAMILY MEMBER RECORD FIELD */ @FindBy(xpath = "//input[@id='x_naci_family_coho_ras_referral.family_member_record_label']") @@ -143,7 +145,17 @@ public class ScreenerRecordTablePage { * @return */ public WebElement dynamicLocatorForTabs(String text) { - return WebDriverUtils.webDriver.findElement(By.xpath("//span[contains(text(),'" + text + "')]")); + return webDriver.findElement(By.xpath("//span[contains(text(),'" + text + "')]")); + } + + /** + * Finds a web element representing a dynamic tab in the ScreenerRecordTablePage using exact text. + * + * @param text The exact text of the tab to locate. + * @return The web element representing the dynamic tab with the specified text. + */ + public static WebElement dynamicTabLocatorUsingExactText(String text){ + return webDriver.findElement(By.xpath("//span[text()='" + text + "']")); } /*** @@ -152,10 +164,10 @@ public WebElement dynamicLocatorForTabs(String text) { * @return */ public WebElement dynamicLocatorForStudyButtons(String text) { - return WebDriverUtils.webDriver.findElement(By.xpath("(//button[contains(text(),'" + text + "')])[1]")); + return webDriver.findElement(By.xpath("(//button[contains(text(),'" + text + "')])[1]")); } public ScreenerRecordTablePage() { - PageFactory.initElements(WebDriverUtils.webDriver, this); + PageFactory.initElements(webDriver, this); } } diff --git a/src/test/java/ServiceNow/CHARMS/Resources/RASScenario1.xlsx b/src/test/java/ServiceNow/CHARMS/Resources/RASScenario1.xlsx index 046a9d13e528fbd619cca66e0a45dde8a7007da2..4b9e908e70349953240dcbbea9ec2b461fab8f66 100644 GIT binary patch delta 13015 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 Date: Fri, 2 Aug 2024 14:16:51 -0400 Subject: [PATCH 09/23] .. --- .../RasopathyStudy/RAS Entire Flow.feature | 34 +++++------ .../RAS_Screener_Submissions_StepsImpl.java | 60 ++++++++----------- .../NativeView_SideDoor_Dashboard_Page.java | 2 +- 3 files changed, 44 insertions(+), 52 deletions(-) diff --git a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature index 3bbb358ab..28219790e 100644 --- a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature +++ b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature @@ -1,25 +1,25 @@ Feature: RAS Screener Scenarios Description: This feature file contains scenarios which submit myRAS Screeners, Consent Flows, IIQ Forms and the RAS Surveys. No data verification in Native View - @bucurgb @myRasStudy @2CP2-2332 @selenium @Progression + @JUAREZDS @RAS_STUDY @2CP2-2332 @selenium @Progression Scenario Outline: This scenario outline is completing the myRAS Screeners, Consent Flows, IIQ Forms and the RAS Surveys -# Given test automation account has been reset -# Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" -# And logs in via Okta with username "" and password "" -# And clicks on "Eligibility Questionnaire" to begin survey -# When the participant submits a screener from excel sheet "" -# And the consent is submitted for "" + Given test automation account has been reset + Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" + And logs in via Okta with username "" and password "" + And clicks on "Eligibility Questionnaire" to begin survey + When the participant submits a screener from excel sheet "" + And the consent is submitted for "" Then data submitted for scenario is verified in native from the excel sheet "" -# Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" -# And logs in via Okta with username "" and password "" -# And clicks on the IIQ Form -# And a participant enters username "" and pin -# And the participant submits a Individual Information Questionnaire for excel sheet "" -# Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" -# And logs in via Okta with username "" and password "" -# And clicks on the Ras Survey Form -# And a participant enters username "" and pin -# When the participant submits a RAS Survey from excel sheet "" + Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" + And logs in via Okta with username "" and password "" + And clicks on the IIQ Form + And a participant enters username "" and pin + And the participant submits a Individual Information Questionnaire for excel sheet "" + Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" + And logs in via Okta with username "" and password "" + And clicks on the Ras Survey Form + And a participant enters username "" and pin + When the participant submits a RAS Survey from excel sheet "" Examples: | Email | Password | ScreenerScenario | IIQScenario | SurveyScenario | | charmsras1@yahoo.com | RASTest2022$$ | screenerScenario1 | IIQScenario1 | RASSurveyScenario1 | diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java index 645a73251..839769e6a 100644 --- a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java @@ -623,10 +623,9 @@ public void nativeViewConsentFlowProcessScenario1(String sheetName) { CommonUtils.assertEqualsWithMessage(nativeViewCHARMSParticipantDetailsPage.nativeViewPatientDetailsConsentAddedText.getText(), CHARMSRASScreenerConstants.CONSENT_ADDED_TEXT, "---- VERIFYING SCREENER RECORD RASOPATHY HISTORY DATA ----"); /* BEGINNING: CONSENT FLOW PROCESS */ - - - - + /** + * BEGINNING: CONSENT FLOW PROCESS + */ JavascriptUtils.scrollIntoView(nativeViewCHARMSParticipantDetailsPage.nativeViewPatientDetailsConsentsTab); CommonUtils.clickOnElement(nativeViewCHARMSParticipantDetailsPage.nativeViewPatientDetailsConsentsTab); CommonUtils.hoverOverElement(participantDetailsPage.consentStatusText); @@ -643,16 +642,6 @@ public void nativeViewConsentFlowProcessScenario1(String sheetName) { // CommonUtils.waitForVisibility(nativeViewCHARMSParticipantConsentPage.rasStudyConsentCallScheduleTimeTodayButton); // CommonUtils.clickOnElement(nativeViewCHARMSParticipantConsentPage.rasStudyConsentCallScheduleTimeTodayButton); - WebElement dashboard = webDriver.findElement(By.xpath("")); - - - - - - - - - CommonUtils.clickOnElement(nativeViewCHARMSDashboardPage.rasStudyOpenRecordButton); CommonUtils.waitForVisibility(nativeViewCHARMSParticipantConsentPage.rasStudyConsentCallScheduleTimeCalendar); CucumberLogUtils.logScreenshot(); @@ -1891,13 +1880,13 @@ public void verifying_RAS_Screener_Scenario_1_Data(String sheetName) { CommonUtils.clickOnElement(nativeViewCHARMSDashboardPage.rasStudyOpenRecordButton); } CucumberLogUtils.scenario.log("---- VERIFYING PARTICIPANT NAME DATA ----"); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(webDriver.findElement(By.xpath("//select[@name='x_naci_family_coho_family_history_details.relationship_to_you']"))), "Proband", "-- VERIFYING RELATIONSHIP TO PROBAND --"); Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(participantDetailsPage.nameTextBox), ras_Screener_TestDataManager.firstName + ras_Screener_Constants.SPACE + ras_Screener_TestDataManager.lastName, "-- VERIFYING FULL NAME --"); Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(participantDetailsPage.firstNameTextBox), ras_Screener_TestDataManager.firstName, "-- VERIFYING FIRST NAME --"); Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(participantDetailsPage.middleInitialTextBox), ras_Screener_TestDataManager.middleInitial, "-- VERIFYING MIDDLE INITIAL --"); Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(participantDetailsPage.lastNameTextBox), ras_Screener_TestDataManager.lastName, "-- VERIFYING LAST NAME --"); CucumberLogUtils.logScreenshot(); - CucumberLogUtils.scenario.log("---- VERIFYING PARTICIPANT DEMOGRAPHICS DATA ----"); CommonUtils.clickOnElement(participantDetailsPage.demographicsTab); Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(participantDetailsPage.biologicalGenderDropDown), ras_Screener_TestDataManager.sexAssignedAtBirthOption, "-- VERIFYING BIOLOGICAL GENDER --"); @@ -1957,7 +1946,6 @@ public void verifying_RAS_Screener_Scenario_1_Data(String sheetName) { Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(screenerRecordTablePage.contactHomePhoneField), ras_Screener_TestDataManager.homePhoneNumber, "-- VERIFYING CONTACT HOME PHONE NUMBER --"); Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(screenerRecordTablePage.contactCellPhoneField), ras_Screener_TestDataManager.cellPhoneNumber, "-- VERIFYING CONTACT CELL PHONE NUMBER --"); Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(screenerRecordTablePage.contactWorkPhoneField), ras_Screener_TestDataManager.workPhoneNumber, "-- VERIFYING CONTACT WORK PHONE NUMBER --"); - // CommonUtils.verifyingDropDownValueIsSelected(screenerRecordTablePage.contactCountryDropDown, ras_Screener_TestDataManager.countryOption, "-- VERIFYING COUNTRY CONTACT FIELD --"); Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.contactCountryDropDown), ras_Screener_TestDataManager.countryOption, "-- VERIFYING COUNTRY CONTACT FIELD --"); Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(screenerRecordTablePage.contactStateField), ras_Screener_TestDataManager.state, "-- VERIFYING STATE --"); Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(screenerRecordTablePage.contactStreetAddressField), ras_Screener_TestDataManager.street + ras_Screener_Constants.SPACE + ras_Screener_TestDataManager.street2, "-- VERIFYING CONTACT STREET ADDRESS --"); @@ -1968,32 +1956,36 @@ public void verifying_RAS_Screener_Scenario_1_Data(String sheetName) { CucumberLogUtils.scenario.log("---- VERIFYING RAS SCREENER TABLE DEMOGRAPHICS INFORMATION DATA ----"); CommonUtils.clickOnElement(screenerRecordTablePage.dynamicLocatorForTabs("Demographics")); Hooks.softAssert.assertEquals(screenerRecordTablePage.demographicsParticipantRacePreferNotToAnswerOption.getText(), ras_Screener_TestDataManager.whatIsYourRace, "-- VERIFYING RACE OF PARTICIPANT --"); - CommonUtils.verifyingDropDownValueIsSelected(screenerRecordTablePage.demographicsBiologicalGenderDropDown, ras_Screener_TestDataManager.sexAssignedAtBirthOption, "-- VERIFYING BIOLOGICAL GENDER --"); - CommonUtils.assertEqualsWithMessage(CommonUtils.getAttributeValueOfValueAttribute(screenerRecordTablePage.demographicsDateOfBirthField), ras_Screener_TestDataManager.whatIsYourDateOfBirth, "-- VERIFYING DATE OF BIRTH --"); - CommonUtils.verifyingDropDownValueIsSelected(screenerRecordTablePage.demographicsEthnicityDropDown, ras_Screener_TestDataManager.whatIsYourEthnicity, "-- VERIFYING ETHNICITY --"); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.demographicsBiologicalGenderDropDown), ras_Screener_TestDataManager.sexAssignedAtBirthOption, "-- VERIFYING BIOLOGICAL GENDER --"); + Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(screenerRecordTablePage.demographicsDateOfBirthField), ras_Screener_TestDataManager.whatIsYourDateOfBirth, "-- VERIFYING DATE OF BIRTH --"); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.demographicsEthnicityDropDown), ras_Screener_TestDataManager.whatIsYourEthnicity, "-- VERIFYING ETHNICITY --"); CucumberLogUtils.logScreenshot(); + + CucumberLogUtils.scenario.log("---- VERIFYING RAS SCREENER TABLE RASOPATHY HISTORY DATA ----"); CommonUtils.clickOnElement(screenerRecordTablePage.dynamicLocatorForTabs("RASopathy History")); - System.out.println("---- VERIFYING SCREENER RECORD RASOPATHY HISTORY DATA ----"); - CommonUtils.verifyingDropDownValueIsSelected(screenerRecordTablePage.rasopathyHistoryHaveYouBeenDiagnosedWithARasopathyDropDown, ras_Screener_TestDataManager.haveYouBeenDiagnosedWithARasopathy, "-- VERIFYING IF PARTICIPANT HAS BEEN DIAGNOSED WITH A RASOPATHY --"); - CommonUtils.assertEqualsWithMessage(screenerRecordTablePage.rasopathyHistoryNeverDiagnosedWithAnyOfTheseConditions.getText(), ras_Screener_TestDataManager.haveYouBeenDiagnosedWithFollowingConditions, "-- VERIFYING IF CANDIDATE HAS BEEN DIAGNOSED WITH ANY CONDITIONS --"); - CommonUtils.verifyingDropDownValueIsSelected(screenerRecordTablePage.rasopathyHistoryHaveAnyOfYourBiologicalRelativesBeenDiagnosedWithARasopathyDropDown, ras_Screener_TestDataManager.haveAnyOfYourBiologicalRelativesBeenDiagnosedWithARasopathy, "-- VERIFYING IF ANY OF BIOLOGICAL RELATIVES BEEN DIAGNOSED WITH A RASOPATHY --"); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.rasopathyHistoryHaveYouBeenDiagnosedWithARasopathyDropDown), ras_Screener_TestDataManager.haveYouBeenDiagnosedWithARasopathy, "-- VERIFYING IF PARTICIPANT HAS BEEN DIAGNOSED WITH A RASOPATHY --"); + Hooks.softAssert.assertEquals(screenerRecordTablePage.rasopathyHistoryNeverDiagnosedWithAnyOfTheseConditions.getText(), ras_Screener_TestDataManager.haveYouBeenDiagnosedWithFollowingConditions, "-- VERIFYING IF CANDIDATE HAS BEEN DIAGNOSED WITH ANY CONDITIONS --"); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.rasopathyHistoryHaveAnyOfYourBiologicalRelativesBeenDiagnosedWithARasopathyDropDown), ras_Screener_TestDataManager.haveAnyOfYourBiologicalRelativesBeenDiagnosedWithARasopathy, "-- VERIFYING IF ANY OF BIOLOGICAL RELATIVES BEEN DIAGNOSED WITH A RASOPATHY --"); CucumberLogUtils.logScreenshot(); + + CucumberLogUtils.scenario.log("---- VERIFYING RAS SCREENER TABLE CANCER HISTORY ----"); CommonUtils.clickOnElement(screenerRecordTablePage.dynamicLocatorForTabs("Cancer History")); - System.out.println("---- VERIFYING SCREENER RECORD CANCER HISTORY DATA ----"); - CommonUtils.verifyingDropDownValueIsSelected(screenerRecordTablePage.cancerHistoryHasAPhysicianEverDiagnosedParticipantWithCancerDropDown, ras_Screener_TestDataManager.haveYouBeenDiagnosedWithCancer, "-- VERIFYING IF PARTICIPANT HAS BEEN DIAGNOSED WITH CANCER --"); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.cancerHistoryHasAPhysicianEverDiagnosedParticipantWithCancerDropDown), ras_Screener_TestDataManager.haveYouBeenDiagnosedWithCancer, "-- VERIFYING IF PARTICIPANT HAS BEEN DIAGNOSED WITH CANCER --"); CucumberLogUtils.logScreenshot(); + + CucumberLogUtils.scenario.log("---- VERIFYING RAS SCREENER TABLE GENETIC TESTING HISTORY ----"); CommonUtils.clickOnElement(screenerRecordTablePage.dynamicLocatorForTabs("Genetic Testing History")); - System.out.println("---- VERIFYING SCREENER RECORD GENETIC TESTING HISTORY DATA ----"); - CommonUtils.verifyingDropDownValueIsSelected(screenerRecordTablePage.geneticTestingHistoryHasTheParticipantEverHadGeneticTestingDropDown, ras_Screener_TestDataManager.haveYouEverHadGeneticTesting, "-- VERIFYING IF PARTICIPANT HAS HAD GENETIC TESTING --"); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.geneticTestingHistoryHasTheParticipantEverHadGeneticTestingDropDown), ras_Screener_TestDataManager.haveYouEverHadGeneticTesting, "-- VERIFYING IF PARTICIPANT HAS HAD GENETIC TESTING --"); CucumberLogUtils.logScreenshot(); + + CucumberLogUtils.scenario.log("---- VERIFYING RAS SCREENER TABLE FINAL INFORMATION ----"); CommonUtils.clickOnElement(screenerRecordTablePage.dynamicLocatorForTabs("Final Information")); - System.out.println("---- VERIFYING SCREENER RECORD FINAL INFORMATION DATA ----"); - CommonUtils.verifyingDropDownValueIsSelected(screenerRecordTablePage.finalInformationHowDidYouHearAboutThisStudyDropDown, ras_Screener_TestDataManager.howDidYouHearAboutThisStudy, "-- VERIFYING HOW DID PARTICIPANT HEAR ABOUT THE STUDY --"); - CommonUtils.assertEqualsWithMessage(CommonUtils.getAttributeValueOfValueAttribute(screenerRecordTablePage.finalInformationHowDidYouHearAboutThisStudyPleaseSpecifyTextBox), ras_Screener_TestDataManager.howDidYouHearAboutThisStudyOtherReason, "-- VERIFYING HOW DID YOU PARTICIPANT HEAR ABOUT THE STUDY OTHER REASONS --"); - CommonUtils.verifyingDropDownValueIsSelected(screenerRecordTablePage.finalInformationHasParticipantOrAnyFamilyMemberParticipatedInAnyCancerStudyDropDown, ras_Screener_TestDataManager.haveYouOrOtherFamilyMembersParticipatedInOtherStudy, "-- VERIFYING IF PARTICIPANT OR FAMILY MEMBER HAVE PARTICIPATED IN CANCER STUDY --"); - CommonUtils.assertEqualsWithMessage(screenerRecordTablePage.finalInformationMainReasonsForParticipatingInThisStudyOtherOption.getText(), ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy, "-- VERIFYING MAIN REASONS FOR PARTICIPATING IN STUDY --"); - CommonUtils.assertEqualsWithMessage(screenerRecordTablePage.finalInformationMainReasonsForParticipatingInThisStudyOtherReasonsField.getText(), ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudyOtherReason, "-- VERIFYING MAIN REASONS FOR PARTICIPATING IN STUDY FIELD --"); - CommonUtils.verifyingDropDownValueIsSelected(screenerRecordTablePage.finalInformationAreYouAParticipantInAnyOtherResearchStudyOrRegistryGroupDropDown, ras_Screener_TestDataManager.areYouAParticipantInOtherStudyGroup, "-- VERIFYING IF PARTICIPANT IS PART OF RESEARCH STUDY OR REGISTRY GROUP --"); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.finalInformationHowDidYouHearAboutThisStudyDropDown), ras_Screener_TestDataManager.howDidYouHearAboutThisStudy, "-- VERIFYING HOW DID PARTICIPANT HEAR ABOUT THE STUDY --"); + Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(screenerRecordTablePage.finalInformationHowDidYouHearAboutThisStudyPleaseSpecifyTextBox), ras_Screener_TestDataManager.howDidYouHearAboutThisStudyOtherReason, "-- VERIFYING HOW DID YOU PARTICIPANT HEAR ABOUT THE STUDY OTHER REASONS --"); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.finalInformationHasParticipantOrAnyFamilyMemberParticipatedInAnyCancerStudyDropDown), ras_Screener_TestDataManager.haveYouOrOtherFamilyMembersParticipatedInOtherStudy, "-- VERIFYING IF PARTICIPANT OR FAMILY MEMBER HAVE PARTICIPATED IN CANCER STUDY --"); + Hooks.softAssert.assertEquals(screenerRecordTablePage.finalInformationMainReasonsForParticipatingInThisStudyOtherOption.getText(), ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy, "-- VERIFYING MAIN REASONS FOR PARTICIPATING IN STUDY --"); + Hooks.softAssert.assertEquals(screenerRecordTablePage.finalInformationMainReasonsForParticipatingInThisStudyOtherReasonsField.getText(), ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudyOtherReason, "-- VERIFYING MAIN REASONS FOR PARTICIPATING IN STUDY FIELD --"); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.finalInformationAreYouAParticipantInAnyOtherResearchStudyOrRegistryGroupDropDown), ras_Screener_TestDataManager.areYouAParticipantInOtherStudyGroup, "-- VERIFYING IF PARTICIPANT IS PART OF RESEARCH STUDY OR REGISTRY GROUP --"); CucumberLogUtils.logScreenshot(); ServiceNow_Common_Methods.logOutOfNativeView(); } diff --git a/src/test/java/appsCommon/Pages/NativeView_SideDoor_Dashboard_Page.java b/src/test/java/appsCommon/Pages/NativeView_SideDoor_Dashboard_Page.java index fa1baee3d..b865ab5a3 100644 --- a/src/test/java/appsCommon/Pages/NativeView_SideDoor_Dashboard_Page.java +++ b/src/test/java/appsCommon/Pages/NativeView_SideDoor_Dashboard_Page.java @@ -17,7 +17,7 @@ public class NativeView_SideDoor_Dashboard_Page { public static WebElement allTab; /* FILTER NAVIGATOR TEXT BOX */ - @FindElementBy(xpath = "//*[@class='sn-polaris-nav-header-filter can-animate']//child::input") + @FindElementBy(xpath = "//*[@class='sn-polaris-nav-header-filter can-animate']/input") public static WebElement filterNavigatorTextBox; /* FILTER NAVIGATOR TEXT BOX */ From 7e280d71afdd20285258ef95d9f8f4d97a7244e8 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 2 Aug 2024 14:30:20 -0400 Subject: [PATCH 10/23] .. --- .../CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature index 28219790e..8af482d19 100644 --- a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature +++ b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature @@ -1,7 +1,7 @@ Feature: RAS Screener Scenarios Description: This feature file contains scenarios which submit myRAS Screeners, Consent Flows, IIQ Forms and the RAS Surveys. No data verification in Native View - @JUAREZDS @RAS_STUDY @2CP2-2332 @selenium @Progression + @JUAREZDS @RAS_STUDY @2CP2-2332 @selenium @Smoke Scenario Outline: This scenario outline is completing the myRAS Screeners, Consent Flows, IIQ Forms and the RAS Surveys Given test automation account has been reset Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" From d3b6ded1dcf9aca45425efb06a8c30d51f8f247b Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 2 Aug 2024 14:30:48 -0400 Subject: [PATCH 11/23] .. --- .../CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature index 8af482d19..43e0c850c 100644 --- a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature +++ b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature @@ -1,7 +1,7 @@ Feature: RAS Screener Scenarios Description: This feature file contains scenarios which submit myRAS Screeners, Consent Flows, IIQ Forms and the RAS Surveys. No data verification in Native View - @JUAREZDS @RAS_STUDY @2CP2-2332 @selenium @Smoke + @JUAREZDS @RAS_STUDY @2CP2-2332 @Smoke @Regression @selenium Scenario Outline: This scenario outline is completing the myRAS Screeners, Consent Flows, IIQ Forms and the RAS Surveys Given test automation account has been reset Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" From 00f3d1a2063fb762667109bcb82093a2ade95055 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 2 Aug 2024 14:38:35 -0400 Subject: [PATCH 12/23] .. --- .../CHARMS/Pages/ParticipantDetailsPage.java | 24 -- .../CHARMS/Pages/RAS_Screener_Page.java | 347 +----------------- 2 files changed, 11 insertions(+), 360 deletions(-) diff --git a/src/test/java/ServiceNow/CHARMS/Pages/ParticipantDetailsPage.java b/src/test/java/ServiceNow/CHARMS/Pages/ParticipantDetailsPage.java index 27ca5a9ae..74ab17577 100644 --- a/src/test/java/ServiceNow/CHARMS/Pages/ParticipantDetailsPage.java +++ b/src/test/java/ServiceNow/CHARMS/Pages/ParticipantDetailsPage.java @@ -146,38 +146,14 @@ public WebElement dynamicRecordButtonLocator(String text) { /*** * MEDICAL INFORMATION SECTION */ - /* MEDICAL INFORMATION TAB */ - @FindBy(xpath = "//span[contains(text(),'Medical Information')]") - public WebElement medicalInformationTab; - - /* HAS A PHYSICIAN EVER DIAGNOSED THIS PARTICIPANT WITH CANCER? DROP DOWN*/ - @FindBy(xpath = "//select[@id='x_naci_family_coho_family_history_details.has_cancer']") - public WebElement hasAPhysicianEverDiagnosedThisParticipantWithCancerDropDown; - /* VITAL STATUS YES DROP DOWN OPTION */ @FindBy(xpath = "//*[@id='x_naci_family_coho_ras_referral.family_member_record.person_alive']") public WebElement vitalStatusYesDropDownOption; - /* HAS THE PARTICIPANT EVER HAD GENETIC TESTING? DROP DOWN */ - @FindBy(xpath = "//select[@id='x_naci_family_coho_family_history_details.genetic_testing']") - public WebElement hasTheParticipantEverHadGeneticTestingDropDown; - /*** * RASOPATHY HISTORY SECTION */ - /* RASOPATHY HISTORY TAB*/ - @FindBy(xpath = "//span[contains(text(),'RASopathy History')]") - public WebElement rasopathyHistoryTab; - - /* HAVE YOU BEEN DIAGNOSED WITH A RASOPATHY? DROP DOWN */ - @FindBy(xpath = "//*[@id='x_naci_family_coho_ras_referral.rasopathy_diagnosis']") - public WebElement haveYouBeenDiagnosedWithARasopathyDropDown; - - /* HAVE ANY OF YOUR BIOLOGICAL RELATIVES BEEN DIAGNOSED WITH A RASOPATHY? DROP DOWN */ - @FindBy(xpath = "//*[@id='x_naci_family_coho_ras_referral.realtives_rasopathy_diagnosis']") - public WebElement haveAnyOfYourBiologicalRelativesBeenDiagnosedWithARasopathyDropDown; - /* CONSENT STATUS TEXT */ @FindBy(xpath = "//td[normalize-space()='Consent Call Pending']") public WebElement consentStatusText; diff --git a/src/test/java/ServiceNow/CHARMS/Pages/RAS_Screener_Page.java b/src/test/java/ServiceNow/CHARMS/Pages/RAS_Screener_Page.java index ac70f6169..875dd8f71 100644 --- a/src/test/java/ServiceNow/CHARMS/Pages/RAS_Screener_Page.java +++ b/src/test/java/ServiceNow/CHARMS/Pages/RAS_Screener_Page.java @@ -4,8 +4,6 @@ import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; -import com.nci.automation.web.WebDriverUtils; - import static com.nci.automation.web.WebDriverUtils.webDriver; public class RAS_Screener_Page { @@ -14,8 +12,6 @@ public class RAS_Screener_Page { @FindBy(xpath = "//*[@class='QuestionText BorderColor']") public WebElement question; - /* ----- BEGINNING OF RASopathy Eligibility Questionnaire PAGE ---- */ - /* STUDY INTRODUCTION next button (THIS WORKS FOR ALL NEXT BUTTONS) */ @FindBy(xpath = "//input[@title='→']") public WebElement studyNextButton; @@ -28,14 +24,6 @@ public class RAS_Screener_Page { @FindBy(xpath = "//*[@id='PreviousButton']") public WebElement rasSurveyPreviousButton; - /* This Form Canot Be Saved Text */ - @FindBy(xpath = "//p[contains(text(),'If you are unable to complete the online questionn')]") - public WebElement thisFormCannotBeSavedText; - - /* If You Are Unable To Complete Text */ - @FindBy(xpath = "//p[contains(text(),'If you are unable to complete the online questionn')]") - public WebElement ifYouAreUnableToCompleteText; - /* Have Any Of Your Relatives Been Diagnosed No Radio Button */ @FindBy(xpath = "//*[@id='QID43']/div[3]/div/fieldset/div/ul/li[2]/span") public WebElement haveAnyOfYourRelativesBeenDiagnosedNoRadioButton ; @@ -44,49 +32,14 @@ public class RAS_Screener_Page { @FindBy(xpath = "//*[@id='QID120-2-label']") public WebElement haveYouEverHadGeneticTestingNoRadioButton ; - /* ************************************************************************ */ - /* - * BEGINNING OF Are you completing this form for someone else or for yourself? - * PAGE - * - * - * /* I am completing this form for someone else option - */ - /* I am completing this form for myself option */ @FindBy(xpath = "//span[contains(text(),'I am completing this form for myself')]") public WebElement iAmCompletingThisFormForMyselfOption; - /* END OF Are you completing this form for someone else or for yourself?PAGE */ - /* ************************************************************************ */ - /* - * BEGINNING OF What is the name of the person who may be eligible for this - * study? PAGE - */ - /* First Name of the participant text box */ @FindBy(xpath = "//input[@name='QR~QID105~4~TEXT']") public WebElement firstNameTextBox; - /* - * END OF What is the name of the person who may be eligible for this study? - * PAGE - */ - /* ************************************************************************ */ - /* --------BEGINNING OF What is your name? Proxy Name details PAGE---------- */ - - /* -------- END OF What is your name? Proxy Name details PAGE ---------- */ - /* ************************************************************************ */ - /* -------- BEGINNING OF What is your relationship to name? PAGE ------ */ - - /* ---- END OF What is your relationship to name? PAGE ----- */ - /* ************************************************************************ */ - /* ---- BEGINNING OF Are you the legal guardian of -- name? PAGE ----- */ - - /* END OF Are you the legal guardian of automated name? PAGE */ - /* ************************************************************************ */ - /* -------- BEGINNING OF Date of birth of "name" PAGE ------- */ - /* IIQ Were you race No option */ @FindBy(xpath = "//*[@id='QID21-2-label']") public WebElement iiqWereYouRaisedNoOption; @@ -111,49 +64,10 @@ public class RAS_Screener_Page { @FindBy(xpath = "//*[@id='QR~QID24~4']") public WebElement iIQAddressDontKnowTextBox; - /* -------- END OF Date of birth of "name" PAGE --------------- */ - /* ************************************************************************ */ - /* --- BEGINNING OF Sex of "name" assigned at birth PAGE----- */ - - /* ---- END OF Sex of "name" assigned at birth PAGE ------- */ - /* ************************************************************************ */ - /* -------- BEGINNING OF Is "name" adopted? PAGE ----------- */ - - /* -------- END OF Is "name" adopted? PAGE --------------- */ - /* ************************************************************************ */ - /* -------- BEGINNING OF Is "name" still alive? PAGE --------------- */ - - /* -------- END OF Is "name" still alive? PAGE --------------- */ - /* ************************************************************************ */ - /* -------- BEGINNING OF Date of death of Participant PAGE ------ */ - - /* -------- End OF Date of death of Participant PAGE --------------- */ - /* ************************************************************************ */ - /* BEGINNING OF Does "name" currently live in the United States? PAGE */ - /* What country does participant currently live in? drop down */ @FindBy(xpath = "//select[@data-runtime-value='runtime.Selected']") public WebElement whatCountryDoesParticipantCurrentlyLiveInDropDown; - /* End OF Does "name" currently live in the United States? PAGE */ - /* ************************************************************************ */ - /* BEGINNING OF Does "participant" currently live in the United States?PAGE */ - - /* END OF Does participant currently live in the United States?PAGE */ - /* ************************************************************************ */ - /* -------- BEGINNING OF What is your email address? PAGE --------------- */ - - /* -------- END OF What is your email address? PAGE --------------- */ - /* ************************************************************************ */ - /* -------- BEGINNING OF Please confirm your email address PAGE-------- */ - - /* -------- END OF Please confirm your email address PAGE--------------- */ - /* ************************************************************************ */ - /* - * BEGINNING Please list your phone numbers below. Please also select your - * preferred contact number. PAGE - */ - /* Home phone number text box */ @FindBy(xpath = "//tbody/tr[1]/th[1]/span[1]/div[1]/input[1]") public WebElement pleaseListHomePhoneNumberTextBox; @@ -170,265 +84,26 @@ public class RAS_Screener_Page { @FindBy(xpath = "//tbody/tr[@class='ChoiceRow ReadableAlt ']/td[1]/label[1]") public WebElement pleaseSelectCellPhonePreferredContactCheckBox; - /* - * END OF Please list your phone numbers below. Please also select your - * preferred contact number. PAGE - */ - /* ************************************************************************ */ - /* -------- BEGINNING OF Ethnicity of "Name" PAGE --------------- */ - - /* hispanic/latino option */ - @FindBy(xpath = "//span[contains(@class,'LabelWrapper')]//label[1]//span[text()='Hispanic/Latino']") - public WebElement authenticityOfParticipantHispanicLatinoOption; - - /* Not hispanic/latino option */ - // @FindBy(xpath = - // "//span[contains(@class,'LabelWrapper')]//label[contains(@for,'QR~QID113~2')]") - @FindBy(xpath = "//span[contains(@class,'LabelWrapper')]//label[1]//span[text()='Not Hispanic/Latino']") - public WebElement authenticityOfParticipantNotHispanicLatinoOption; - - /* -------- END OF Ethnicity of "Name" PAGE --------------- */ - /* ************************************************************************ */ - /* BEGINNING OF Race of "Name". Please select all that apply.PAGE */ - - /* All Race options except Prefer not to answer */ - @FindBy(xpath = "//span[contains(text(),'White')]") - public WebElement raceOfParticipantWhite; - /* Pin Text Box Locator */ @FindBy(xpath = "//span[contains(text(),'Email')]//parent::label//parent::span/parent::td//parent::tr//parent::tbody//child::tr[2]/child::td[2]/child::input") public WebElement pinTextBox; - @FindBy(xpath = "//span[contains(text(),'Black/African American')]") - public WebElement raceOfParticipantBlackAfricanAmerican; - - @FindBy(xpath = "//span[contains(text(),'Native Hawaiian/Pacific Islander')]") - public WebElement raceOfParticipantnativeHawaiianPacificIslander; - - @FindBy(xpath = "//span[contains(text(),'American Indian/Alaskan Native')]") - public WebElement raceOfParticipantAmericanIndianAlaskanNative; - - @FindBy(xpath = "//span[contains(text(),'Asian')]") - public WebElement raceOfParticipantAsian; - - @FindBy(xpath = "//span[contains(text(),'Other')]") - public WebElement raceOfParticipantOther; - - @FindBy(xpath = "//input[@title='Other']") - public WebElement raceOfParticipantOtherTextBox; - - /* -------- END OF Race of "Name". Please select all that apply.PAGE ------ */ - /* ************************************************************************ */ - /* - * BEGINNING OF Is Automated Test a participant in any other research study or - * registry group? Please specify.PAGE - */ - - /* - * END OF Is Automated Test a participant in any other research study or - * registry group? Please specify.PAGE - */ - /* ************************************************************************ */ - /* - * --- BEGINNING OF Has Automated Test ever been diagnosed with the following - * conditions?Select all that apply. If you do not see the exact condition - * diagnosed, please select the closest answer. PAGE----- - */ - - @FindBy(xpath = "//span[contains(text(),', failure to thrive, or other stomach/digestive pr')]") - public WebElement hasParticipantBeenDiagnosedWithConditionsFeedingProblemsOption; - - @FindBy(xpath = "//span[contains(text(),'such as: soft loose skin, fine/thin/thick/dry/brit')]") - public WebElement hasParticipantBeenDiagnosedWithConditionsSkinHairAbnormalitiesOption; - - /* - * ---- END OF Has Automated Test ever been diagnosed with the following - * conditions? Select all that apply. If you do not see the exact condition - * diagnosed, please select the closest answer. PAGE -- - */ - /* ************************************************************************ */ - /* -------- BEGINNING OF Has "Name" ever been diagnosed with cancer? PAGE --- */ - - /* -------- END OF Has "Name" ever been diagnosed with cancer? PAGE--- */ - /* ************************************************************************ */ - /* - * ---- BEGINNING OF Please complete the box below by selecting which primary - * cancers were diagnosed and at what age and year they occurred. If cancer - * spread from one place to another, please only indicate the original cancers - * and not the number of sites where cancer spread. PAGE ------- - */ - - /* - * -- END OF Please complete the box below by selecting which primary cancers - * were diagnosed and at what age and year they occurred. If cancer spread from - * one place to another, please only indicate the original cancers and not the - * number of sites where cancer spread. PAGE ------- - */ - /* ************************************************************************ */ - /* - * ---- For Proxy: BEGINNING OF Has "Name" been diagnosed with a RASopathy such - * as Noonan syndrome, Noonan syndrome with multiple lentigines, Costello - * syndrome, cardiofaciocutaneous syndrome, Legius syndrome, capillary - * arteriovenous malformation syndrome, hereditary gingival fibromatosis or - * SYNGAP1 syndrome? PAGE - * - */ - - /* No option */ - @FindBy(xpath = "//span[contains(@class,'LabelWrapper')]//label[contains(@for,'QR~QID118~2')]") - public WebElement hasProxyBeenDiagnosedWithaRasopathyNoOption; - - /* - * For Proxy: END OF Has "Name" been diagnosed with a RASopathy such as Noonan - * syndrome, Noonan syndrome with multiple lentigines, Costello syndrome, - * cardiofaciocutaneous syndrome, Legius syndrome, capillary arteriovenous - * malformation syndrome, hereditary gingival fibromatosis or SYNGAP1 syndrome? - * PAGE - */ - /* ************************************************************************ */ - /* - * For Proband: Have you been diagnosed with a RASopathy such as Noonan - * syndrome, Noonan syndrome with multiple lentigines, Costello syndrome, - * cardiofaciocutaneous syndrome, Legius syndrome, capillary arteriovenous - * malformation syndrome, hereditary gingival fibromatosis or SYNGAP1 syndrome? - * PAGE - */ - - /* - * For Proband: END OF Have you been diagnosed with a RASopathy such as Noonan - * syndrome, Noonan syndrome with multiple lentigines, Costello syndrome, - * cardiofaciocutaneous syndrome, Legius syndrome, capillary arteriovenous - * malformation syndrome, hereditary gingival fibromatosis or SYNGAP1 syndrome? - * PAGE - */ - /* ************************************************************************ */ - /* - * BEGINNING OF For which specific RASopathy has Automated Test been diagnosed? - * PAGE - * - * - * /* Other option - */ - - /* - * END OF For which specific RASopathy has Automated Test been diagnosed? PAGE - */ - /* ************************************************************************ */ - /* BEGINNING OF Age (in years) at diagnosis PAGE */ - - /* END OF Age (in years) at diagnosis PAGE */ - /* ************************************************************************ */ - /* BEGINNING OF Year of diagnosis (yyyy) PAGE */ - - /* END OF Year of diagnosis (YYYY) PAGE */ - /* ************************************************************************ */ - /* - * For Proxy:BEGINNING Have any of "Participant Name" biological relatives been - * diagnosed with a RASopathy? PAGE - */ - - /* - * For Proxy: END Have any of "Participant Name" biological relatives been - * diagnosed with a RASopathy? PAGE - */ - /* ************************************************************************ */ - /* - * For Proband: BEGINNING OF Have any of your biological relatives been - * diagnosed with a RASopathy? PAGE - */ - - /* - * For Proband: END OF Have any of your biological relatives been diagnosed with - * a RASopathy? PAGE - */ - /* ************************************************************************ */ - /* BEGINNING OF Has participant ever had genetic testing? PAGE */ - - /* END OF Has participant ever had genetic testing? PAGE */ - /* ************************************************************************ */ - /* BEGINNING OF Do you have a copy of the genetic test results? PAGE */ - - /* END OF Do you have a copy of the genetic test results? PAGE */ - /* ************************************************************************ */ - /* - * BEGINNING OF How would you like to provide the genetic test results to - * us?Please select one. On the next page, you will be provided with where to - * send the information. PAGE - */ - - /* - * END OF How would you like to provide the genetic test results to us?Please - * select one. On the next page, you will be provided with where to send the - * information. PAGE - */ - /* ************************************************************************ */ - /* - * BEGINNING OF If you would like to upload the genetic test results, please do - * so here. Note: Only PDF files are accepted. PAGE - */ - - /* - * END OF If you would like to upload the genetic test results, please do so - * here. Note: Only PDF files are accepted. PAGE - */ - /* ************************************************************************ */ - /* - * BEGINNING OF Were any genetic changes detected for the following syndromes? - * (Mark all that apply). PAGE + /** + * Locates an element using a dynamic locator based on the provided text. * - */ - - /* - * END OF Were any genetic changes detected for the following syndromes? (Mark - * all that apply). PAGE - */ - /* ************************************************************************ */ - /* - * BEGINNING OF How did you hear about this study? If a specific health care - * provider referred participant to this study, please include their name in the - * corresponding text box. PAGE - */ - - /* - * END OF How did you hear about this study? If a specific health care provider - * referred participant to this study, please include their name in the - * corresponding text box. PAGE - */ - /* ************************************************************************ */ - /* - * BEGINNING OF Has participant or other family members ever participated in - * another study on RASopathies at another medical institution, university, - * government agency or other site? PAGE - */ - - /* - * END OF Has participant or other family members ever participated in another - * study on RASopathies at another medical institution, university, government - * agency or other site? PAGE - */ - /* ************************************************************************ */ - /* - * BEGINNING OF Please provide the information regarding previous participation - * in other RASopathy studies in the box below. PAGE - */ - - /* - * END OF Please provide the information regarding previous participation in - * other RASopathy studies in the box below. PAGE - */ - /* ************************************************************************ */ - /* - * BEGINNING OF What are the main reasons for participating in this study? - * Select all that apply. PAGE - */ - - /* - USE THIS METHOD TO DYNAMICALLY LOCATE ELEMENTS WITH RAS SCREENER + * @param text The text to search for in the element. + * @return The WebElement representing the located element. */ public static WebElement dynamicLocator(String text) { return webDriver.findElement(By.xpath("//*[text()='" + text + "']")); } + /** + * Locates the dynamic date of birth calendar element on the RAS Screener page. + * + * @param text The aria-label value of the date to locate. + * @return The WebElement representing the dynamic date of birth calendar element. + */ public static WebElement dynamicDateOfBirthCalendarLocator(String text){ return webDriver.findElement(By.xpath("//span[@aria-label='"+ text + "']")); } @@ -518,4 +193,4 @@ public WebElement dynamicLocatorForMainReasonForParticipatingInStudy(String text public RAS_Screener_Page() { PageFactory.initElements(webDriver, this); } -} +} \ No newline at end of file From 7fb081d5af9da7ff1971c7c9e57654191d33ba30 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 2 Aug 2024 14:39:24 -0400 Subject: [PATCH 13/23] .. --- .../NativeView_SideDoor_Dashboard_Page.java | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/src/test/java/appsCommon/Pages/NativeView_SideDoor_Dashboard_Page.java b/src/test/java/appsCommon/Pages/NativeView_SideDoor_Dashboard_Page.java index b865ab5a3..4b0e3b0b7 100644 --- a/src/test/java/appsCommon/Pages/NativeView_SideDoor_Dashboard_Page.java +++ b/src/test/java/appsCommon/Pages/NativeView_SideDoor_Dashboard_Page.java @@ -9,7 +9,6 @@ import io.github.sukgu.support.ElementFieldDecorator; import io.github.sukgu.support.FindElementBy; -/*THIS CLASS CONTAINS NATIVE VIEW DASHBOARD ELEMENTS*/ public class NativeView_SideDoor_Dashboard_Page { public static Shadow shadow = new Shadow(WebDriverUtils.webDriver); /* ALL TAB */ @@ -19,15 +18,7 @@ public class NativeView_SideDoor_Dashboard_Page { /* FILTER NAVIGATOR TEXT BOX */ @FindElementBy(xpath = "//*[@class='sn-polaris-nav-header-filter can-animate']/input") public static WebElement filterNavigatorTextBox; - - /* FILTER NAVIGATOR TEXT BOX */ - @FindBy(css = ".super-filter-header.all-results-toggle.no-interaction") - public static WebElement filterNavigatorResultsTextBox; - - /* PIN */ - @FindElementBy(xpath = "//*[@class='sn-polaris-nav-header-controls pin']//child::button") - public static WebElement sideMenuPin; - + /* iFrame */ @FindElementBy(css = "iframe[title='Main Content']") public static WebElement nativeViewiFrame; @@ -56,18 +47,10 @@ public class NativeView_SideDoor_Dashboard_Page { @FindElementBy(xpath = "//div[@class='now-modal-footer']/now-button[2]") public static WebElement impersonateUserWindowButton; - /* NV POP UP CANCEL BUTTON */ - @FindElementBy(xpath = "//div[@class='now-button -primary -md']") - public static WebElement NVPopUpDiscardCancelButton; - /* FILTER NAVIGATION EMAILS BUTTON */ @FindElementBy(xpath = "//div[@class='sn-polaris-nav-body']/sn-collapsible-list[2]") public static WebElement filterNavigationEmailsButton; - /* FILTER NAVIGATION NOTIFICATIONS BUTTON */ - @FindElementBy(xpath = "//div[@class='sn-polaris-nav-body']/sn-collapsible-list[2]/div/div/ul/li[2]/span") - public static WebElement filterNavigationNotificationButton; - /* FILTER NAVIGATION MEMBERS OF CONGRESS */ @FindElementBy(xpath = "//span[@class='menu-item-row highlighted-menu-item-row']") public static WebElement filterNavigationMembersOfCongress; From 1e9e913c9fc064d69aba9101a31fd7fbb5790484 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 2 Aug 2024 14:39:46 -0400 Subject: [PATCH 14/23] .. --- .../CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature index 43e0c850c..9b0ade6fb 100644 --- a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature +++ b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature @@ -25,9 +25,4 @@ Feature: RAS Screener Scenarios | charmsras1@yahoo.com | RASTest2022$$ | screenerScenario1 | IIQScenario1 | RASSurveyScenario1 | # | charmsras2@yahoo.com | RASTest2023$$ | screenerScenario2 | IIQScenario2 | RASSurveyScenario2 | # | charmsras3@yahoo.com | RASTest2023$$ | screenerScenario3 | IIQScenario3 | RASSurveyScenario3 | -# | charmsras5@yahoo.com | RASTest2023$$ | screenerScenario4 | IIQScenario4 | RASSurveyScenario4 | - - - @playwright - Scenario: RAS Screener Submissions + Assertions - Given a RAS Screener has been submitted \ No newline at end of file +# | charmsras5@yahoo.com | RASTest2023$$ | screenerScenario4 | IIQScenario4 | RASSurveyScenario4 | \ No newline at end of file From ea14d0c0d8f9778a8ba2045218c9d5632830380a Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 2 Aug 2024 14:41:10 -0400 Subject: [PATCH 15/23] .. --- .../CHARMS/Pages/ScreenerRecordTablePage.java | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/test/java/ServiceNow/CHARMS/Pages/ScreenerRecordTablePage.java b/src/test/java/ServiceNow/CHARMS/Pages/ScreenerRecordTablePage.java index d325dbe8a..91c325762 100644 --- a/src/test/java/ServiceNow/CHARMS/Pages/ScreenerRecordTablePage.java +++ b/src/test/java/ServiceNow/CHARMS/Pages/ScreenerRecordTablePage.java @@ -1,23 +1,13 @@ package ServiceNow.CHARMS.Pages; -import com.nci.automation.web.WebDriverUtils; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; - import static com.nci.automation.web.WebDriverUtils.webDriver; public class ScreenerRecordTablePage { - /* REFERRAL PREVIEW BUTTON */ - @FindBy(xpath = "//button[@id='viewr.x_naci_family_coho_family_history_details.proband_screener']") - public WebElement referralPreviewButton; - - /* CONTACT INFORMATION BUTTON */ - @FindBy(xpath = "//span[contains(text(),'Contact Information')]") - public WebElement contactInformationTab; - /* SCREENER PREVIEW FAMILY MEMBER RECORD FIELD */ @FindBy(xpath = "//input[@id='x_naci_family_coho_ras_referral.family_member_record_label']") public WebElement screenerPreviewFamilyMemberRecordField; @@ -170,4 +160,4 @@ public WebElement dynamicLocatorForStudyButtons(String text) { public ScreenerRecordTablePage() { PageFactory.initElements(webDriver, this); } -} +} \ No newline at end of file From 86999b8d4bc7c0ac57186ec70201e0405d6527df Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 2 Aug 2024 14:41:49 -0400 Subject: [PATCH 16/23] .. --- .../CHARMS/Resources/~$RASScenario1.xlsx | Bin 165 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/test/java/ServiceNow/CHARMS/Resources/~$RASScenario1.xlsx diff --git a/src/test/java/ServiceNow/CHARMS/Resources/~$RASScenario1.xlsx b/src/test/java/ServiceNow/CHARMS/Resources/~$RASScenario1.xlsx deleted file mode 100644 index 6d931cc6b688178186d1e588c99e07758872a4d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmb34Dord(to7)luu8HyNE8LAj`7!(*> k7&3wEbcTE&TZ6%m!IQy*K_5sv16i6tv1lMG7D$r=0hewUDF6Tf From cf624dd4dd892dd1d58c5715638a86ad45fe26f0 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 2 Aug 2024 14:42:48 -0400 Subject: [PATCH 17/23] .. --- .../RASStudy/RAS_Scenario_Five_StepsImpl.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_Five_StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_Five_StepsImpl.java index 64386be8b..2ae0a64de 100644 --- a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_Five_StepsImpl.java +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Scenario_Five_StepsImpl.java @@ -29,13 +29,11 @@ public void ras_screener_submission_five() { ras_screenerSubmissions_stepsImpl.clickOnScreenerNextButton(); } try { - // rasopathyQuestionnairePage.iAmCompletingThisFormForMyselfOption.click(); rasopathyQuestionnairePage.dynamicLocator(ras_Screener_Constants.ARE_YOU_COMPLETING_THIS_FORM_FOR_SOMEONE_ELSE); CucumberLogUtils.logScreenshot(); } catch (NoSuchElementException e) { e.printStackTrace(); ras_screenerSubmissions_stepsImpl.clickOnScreenerNextButton(); - // rasopathyQuestionnairePage.iAmCompletingThisFormForMyselfOption.click(); rasopathyQuestionnairePage.dynamicLocator(ras_Screener_Constants.ARE_YOU_COMPLETING_THIS_FORM_FOR_SOMEONE_ELSE); CucumberLogUtils.logScreenshot(); } From 3ec704b4fa9fe1166b135123dd38be7ab452a9da Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Fri, 2 Aug 2024 17:00:11 -0400 Subject: [PATCH 18/23] .. --- .github/workflows/CHANGE-PASSWORD-Smoke.yml | 2 +- .../com/nci/automation/web/WebDriverUtils.java | 2 ++ .../CHARMS/Resources/~$RASScenario1.xlsx | Bin 0 -> 165 bytes 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 src/test/java/ServiceNow/CHARMS/Resources/~$RASScenario1.xlsx diff --git a/.github/workflows/CHANGE-PASSWORD-Smoke.yml b/.github/workflows/CHANGE-PASSWORD-Smoke.yml index 5f1af370a..f23a75c37 100644 --- a/.github/workflows/CHANGE-PASSWORD-Smoke.yml +++ b/.github/workflows/CHANGE-PASSWORD-Smoke.yml @@ -13,7 +13,7 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: self-hosted env: DISPLAY: ".99" SCREEN_RESOLUTION: "1280x1024x24" diff --git a/src/main/java/com/nci/automation/web/WebDriverUtils.java b/src/main/java/com/nci/automation/web/WebDriverUtils.java index d45c7615b..35e4862a8 100644 --- a/src/main/java/com/nci/automation/web/WebDriverUtils.java +++ b/src/main/java/com/nci/automation/web/WebDriverUtils.java @@ -101,6 +101,8 @@ public static void launchChrome() { } else if (osName.contains("Linux")) { ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.addArguments("--headless=new"); + chromeOptions.addArguments("---no-sandbox"); + chromeOptions.addArguments("--disable-dev-shm-usage"); webDriver = new ChromeDriver(chromeOptions); webDriver.manage().window().maximize(); webDriver.manage().deleteAllCookies(); diff --git a/src/test/java/ServiceNow/CHARMS/Resources/~$RASScenario1.xlsx b/src/test/java/ServiceNow/CHARMS/Resources/~$RASScenario1.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6d931cc6b688178186d1e588c99e07758872a4d6 GIT binary patch literal 165 zcmb34Dord(to7)luu8HyNE8LAj`7!(*> k7&3wEbcTE&TZ6%m!IQy*K_5sv16i6tv1lMG7D$r=0hewUDF6Tf literal 0 HcmV?d00001 From 062802ad60d53109c34eb5cfba44e5f488a069be Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Mon, 5 Aug 2024 10:03:14 -0400 Subject: [PATCH 19/23] .. --- .../RASStudy/RAS_Screener_Submissions_StepsImpl.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java index 839769e6a..3baaf15ac 100644 --- a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java @@ -505,7 +505,7 @@ public void clicksOnTheRasSurveyForm() { } /*** - * USE THIS METHOD TO CLICK ON RAS IIF FORM + * USE THIS METHOD TO CLICK ON RAS IIQ FORM */ public void clicksOnTheIiqForm() { CommonUtils.waitForVisibility(myRASHomePage.rasoptathyIiqButton); @@ -575,13 +575,10 @@ public void theParticipantWillBeAbleToRewindTheForm() { public void nativeViewConsentFlowProcessScenario1(String sheetName) { ServiceNow_Login_Methods.nativeViewSideDoorLogin(); MiscUtils.sleep(2000); - - // ServiceNow_Common_Methods.filterNavigatorSearch("All Participant Details"); NativeView_SideDoor_Dashboard_Page.filterNavigatorTextBox.sendKeys("All Participant Details"); MiscUtils.sleep(3000); CommonUtils.clickOnElement(NativeView_SideDoor_Dashboard_Page.allParticipantDetailsLink); MiscUtils.sleep(3000); - CommonUtils.switchToFrame(NativeView_SideDoor_Dashboard_Page.nativeViewiFrame); MiscUtils.sleep(2000); CucumberLogUtils.logScreenshot(); From a6a9ac77ec22c40c971dcc3bc83cd9291c803c2e Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Mon, 5 Aug 2024 10:07:04 -0400 Subject: [PATCH 20/23] .. --- .../RAS_Screener_Submissions_StepsImpl.java | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java index 3baaf15ac..daf71945b 100644 --- a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java @@ -604,21 +604,16 @@ public void nativeViewConsentFlowProcessScenario1(String sheetName) { CucumberLogUtils.logScreenshot(); CommonUtils.clickOnElement(nativeViewCHARMSDashboardPage.rasStudyOpenRecordButton); } - MiscUtils.sleep(2000); - MiscUtils.sleep(2000); CommonUtils.waitForVisibility(nativeViewCHARMSParticipantDetailsPage.nativeViewPatientDetailsSubmitForEligibilityButton); CucumberLogUtils.logScreenshot(); CommonUtils.clickOnElement(nativeViewCHARMSParticipantDetailsPage.nativeViewPatientDetailsSubmitForEligibilityButton); - - CommonUtils.waitForVisibility(nativeViewCHARMSParticipantDetailsPage.nativeViewPatientDetailsMarkEligibleButton); CucumberLogUtils.logScreenshot(); CommonUtils.clickOnElement(nativeViewCHARMSParticipantDetailsPage.nativeViewPatientDetailsMarkEligibleButton); CommonUtils.waitForVisibility(nativeViewCHARMSParticipantDetailsPage.nativeViewPatientDetailsConsentAddedText); CucumberLogUtils.logScreenshot(); CommonUtils.assertEqualsWithMessage(nativeViewCHARMSParticipantDetailsPage.nativeViewPatientDetailsConsentAddedText.getText(), CHARMSRASScreenerConstants.CONSENT_ADDED_TEXT, "---- VERIFYING SCREENER RECORD RASOPATHY HISTORY DATA ----"); - /* BEGINNING: CONSENT FLOW PROCESS */ /** * BEGINNING: CONSENT FLOW PROCESS @@ -630,15 +625,6 @@ public void nativeViewConsentFlowProcessScenario1(String sheetName) { CommonUtils.waitForVisibility(nativeViewCHARMSDashboardPage.rasStudyOpenRecordButton); MiscUtils.sleep(500); CucumberLogUtils.logScreenshot(); - - //CommonUtils.waitForClickability(nativeViewCHARMSParticipantDetailsPage.nativeSubjectFlagButton); -// CommonUtils.clickOnElement(nativeViewCHARMSParticipantDetailsPage.nativeSubjectFlagButton); -// MiscUtils.sleep(2000); -// CommonUtils.waitForVisibility(nativeViewCHARMSParticipantConsentPage.rasStudyNonParticipantDateButton); -// CommonUtils.clickOnElement(nativeViewCHARMSParticipantConsentPage.rasStudyNonParticipantDateButton); -// CommonUtils.waitForVisibility(nativeViewCHARMSParticipantConsentPage.rasStudyConsentCallScheduleTimeTodayButton); -// CommonUtils.clickOnElement(nativeViewCHARMSParticipantConsentPage.rasStudyConsentCallScheduleTimeTodayButton); - CommonUtils.clickOnElement(nativeViewCHARMSDashboardPage.rasStudyOpenRecordButton); CommonUtils.waitForVisibility(nativeViewCHARMSParticipantConsentPage.rasStudyConsentCallScheduleTimeCalendar); CucumberLogUtils.logScreenshot(); From f3d114f0f622f77593cb34384af39d2d18d26cae Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Mon, 5 Aug 2024 10:14:27 -0400 Subject: [PATCH 21/23] .. --- .../RASStudy/RAS_Screener_Submissions_StepsImpl.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java index daf71945b..d3f62a8f2 100644 --- a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java @@ -1816,17 +1816,12 @@ public void rasScreenerSurveyScenario1PartTen() { ServiceNow_Common_Methods.logOutOfNativeView(); } - public void verifyingDropDownOption(WebElement element, String message) { - CommonUtils.assertEqualsWithMessage(element.getAttribute("selected"), "true", message); - } - /*** * THIS METHOD VERIFIES RAS SCREENER SCENARIO 1 DATA IN NATIVE VIEW */ public void verifying_RAS_Screener_Scenario_1_Data(String sheetName) { ServiceNow_Login_Methods.nativeViewSideDoorLogin(); MiscUtils.sleep(2000); - NativeView_SideDoor_Dashboard_Page.filterNavigatorTextBox.sendKeys("All Participant Details"); MiscUtils.sleep(3000); CommonUtils.clickOnElement(NativeView_SideDoor_Dashboard_Page.allParticipantDetailsLink); From c853459b128aa4afc770fc1c1276711450262208 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Tue, 6 Aug 2024 10:09:48 -0400 Subject: [PATCH 22/23] .. --- .../com/nci/automation/web/CommonUtils.java | 6 +++ .../RasopathyStudy/RAS Entire Flow.feature | 24 ++++----- .../RAS_Screener_Submissions_StepsImpl.java | 52 +++++++++---------- .../RAS_Screener_Questions.java | 33 ++++++++++++ .../ApplicantProfileStepsImpl.java | 1 - 5 files changed, 77 insertions(+), 39 deletions(-) create mode 100644 src/test/java/ServiceNow/CHARMS/studyQuestions/RAS_Screener_Questions.java diff --git a/src/main/java/com/nci/automation/web/CommonUtils.java b/src/main/java/com/nci/automation/web/CommonUtils.java index 8fca647ef..ecfaa12ca 100644 --- a/src/main/java/com/nci/automation/web/CommonUtils.java +++ b/src/main/java/com/nci/automation/web/CommonUtils.java @@ -714,6 +714,12 @@ public static void verifyingDropDownValueIsSelected(WebElement element, String e } } + /** + * This method returns the text of the selected option in a drop-down list. + * + * @param element the web element representing the drop-down list + * @return the text of the selected option in the drop-down list + */ public static String getTextOfSelectedDropDownOption(WebElement element){ Select select = new Select(element); return select.getFirstSelectedOption().getText(); diff --git a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature index 9b0ade6fb..2f0d73008 100644 --- a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature +++ b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature @@ -8,18 +8,18 @@ Feature: RAS Screener Scenarios And logs in via Okta with username "" and password "" And clicks on "Eligibility Questionnaire" to begin survey When the participant submits a screener from excel sheet "" - And the consent is submitted for "" - Then data submitted for scenario is verified in native from the excel sheet "" - Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" - And logs in via Okta with username "" and password "" - And clicks on the IIQ Form - And a participant enters username "" and pin - And the participant submits a Individual Information Questionnaire for excel sheet "" - Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" - And logs in via Okta with username "" and password "" - And clicks on the Ras Survey Form - And a participant enters username "" and pin - When the participant submits a RAS Survey from excel sheet "" +# And the consent is submitted for "" +# Then data submitted for scenario is verified in native from the excel sheet "" +# Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" +# And logs in via Okta with username "" and password "" +# And clicks on the IIQ Form +# And a participant enters username "" and pin +# And the participant submits a Individual Information Questionnaire for excel sheet "" +# Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" +# And logs in via Okta with username "" and password "" +# And clicks on the Ras Survey Form +# And a participant enters username "" and pin +# When the participant submits a RAS Survey from excel sheet "" Examples: | Email | Password | ScreenerScenario | IIQScenario | SurveyScenario | | charmsras1@yahoo.com | RASTest2022$$ | screenerScenario1 | IIQScenario1 | RASSurveyScenario1 | diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java index d3f62a8f2..126466661 100644 --- a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java @@ -17,10 +17,10 @@ import com.nci.automation.web.CommonUtils; import com.nci.automation.web.JavascriptUtils; import com.nci.automation.web.WebDriverUtils; -import io.cucumber.messages.types.Hook; import org.openqa.selenium.*; import org.testng.Assert; import static ServiceNow.CHARMS.Pages.RAS_Screener_Page.dynamicLocator; +import static ServiceNow.CHARMS.studyQuestions.RAS_Screener_Questions.*; public class RAS_Screener_Submissions_StepsImpl extends PageInitializer { /*** @@ -99,7 +99,7 @@ public static void rasScreenerSubmissions() { /** * * * * * ARE YOU COMPLETING THIS FORM FOR SOMEONE ELSE OR FOR YOURSELF? * * * * */ - if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you completing this form for someone else or for yourself?")) { + if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(ARE_YOU_COMPLETING_THIS_FORM_FOR_SOMEONE_ELSE_OR_FOR_YOURSELF)) { CucumberLogUtils.scenario.log("* * * * ARE YOU COMPLETING THIS FORM FOR SOMEONE ELSE OR FOR YOURSELF? * * * *"); dynamicLocator(ras_Screener_TestDataManager.areYouCompletingThisFormForSomeoneElseOrYourself).click(); CucumberLogUtils.logScreenshot(); @@ -108,7 +108,7 @@ public static void rasScreenerSubmissions() { /** * * * * * WHAT IS YOUR NAME? * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your name?")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(WHAT_IS_YOUR_NAME)) { CucumberLogUtils.scenario.log("* * * * * ENTERING FIRST NAME, MIDDLE INITIAL, LAST NAME * * * * *"); rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.FIRST_NAME).sendKeys(ras_Screener_TestDataManager.firstName); rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.MIDDLE_INITIAL).sendKeys(ras_Screener_TestDataManager.middleInitial); @@ -119,7 +119,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * THE NEXT SET OF QUESTIONS WILL COLLECT BASIC INFORMATION ABOUT YOU. * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("The next set of questions will collect basic information about you.")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(THE_NEXT_SET_OF_QUESTIONS_WILL_COLLECT_BASIC_INFORMATION_ABOUT_YOU)) { CucumberLogUtils.scenario.log("* * * * * THE NEXT SET OF QUESTIONS WILL COLLECT BASIC INFORMATION ABOUT YOU. * * * * *"); CucumberLogUtils.logScreenshot(); ras_screenerSubmissions_stepsImpl.clickOnScreenerNextButton(); @@ -127,7 +127,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * WHAT IS YOUR DATE OF BIRTH? * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your date of birth?")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(WHAT_IS_YOUR_DATE_OF_BIRTH)) { CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR DATE OF BIRTH? * * * * *"); CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.dateOfBirthMonth, rasopathyQuestionnairePage.calendarMonthDropDown); rasopathyQuestionnairePage.calendarYearTextBox.clear(); @@ -139,7 +139,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * WHAT WAS YOUR SEX ASSIGNED AT BIRTH? * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What was your sex assigned at birth?")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(WHAT_WAS_YOUR_SEX_ASSIGNED_AT_BIRTH)) { CucumberLogUtils.scenario.log("* * * * * WHAT WAS YOUR SEX ASSIGNED AT BIRTH? * * * * *"); dynamicLocator(ras_Screener_TestDataManager.sexAssignedAtBirthOption).click(); CucumberLogUtils.logScreenshot(); @@ -148,7 +148,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * ARE YOU ADOPTED? * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you adopted?")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(ARE_YOU_ADOPTED)) { CucumberLogUtils.scenario.log("* * * * * ARE YOU ADOPTED? * * * * *"); dynamicLocator(ras_Screener_TestDataManager.areYouAdoptedOption).click(); CucumberLogUtils.logScreenshot(); @@ -157,7 +157,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * IN WHICH COUNTRY DO YOU CURRENTLY LIVE? * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("In which country do you currently live?")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(IN_WHICH_COUNTRY_DO_YOU_CURRENTLY_LIVE)) { CucumberLogUtils.scenario.log("* * * * * IN WHICH COUNTRY DO YOU CURRENTLY LIVE? * * * * *"); CommonUtils.selectDropDownValue(ras_Screener_TestDataManager.countryOption, rasopathyQuestionnairePage.whatCountryDoesParticipantCurrentlyLiveInDropDown); CucumberLogUtils.logScreenshot(); @@ -166,7 +166,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * PLEASE PROVIDE THE MAILING ADDRESS WHERE STUDY MATERIALS CAN BE SENT, AS NEEDED. * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Please provide the mailing address where study materials can be sent, as needed.")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(PLEASE_PROVIDE_THE_MAILING_ADDRESS_WHERE_STUDY_MATERIALS_CAN_BE_SENT_AS_NEEDED)) { CucumberLogUtils.scenario.log("* * * * * PLEASE PROVIDE THE MAILING ADDRESS WHERE STUDY MATERIALS CAN BE SENT, AS NEEDED. * * * * *"); rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_ADDRESS).sendKeys(ras_Screener_TestDataManager.street); rasopathyQuestionnairePage.dynamicTextBoxLocator(ras_Screener_Constants.STREET_2_ADDRESS).sendKeys(ras_Screener_TestDataManager.street2); @@ -179,7 +179,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * WHAT IS YOUR EMAIL ADDRESS? * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your email address?")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(WHAT_IS_YOUR_EMAIL_ADDRESS)) { CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR EMAIL ADDRESS? * * * * *"); rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddress); CucumberLogUtils.logScreenshot(); @@ -188,7 +188,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * PLEASE CONFIRM YOUR EMAIL ADDRESS * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Please confirm your email address")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(PLEASE_CONFIRM_YOUR_EMAIL_ADDRESS)) { CucumberLogUtils.scenario.log("* * * * * PLEASE CONFIRM YOUR EMAIL ADDRESS * * * * *"); rasopathyQuestionnairePage.dynamicEmailAddressTextBox(ras_Screener_Constants.CONFIRM_EMAIL_ADDRESS).sendKeys(ras_Screener_TestDataManager.emailAddressConfirm); CucumberLogUtils.logScreenshot(); @@ -197,7 +197,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * PLEASE LIST YOUR PHONE NUMBERS BELOW. PLEASE ALSO SELECT YOUR PREFERRED CONTACT NUMBER. * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Please list your phone numbers below. Please also select your preferred contact number. ")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(PLEASE_LIST_YOUR_PHONE_NUMBERS_BELOW_PLEASE_ALSO_SELECT_YOUR_PREFERRED_CONTACT_NUMBER)) { CucumberLogUtils.scenario.log("* * * * * PLEASE LIST YOUR PHONE NUMBERS BELOW. PLEASE ALSO SELECT YOUR PREFERRED CONTACT NUMBER. * * * * *"); rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.HOME_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.homePhoneNumber); rasopathyQuestionnairePage.dynamicTextBoxLocatorForPhoneNumbers(ras_Screener_Constants.CELL_PHONE_NUMBER).sendKeys(ras_Screener_TestDataManager.cellPhoneNumber); @@ -209,7 +209,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * WHAT IS YOUR ETHNICITY? * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your ethnicity?")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(WHAT_IS_YOUR_ETHNICITY)) { CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR ETHNICITY? * * * * *"); dynamicLocator(ras_Screener_TestDataManager.whatIsYourEthnicity).click(); CucumberLogUtils.logScreenshot(); @@ -218,7 +218,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * WHAT IS YOUR RACE? PLEASE SELECT ALL THAT APPLY. * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What is your race? Please select all that apply.")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(WHAT_IS_YOUR_RACE_PLEASE_SELECT_ALL_THAT_APPLY)) { CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR RACE? PLEASE SELECT ALL THAT APPLY. * * * * *"); dynamicLocator(ras_Screener_TestDataManager.whatIsYourRace).click(); CucumberLogUtils.logScreenshot(); @@ -227,7 +227,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * ARE YOU A PARTICIPANT IN ANY OTHER RESEARCH STUDY OR REGISTRY GROUP? PLEASE SPECIFY. * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Are you a participant in any other research study or registry group? Please specify.")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(ARE_YOU_A_PARTICIPANT_IN_ANY_OTHER_RESEARCH_STUDY_OR_REGISTRY_GROUP_PLEASE_SPECIFY)) { CucumberLogUtils.scenario.log("* * * * * ARE YOU A PARTICIPANT IN ANY OTHER RESEARCH STUDY OR REGISTRY GROUP? PLEASE SPECIFY. * * * * *"); dynamicLocator(ras_Screener_TestDataManager.areYouAParticipantInOtherStudyGroup).click(); CucumberLogUtils.logScreenshot(); @@ -236,7 +236,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * TO DETERMINE ELIGIBILITY FOR THIS STUDY, WE NEED TO COLLECT INFORMATION ABOUT MEDICAL DIAGNOSES. THESE QUESTIONS ASK ABOUT GENERAL MEDICAL CONDITIONS, CANCER AND ANY PRIOR DIAGNOSIS OF A RASOPATHY. PLEASE COMPLETE THIS INFORMATION TO THE BEST OF YOUR KNOWLEDGE. * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("To determine eligibility for this study, we need to collect information about medical diagnoses. These questions ask about general medical conditions, cancer and any prior diagnosis of a RASopathy. Please complete this information to the best of your knowledge. ")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(TO_DETERMINE_ELIGIBILITY_FOR_THIS_STUDY_WE_NEED_TO_COLLECT_INFORMATION_ABOUT_MEDICAL_DIAGNOSES_THESE_QUESTIONS_ASK_ABOUT_GENERAL_MEDICAL_CONDITIONS_CANCER_AND_ANY_PRIOR_DIAGNOSIS_OF_A_RASOPATHY)) { CucumberLogUtils.scenario.log("* * * * * TO DETERMINE ELIGIBILITY FOR THIS STUDY, WE NEED TO COLLECT INFORMATION ABOUT MEDICAL DIAGNOSES. THESE QUESTIONS ASK ABOUT GENERAL MEDICAL CONDITIONS, CANCER AND ANY PRIOR DIAGNOSIS OF A RASOPATHY. PLEASE COMPLETE THIS INFORMATION TO THE BEST OF YOUR KNOWLEDGE. * * * * *"); CucumberLogUtils.logScreenshot(); ras_screenerSubmissions_stepsImpl.clickOnScreenerNextButton(); @@ -244,7 +244,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * HAVE YOU EVER BEEN DIAGNOSED WITH THE FOLLOWING CONDITIONS? SELECT ALL THAT APPLY. IF YOU DO NOT SEE THE EXACT CONDITION DIAGNOSED, PLEASE SELECT THE CLOSEST ANSWER. * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you ever been diagnosed with the following conditions? Select all that apply. If you do not see the exact condition diagnosed, please select the closest answer.")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(HAVE_YOU_EVER_BEEN_DIAGNOSED_WITH_THE_FOLLOWING_CONDITIONS)) { CucumberLogUtils.scenario.log("* * * * * HAVE YOU EVER BEEN DIAGNOSED WITH THE FOLLOWING CONDITIONS? SELECT ALL THAT APPLY. IF YOU DO NOT SEE THE EXACT CONDITION DIAGNOSED, PLEASE SELECT THE CLOSEST ANSWER. * * * * *"); dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithFollowingConditions).click(); CucumberLogUtils.logScreenshot(); @@ -253,7 +253,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * HAVE YOU EVER BEEN DIAGNOSED WITH CANCER? * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you ever been diagnosed with cancer?")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(HAVE_YOU_EVER_BEEN_DIAGNOSED_WITH_CANCER)) { CucumberLogUtils.scenario.log("* * * * * HAVE YOU EVER BEEN DIAGNOSED WITH CANCER? * * * * *"); dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithCancer).click(); CucumberLogUtils.logScreenshot(); @@ -262,7 +262,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * HAVE YOU BEEN DIAGNOSED WITH A RASOPATHY SUCH AS NOONAN SYNDROME, NOONAN SYNDROME WITH MULTIPLE LENTIGINES, COSTELLO SYNDROME, CARDIOFACIOCUTANEOUS SYNDROME, LEGIUS SYNDROME, CAPILLARY ARTERIOVENOUS MALFORMATION SYNDROME, HEREDITARY GINGIVAL FIBROMATOSIS OR SYNGAP1 SYNDROME? * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you been diagnosed with a RASopathy such as Noonan syndrome, Noonan syndrome with multiple lentigines, Costello syndrome, cardiofaciocutaneous syndrome, Legius syndrome, capillary arteriovenous malformation syndrome, hereditary gingival fibromatosis or SYNGAP1 syndrome?")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(HAVE_YOU_BEEN_DIAGNOSED_WITH_A_RASOPATHY)) { CucumberLogUtils.scenario.log("* * * * * HAVE YOU BEEN DIAGNOSED WITH A RASOPATHY SUCH AS NOONAN SYNDROME, NOONAN SYNDROME WITH MULTIPLE LENTIGINES, COSTELLO SYNDROME, CARDIOFACIOCUTANEOUS SYNDROME, LEGIUS SYNDROME, CAPILLARY ARTERIOVENOUS MALFORMATION SYNDROME, HEREDITARY GINGIVAL FIBROMATOSIS OR SYNGAP1 SYNDROME? * * * * *"); dynamicLocator(ras_Screener_TestDataManager.haveYouBeenDiagnosedWithARasopathy).click(); CucumberLogUtils.logScreenshot(); @@ -279,7 +279,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * HAVE ANY OF YOUR BIOLOGICAL RELATIVES BEEN DIAGNOSED WITH A RASOPATHY? * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(" Have any of your biological relatives been diagnosed with a RASopathy?")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(HAVE_ANY_OF_YOUR_BIOLOGICAL_RELATIVES_BEEN_DIAGNOSED_WITH_A_RASOPATHY)) { CucumberLogUtils.scenario.log("* * * * * HAVE ANY OF YOUR BIOLOGICAL RELATIVES BEEN DIAGNOSED WITH A RASOPATHY? * * * * *"); dynamicLocator(ras_Screener_TestDataManager.haveAnyOfYourBiologicalRelativesBeenDiagnosedWithARasopathy).click(); CucumberLogUtils.logScreenshot(); @@ -289,7 +289,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn * * * * * * HAVE YOU EVER HAD GENETIC TESTING? * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you ever had genetic testing?")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(HAVE_YOU_EVER_HAD_GENETIC_TESTING)) { CucumberLogUtils.scenario.log("* * * * * HAVE YOU EVER HAD GENETIC TESTING? * * * * *"); dynamicLocator(ras_Screener_TestDataManager.haveYouEverHadGeneticTesting).click(); CucumberLogUtils.logScreenshot(); @@ -298,7 +298,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * WE WILL NOW ASK A FEW REMAINING QUESTIONS REGARDING THIS STUDY. * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("We will now ask a few remaining questions regarding this study.")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(WE_WILL_NOW_ASK_A_FEW_REMAINING_QUESTIONS_REGARDING_THIS_STUDY)) { CucumberLogUtils.scenario.log("* * * * * WE WILL NOW ASK A FEW REMAINING QUESTIONS REGARDING THIS STUDY. * * * * *"); CucumberLogUtils.logScreenshot(); ras_screenerSubmissions_stepsImpl.clickOnScreenerNextButton(); @@ -306,7 +306,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * HOW DID YOU HEAR ABOUT THIS STUDY? IF A SPECIFIC HEALTH CARE PROVIDER REFERRED YOU TO THIS STUDY, PLEASE INCLUDE THEIR NAME IN THE CORRESPONDING TEXT BOX. * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("How did you hear about this study? If a specific health care provider referred you to this study, please include their name in the corresponding text box.")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(HOW_DID_YOU_HEAR_ABOUT_THIS_STUDY)) { CucumberLogUtils.scenario.log("* * * * * HOW DID YOU HEAR ABOUT THIS STUDY? IF A SPECIFIC HEALTH CARE PROVIDER REFERRED YOU TO THIS STUDY, PLEASE INCLUDE THEIR NAME IN THE CORRESPONDING TEXT BOX. * * * * *"); CommonUtils.scrollIntoView(dynamicLocator(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy)); dynamicLocator(ras_Screener_TestDataManager.howDidYouHearAboutThisStudy); @@ -317,7 +317,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * HAVE YOU OR OTHER FAMILY MEMBERS EVER PARTICIPATED IN ANOTHER STUDY ON RASOPATHY AT ANOTHER MEDICAL INSTITUTION, UNIVERSITY, GOVERNMENT AGENCY OR OTHER SITE? * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("Have you or other family members ever participated in another study on RASopathy at another medical institution, university, government agency or other site?")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(HAVE_YOU_OR_OTHER_FAMILY_MEMBERS_EVER_PARTICIPATED_IN_ANOTHER_STUDY_ON_RASOPATHY_AT_ANOTHER_MEDICAL_INSTITUTION_UNIVERSITY_GOVERNMENT_AGENCY_OR_OTHER_SITE)) { CucumberLogUtils.scenario.log("* * * * * HAVE YOU OR OTHER FAMILY MEMBERS EVER PARTICIPATED IN ANOTHER STUDY ON RASOPATHY AT ANOTHER MEDICAL INSTITUTION, UNIVERSITY, GOVERNMENT AGENCY OR OTHER SITE? * * * * *"); dynamicLocator(ras_Screener_TestDataManager.haveYouOrOtherFamilyMembersParticipatedInOtherStudy).click(); CucumberLogUtils.logScreenshot(); @@ -326,7 +326,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * WHAT ARE THE MAIN REASONS FOR PARTICIPATING IN THIS STUDY? SELECT ALL THAT APPLY. PLEASE ELABORATE ON THE REASON IN THE CORRESPONDING TEXTBOX. * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals("What are the main reasons for participating in this study? Select all that apply. Please elaborate on the reason in the corresponding textbox.")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(WHAT_ARE_THE_MAIN_REASONS_FOR_PARTICIPATING_IN_THIS_STUDY)) { CucumberLogUtils.scenario.log("* * * * * WHAT ARE THE MAIN REASONS FOR PARTICIPATING IN THIS STUDY? SELECT ALL THAT APPLY. PLEASE ELABORATE ON THE REASON IN THE CORRESPONDING TEXTBOX. * * * * *"); CommonUtils.scrollIntoView(dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy)); dynamicLocator(ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy).click(); @@ -337,7 +337,7 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn /** * * * * * YOU ARE ALMOST DONE! * * * * */ - else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contains("You are almost done!")) { + else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contains(YOU_ARE_ALMOST_DONE)) { CucumberLogUtils.scenario.log("* * * * * YOU ARE ALMOST DONE! * * * * *"); ras_screenerSubmissions_stepsImpl.clickOnScreenerNextButton(); MiscUtils.sleep(3000); diff --git a/src/test/java/ServiceNow/CHARMS/studyQuestions/RAS_Screener_Questions.java b/src/test/java/ServiceNow/CHARMS/studyQuestions/RAS_Screener_Questions.java new file mode 100644 index 000000000..aadc85b7c --- /dev/null +++ b/src/test/java/ServiceNow/CHARMS/studyQuestions/RAS_Screener_Questions.java @@ -0,0 +1,33 @@ +package ServiceNow.CHARMS.studyQuestions; + +public class RAS_Screener_Questions { + + /** + * THIS JAVA CLASS CONTAINS ALL RAS SCREENER QUESTIONS + */ + public static final String ARE_YOU_COMPLETING_THIS_FORM_FOR_SOMEONE_ELSE_OR_FOR_YOURSELF = "Are you completing this form for someone else or for yourself?"; + public static final String WHAT_IS_YOUR_NAME = "What is your name?"; + public static final String THE_NEXT_SET_OF_QUESTIONS_WILL_COLLECT_BASIC_INFORMATION_ABOUT_YOU = "The next set of questions will collect basic information about you."; + public static final String WHAT_IS_YOUR_DATE_OF_BIRTH = "What is your date of birth?"; + public static final String WHAT_WAS_YOUR_SEX_ASSIGNED_AT_BIRTH = "What was your sex assigned at birth?"; + public static final String ARE_YOU_ADOPTED = "Are you adopted?"; + public static final String IN_WHICH_COUNTRY_DO_YOU_CURRENTLY_LIVE = "In which country do you currently live?"; + public static final String PLEASE_PROVIDE_THE_MAILING_ADDRESS_WHERE_STUDY_MATERIALS_CAN_BE_SENT_AS_NEEDED = "Please provide the mailing address where study materials can be sent, as needed."; + public static final String WHAT_IS_YOUR_EMAIL_ADDRESS = "What is your email address?"; + public static final String PLEASE_CONFIRM_YOUR_EMAIL_ADDRESS = "Please confirm your email address"; + public static final String PLEASE_LIST_YOUR_PHONE_NUMBERS_BELOW_PLEASE_ALSO_SELECT_YOUR_PREFERRED_CONTACT_NUMBER = "Please list your phone numbers below. Please also select your preferred contact number. "; + public static final String WHAT_IS_YOUR_ETHNICITY = "What is your ethnicity?"; + public static final String WHAT_IS_YOUR_RACE_PLEASE_SELECT_ALL_THAT_APPLY = "What is your race? Please select all that apply."; + public static final String ARE_YOU_A_PARTICIPANT_IN_ANY_OTHER_RESEARCH_STUDY_OR_REGISTRY_GROUP_PLEASE_SPECIFY = "Are you a participant in any other research study or registry group? Please specify."; + public static final String TO_DETERMINE_ELIGIBILITY_FOR_THIS_STUDY_WE_NEED_TO_COLLECT_INFORMATION_ABOUT_MEDICAL_DIAGNOSES_THESE_QUESTIONS_ASK_ABOUT_GENERAL_MEDICAL_CONDITIONS_CANCER_AND_ANY_PRIOR_DIAGNOSIS_OF_A_RASOPATHY = "To determine eligibility for this study, we need to collect information about medical diagnoses. These questions ask about general medical conditions, cancer and any prior diagnosis of a RASopathy. Please complete this information to the best of your knowledge. "; + public static final String HAVE_YOU_EVER_BEEN_DIAGNOSED_WITH_THE_FOLLOWING_CONDITIONS = "Have you ever been diagnosed with the following conditions? Select all that apply. If you do not see the exact condition diagnosed, please select the closest answer."; + public static final String HAVE_YOU_EVER_BEEN_DIAGNOSED_WITH_CANCER = "Have you ever been diagnosed with cancer?"; + public static final String HAVE_YOU_BEEN_DIAGNOSED_WITH_A_RASOPATHY = "Have you been diagnosed with a RASopathy such as Noonan syndrome, Noonan syndrome with multiple lentigines, Costello syndrome, cardiofaciocutaneous syndrome, Legius syndrome, capillary arteriovenous malformation syndrome, hereditary gingival fibromatosis or SYNGAP1 syndrome?"; + public static final String HAVE_ANY_OF_YOUR_BIOLOGICAL_RELATIVES_BEEN_DIAGNOSED_WITH_A_RASOPATHY = " Have any of your biological relatives been diagnosed with a RASopathy?"; + public static final String HAVE_YOU_EVER_HAD_GENETIC_TESTING = "Have you ever had genetic testing?"; + public static final String WE_WILL_NOW_ASK_A_FEW_REMAINING_QUESTIONS_REGARDING_THIS_STUDY = "We will now ask a few remaining questions regarding this study."; + public static final String HOW_DID_YOU_HEAR_ABOUT_THIS_STUDY = "How did you hear about this study? If a specific health care provider referred you to this study, please include their name in the corresponding text box."; + public static final String HAVE_YOU_OR_OTHER_FAMILY_MEMBERS_EVER_PARTICIPATED_IN_ANOTHER_STUDY_ON_RASOPATHY_AT_ANOTHER_MEDICAL_INSTITUTION_UNIVERSITY_GOVERNMENT_AGENCY_OR_OTHER_SITE = "Have you or other family members ever participated in another study on RASopathy at another medical institution, university, government agency or other site?"; + public static final String WHAT_ARE_THE_MAIN_REASONS_FOR_PARTICIPATING_IN_THIS_STUDY = "What are the main reasons for participating in this study? Select all that apply. Please elaborate on the reason in the corresponding textbox."; + public static final String YOU_ARE_ALMOST_DONE = "You are almost done!"; +} diff --git a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/ApplicantProfileStepsImpl.java b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/ApplicantProfileStepsImpl.java index 27095b8ef..3cafe6adf 100644 --- a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/ApplicantProfileStepsImpl.java +++ b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/ApplicantProfileStepsImpl.java @@ -1491,7 +1491,6 @@ public static void your_applications_tab_should_not_be_displayed() { */ public static void verifies_vacancy_title_is(String expectedVacancyTitle) { CucumberLogUtils.playwrightScreenshot(page); -// Hooks.softAssert.assertEquals(page.locator("//div[@class='TitleAndDateContainer']/h1").innerText(), expectedVacancyTitle); Hooks.softAssert.assertEquals(page.locator("//*[normalize-space()='" + expectedVacancyTitle + " " + timestamp + "']").innerText(), expectedVacancyTitle + " " + timestamp); } From e3e76e563d582a8670c463425cfb9eb3b6245b83 Mon Sep 17 00:00:00 2001 From: iamdez99 Date: Tue, 6 Aug 2024 19:53:36 -0400 Subject: [PATCH 23/23] .. --- .../com/nci/automation/web/CommonUtils.java | 416 +++++++----------- .../CHARMS_Data_File_Path_Constants.java | 2 +- .../RasopathyStudy/RAS Entire Flow.feature | 8 +- .../CHARMS/Pages/MyRASSurveyPage.java | 2 +- .../CHARMS/Resources/RASScenario2.xlsx | Bin 85850 -> 85722 bytes .../CHARMS/Resources/~$RASScenario2.xlsx | Bin 0 -> 165 bytes .../RAS_Screener_Submissions_StepsImpl.java | 37 +- .../RASStudy/RasScenario2StepsImpl.java | 2 +- .../RASStudy/RasScenario4StepsImpl.java | 2 +- .../OWM_Vacancy_Manager_StepsImpl.java | 4 +- 10 files changed, 187 insertions(+), 286 deletions(-) create mode 100644 src/test/java/ServiceNow/CHARMS/Resources/~$RASScenario2.xlsx diff --git a/src/main/java/com/nci/automation/web/CommonUtils.java b/src/main/java/com/nci/automation/web/CommonUtils.java index ecfaa12ca..cfafeb467 100644 --- a/src/main/java/com/nci/automation/web/CommonUtils.java +++ b/src/main/java/com/nci/automation/web/CommonUtils.java @@ -3,7 +3,6 @@ import java.io.File; import java.io.IOException; import java.nio.file.Files; -import java.nio.file.Path; import java.nio.file.Paths; import java.sql.Timestamp; import java.text.SimpleDateFormat; @@ -24,8 +23,8 @@ /** * This is a utility class which contains all common methods that will be used - * through out any application. New methods can be added at any time. Modifying - * the existing methods may result in build failure. - Please + * throughout any application. New methods can be added at any time. Modifying + * the existing methods may result in build failure. - Please notify CBIIT QA Team for modifications * * @author juarezds */ @@ -33,41 +32,37 @@ public class CommonUtils extends WebDriverUtils { /** * Use this String to pass an email concatenated with current date and time into - * an email text box and you can pass same value (email+date+time) in another + * an email text box, and you can pass same value (email+date+time) in another * steps. */ - public static String email = getEmail(); public static String date = getDateAsString(); /** - * Use this method in need of entering keyboard keys into a WebElement by - * selenium WebDriver. + * Sends a keyboard key to the specified web element. * - * @param element Pass the element to which the key needs to be entered. - * @param keyboardKey Pass the desired keyboardKey to be entered to an element. + * @param element the web element to send keys to + * @param keyboardKey the keyboard key to be sent */ public static void sendKeys(WebElement element, Keys keyboardKey) { element.sendKeys(keyboardKey); } /** - * Use this method in need of retrieving the text of an element through selenium - * WebDriver. + * Retrieves the visible text of the given web element. * - * @param element Pass the element from which the text to be retrieved. - * @return This method returns a string object. + * @param element The WebElement to retrieve the text from. + * @return The visible text of the web element. */ public static String getText(WebElement element) { return element.getText(); } /** - * Use this over loaded method in need of selecting an element of dropDown by - * VisbleText. + * Selects a value in a dropdown by its visible text. * - * @param //dropDownElement Pass the WebElement of the desired dropDown. - * @param //ValueOfDropDown Pass the Visible text of DropDown to be selected. + * @param VisibleTextOfDD the visible text of the option to be selected + * @param dropDownWebEl the WebElement representing the dropdown */ public static void selectDropDownValue(String VisibleTextOfDD, WebElement dropDownWebEl) { Select select = new Select(dropDownWebEl); @@ -75,11 +70,10 @@ public static void selectDropDownValue(String VisibleTextOfDD, WebElement dropDo } /** - * Use this over loaded method in need of selecting an element of dropDown by - * Value. + * Selects a value from a dropdown list based on the provided value. * - * @param //dropDownElement Pass the value to be selected. - * @param //ValueOfDropDown Pass the WebElement of the dropDown. + * @param element the {@link WebElement} representing the dropdown list + * @param value the value to be selected from the dropdown list */ public static void selectDropDownValue(WebElement element, String value) { Select select = new Select(element); @@ -87,11 +81,10 @@ public static void selectDropDownValue(WebElement element, String value) { } /** - * Use this over loaded method in need of selecting an element of dropDown by - * index. + * Selects a value from a dropdown list based on the index position. * - * @param dropDownElement WebElement of the dropDown. - * @param //indexOfDropDownValue Pass the index + * @param dropDownElement the dropdown element to select a value from + * @param index the index position of the value to be selected */ public static void selectDropDownValue(WebElement dropDownElement, int index) { Select select = new Select(dropDownElement); @@ -99,13 +92,12 @@ public static void selectDropDownValue(WebElement dropDownElement, int index) { } /** - * this method will accept the alert + * Accepts and closes the alert dialog box if present. + * If there is no alert dialog box, then a message is displayed indicating that no alert is present. * - * @throws //will throw NoAlertExeption if alert is not present. + * @throws NoAlertPresentException if no alert dialog box is present */ - public static void acceptAlert() { - try { Alert alert = webDriver.switchTo().alert(); alert.accept(); @@ -115,13 +107,10 @@ public static void acceptAlert() { } /** - * this method will dismiss the alert - * - * @throws //will throw NoAlertExeption if alert is not present. + * Dismisses the currently displayed alert. + * If there is no alert present, it prints a message. */ - public static void dismissAlert() { - try { Alert alert = webDriver.switchTo().alert(); alert.dismiss(); @@ -131,13 +120,12 @@ public static void dismissAlert() { } /** - * this method will get the alert text + * Retrieves the text content of an alert displayed on the current web page. * - * @throws //will throw NoAlertExeption if alert is not present. + * @return the alert text content as a String, or null if no alert is present. + * @throws NoAlertPresentException if no alert is present on the web page. */ - public static String getAlertText() { - try { Alert alert = webDriver.switchTo().alert(); return alert.getText(); @@ -148,13 +136,11 @@ public static String getAlertText() { } /** - * This method will switch to the frame + * Switches the focus to a frame with the specified name or id. * - * @param nameOrId + * @param nameOrId the name or id of the frame to switch to */ - public static void switchToFrame(String nameOrId) { - try { webDriver.switchTo().frame(nameOrId); } catch (NoSuchFrameException e) { @@ -163,9 +149,9 @@ public static void switchToFrame(String nameOrId) { } /** - * use this method in need of switching to the frame + * Switches the focus to a specified frame. * - * @param element + * @param element the element representing the frame to switch to */ public static void switchToFrame(WebElement element) { try { @@ -176,12 +162,11 @@ public static void switchToFrame(WebElement element) { } /** - * This method will switch to the frame + * Switches the focus to a frame identified by index. * - * @param index + * @param index the index of the frame to switch to */ public static void switchToFrame(int index) { - try { webDriver.switchTo().frame(index); } catch (NoSuchFrameException e) { @@ -190,11 +175,10 @@ public static void switchToFrame(int index) { } /** - * This method will switch to default frame + * Switches the focus of the driver to the default content, i.e., the top-level browsing context. + * If the default content is not found, a message will be printed to the console indicating that the frame is not present. */ - public static void switchToDefaultContent() { - try { webDriver.switchTo().defaultContent(); } catch (NoSuchFrameException e) { @@ -203,10 +187,10 @@ public static void switchToDefaultContent() { } /** - * This method will determine if element is present on ui or not. + * Check if the given WebElement is displayed on the page. * - * @param element - * @return + * @param element the WebElement to be checked for visibility + * @return true if the element is displayed, false if the element is not displayed or an exception occurs */ public static boolean isElementDisplayed(WebElement element) { try { @@ -216,6 +200,12 @@ public static boolean isElementDisplayed(WebElement element) { } } + /** + * Checks if the element identified by the given locator is displayed on the current web page. + * + * @param locator the locator used to identify the element + * @return true if the element is displayed, false otherwise + */ public static boolean isElementDisplayed(By locator) { try { return webDriver.findElement(locator).isDisplayed(); @@ -225,10 +215,10 @@ public static boolean isElementDisplayed(By locator) { } /** - * This method will determine if the element is enabled or disabled. + * Determines whether a given web element is enabled or not. * - * @param element - * @return + * @param element the web element to check + * @return true if the element is enabled, false if not or if an exception occurs during the check */ public static boolean isElementEnabled(WebElement element) { try { @@ -238,26 +228,6 @@ public static boolean isElementEnabled(WebElement element) { } } - /** - * This method will block until the element corresponding to the given - * {@code id} can be clicked in the page or {@code timeOut} whichever is - * earlier. - */ - public static void waitUntilElemtTobeClickableById(Duration timeOut, String id) { - WebDriverWait webDriverWait = new WebDriverWait(webDriver, timeOut); - webDriverWait.until(ExpectedConditions.elementToBeClickable(By.id(id))); - } - - /** - * This method will block until the element corresponding to the given - * {@code id} can be clicked in the page or {@code timeOut} whichever is - * earlier. - */ - public static void waitUntilElemtTobeClickableByXpath(Duration timeOut, String xpathExcpression) { - WebDriverWait webDriverWait = new WebDriverWait(webDriver, timeOut); - webDriverWait.until(ExpectedConditions.elementToBeClickable(By.xpath(xpathExcpression))); - } - /** * Use this method in need of waiting for 30s for an element based on * availability of elementToBeSelected. @@ -271,9 +241,9 @@ public static WebElement waitForThePresenceOfEl(String element, Duration timeOut } /** - * This method will create an Object of WebDriverWait + * Creates and returns a WebDriverWait object with a default timeout of 30 seconds. * - * @return WebDriverWait + * @return the WebDriverWait object. */ public static WebDriverWait getWaitObject() { WebDriverWait wait = new WebDriverWait(webDriver, Duration.ofSeconds(30)); @@ -281,63 +251,25 @@ public static WebDriverWait getWaitObject() { } /** - * This method will wait until element becomes clickable + * Waits until the given web element is clickable. * - * @param element + * @param element The web element to wait for clickability. */ public static void waitForClickability(WebElement element) { getWaitObject().until(ExpectedConditions.elementToBeClickable(element)); } /** - * This method will wait until element becomes visible + * Waits for the visibility of the given web element. * - * @param element + * @param element The web element to wait for visibility. */ public static void waitForVisibility(WebElement element) { getWaitObject().until(ExpectedConditions.visibilityOf(element)); } /** - * This method will wait until element becomes invisible - * - * @param element - */ - public static void waitForInvisibility(WebElement element) { - getWaitObject().until(ExpectedConditions.invisibilityOf(element)); - } - - /** - * This method will select the specified day from the specified calendar table - * - * @param table - * @param day - */ - public static void selectDateFromTable(WebElement table, String day) { - List rows = table.findElements(By.xpath("./tbody/tr")); - List cells = new ArrayList<>(); - boolean daySelected = false; - for (WebElement row : rows) { - if (row.getText().contains(day)) { - cells = row.findElements(By.xpath("./td/a")); - break; - } - } - for (WebElement cell : cells) { - if (cell.getText().equals(day)) { - JavascriptUtils.clickByJS(cell); - daySelected = true; - break; - } - } - if (!daySelected) { - System.out.println("The specified day could not be selected from the calendar."); - } - } - - /** - * This method will read a .json file and return it in a String type written in - * json format - for passing REST payloads + * This variable represents the name or path of a JSON file. */ static String jsonFile; @@ -351,34 +283,12 @@ public static String readJson(String fileName) { } /** - * Use this method in need of removing all characters except Alphabets - * - * @param yourValue - * @return Will return the updated value - */ - public static String getAlphabiticCharactersOnly(String yourValue) { - return yourValue.replaceAll("[^a-zA-Z]", ""); - } - - /** - * Use this method in need of removing all characters except Numbers - * - * @param yourValue - * @return Will return the updated value - */ - public static String getNumChrtr(String yourValue) { - return yourValue.replaceAll("[^0-9]", ""); - } - - /** - * Use this method to select a drop down value from a ServiceNow drop down menu + * Use this method to select a drop-down value from a ServiceNow drop down menu * when Select class will not work NOTE: Before using, first you must click on - * the drop down, then store elements in a list + * the drop-down, then store elements in a list */ public static void selectValueFromBootStrapDropDown(List values, String value) { - for (WebElement dropDownValues : values) { - if (dropDownValues.getText().contentEquals(value)) { dropDownValues.click(); break; @@ -388,10 +298,10 @@ public static void selectValueFromBootStrapDropDown(List values, Str } /** - * Use this method to pass an email concatenated with current date and time into - * an email text box + * Returns a formatted email string based on the current timestamp. + * + * @return the formatted email string */ - public static String getEmail() { Date date = new Date(); Timestamp ts = new Timestamp(date.getTime()); @@ -403,27 +313,27 @@ public static String getEmail() { } /** - * Use this method to pass a random LaastName as a String + * Generates a random last name with 10 characters consisting of lowercase letters. * - * @return + * @return a random last name */ public static String lastNameRandomizer() { int leftLimit = 97; // letter 'a' int rightLimit = 122; // letter 'z' int targetStringLength = 10; Random random = new Random(); - String generatedString = random.ints(leftLimit, rightLimit + 1) .limit(targetStringLength) .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append) .toString(); - String generatedLastName = generatedString.substring(0, 1).toUpperCase() + generatedString.substring(1); - return generatedLastName; + return generatedString.substring(0, 1).toUpperCase() + generatedString.substring(1); } /** - * Use this method to pass date as a string. You can concatinate with any String - * and get unique name + * Returns the current date and time as a formatted string. + * The date and time are formatted according to the pattern "yyyy-MM-dd HH:mm:ss". + * + * @return the formatted date and time as a string. */ public static String getDateAsString() { Date date = new Date(); @@ -435,7 +345,11 @@ public static String getDateAsString() { } /** - * Use this method to select a checkbox value + * Selects the checkbox based on the given attribute and value. + * + * @param checkboxList the list of web elements representing the checkboxes + * @param attribute the attribute to match against + * @param value the value to match */ public static void selectCheckbox(List checkboxList, String attribute, String value) { for (WebElement checkbox : checkboxList) { @@ -451,13 +365,14 @@ public static void selectCheckbox(List checkboxList, String attribut } /** - * Use this method to select a checkbox value & to check that checkbox is - * displayed + * Selects a checkbox from a list of checkboxes based on specified attribute and value. + * + * @param checkboxList the list of checkboxes to select from + * @param attribute the attribute of the checkboxes to compare against + * @param value the value of the attribute to match */ - public static void selectCheckboxDisplayed(List checkboxList, String attribute, String value) { for (WebElement checkbox : checkboxList) { - if (checkbox.isEnabled() && checkbox.isDisplayed()) { String checkboxText = checkbox.getAttribute(attribute); if (checkboxText.equals(value)) { @@ -470,25 +385,16 @@ public static void selectCheckboxDisplayed(List checkboxList, String } /** - * Use this method to open new tab - */ - - public static void openNewTab() { - JavascriptExecutor js = (JavascriptExecutor) WebDriverUtils.webDriver; - js.executeScript("window.open('about:blank','_blank');"); - } - - /** - * @Author @SonikaJain - * Switch to new tab opened by clicking a link + * This method is used to switch to another tab window in the current session. + * It gets the current window handle of the parent window and then iterates + * through all the window handles. If a window handle is not equal to the parent + * window handle, then it switches the driver context to that window handle. + * This is useful when working with multiple tabbed windows within a single browser instance. */ public static void switchToAnotherTabWindow() { String parent = WebDriverUtils.webDriver.getWindowHandle(); Set s = WebDriverUtils.webDriver.getWindowHandles(); - Iterator I1 = s.iterator(); - - while (I1.hasNext()) { - String child_window = I1.next(); + for (String child_window : s) { if (!parent.equals(child_window)) { WebDriverUtils.webDriver.switchTo().window(child_window); } @@ -496,16 +402,10 @@ public static void switchToAnotherTabWindow() { } /** - * @Author @SonikaJain - * Click browser back button - */ - public static void clickBrowserBackButton() { - WebDriverUtils.webDriver.navigate().back(); - } - - /** - * @Author @SonikaJain - * To maximize the window + * Maximizes the current window. + * This method is used to maximize the window of the current WebDriver instance. + * If the window is already maximized, this method has no effect. + * The behavior of this method may vary based on the WebDriver implementation. */ public static void maximizeWindow() { WebDriverUtils.webDriver.manage().window().maximize(); @@ -521,92 +421,79 @@ public static void switchToAnotherWindow() { } } - /* - * Use this method to scroll into an element + /** + * Scrolls the webpage until the specified element is in view. + * + * @param locator the locator to identify the element to scroll into view */ public static void scrollIntoView(By locator) { - try { WebElement element = WebDriverUtils.webDriver.findElement(locator); Actions action = new Actions(WebDriverUtils.webDriver); action.moveToElement(element); action.perform(); - } catch (Exception e) { - throw e; - } } - /* - * Use this method to scroll into an element + /** + * Scrolls the web page to bring the specified web element into view. + * + * @param element the web element to scroll into view */ public static void scrollIntoView(WebElement element) { - try { Actions action = new Actions(WebDriverUtils.webDriver); action.moveToElement(element); action.perform(); - } catch (Exception e) { - throw e; - } } - /* + /** + * Compares the actual and expected strings and throws an AssertionError if they are not equal. * - * Use below method to assert expected String value with an actual String value + * @param actual the actual string value + * @param expected the expected string value + * @throws AssertionError if the actual string is not equal to the expected string */ public static void assertEquals(String actual, String expected) { - try { Assert.assertEquals(actual, expected); } catch (AssertionError e) { - e.printStackTrace(); } } - /* + /** + * Compares the actual and expected strings using the Assert.assertEquals() method from the JUnit framework. + * If the comparison fails, an AssertionError is caught and printed out. * - * Use below method to assert expected String value with an actual String value - * with a message + * @param actual The actual string value to be compared. + * @param expected The expected string value to be compared against. + * @param message An optional message to be printed if the comparison fails. */ public static void assertEqualsWithMessage(String actual, String expected, String message) { - try { Assert.assertEquals(actual, expected, message); } catch (AssertionError e) { - e.printStackTrace(); } } - /* + /** + * This method checks if a given boolean condition is true. If the condition is false, + * it throws an AssertionError, which can be caught and handled using try-catch. * - * Use below method to assert actual String value with an expected String value - * using assertTrue() method + * @param flag the boolean flag to be checked */ public static void assertTrue(boolean flag) { - try { Assert.assertTrue(flag); } catch (AssertionError e) { - e.printStackTrace(); } } - /* - * Use this method to assert a boolean condition using JUnit assertion - */ - public static void assertTrueJUNIT(String message, boolean flag) { - try { - org.junit.Assert.assertTrue(message, flag); - } catch (AssertionError e) { - e.printStackTrace(); - } - - } - - /* - * Use this method to assert a boolean condition using TestNG assertion - * -- INCLUDE A STRING MESSAGE SPECIFYING THE ASSERTION -- + /** + * Asserts that a given boolean flag is true as per TestNG framework. + * + * @param flag the boolean flag to be asserted + * @param message the error message to be displayed if the assertion fails */ public static void assertTrueTestNG(boolean flag, String message) { try { @@ -616,8 +503,12 @@ public static void assertTrueTestNG(boolean flag, String message) { } } - /* - * Use this method to switch to switch to a following window + /** + * Switches the WebDriver to the next window. + * This method retrieves all the window handles and switches the WebDriver to each window one by one. + * This allows the WebDriver to interact with multiple windows. + * + * @throws NoSuchWindowException if the next window handle does not exist */ public static void switchToNextWindow() { Set allWindowHandles1 = WebDriverUtils.webDriver.getWindowHandles(); @@ -627,15 +518,15 @@ public static void switchToNextWindow() { } /** - * USE THIS METHOD TO CLICK ON STALE ELEMENTS + * Clicks on the given web element. * - * @param ele + * @param element the web element to be clicked */ - public static void clickOnElement(WebElement ele) { + public static void clickOnElement(WebElement element) { int count = 0; while (count < 10) { try { - ele.click(); + element.click(); break; } catch (WebDriverException ex) { MiscUtils.sleep(2000); @@ -645,15 +536,16 @@ public static void clickOnElement(WebElement ele) { } /** - * USE THIS METHOD TO SEND KEYS TO STALE ELEMENTS + * Sends the specified text to the given web element. * - * @param ele + * @param element the web element to send keys to + * @param text the text to send */ - public static void sendKeysToElement(WebElement ele, String text) { + public static void sendKeysToElement(WebElement element, String text) { int count = 0; while (count < 5) { try { - ele.sendKeys(text); + element.sendKeys(text); break; } catch (WebDriverException ex) { MiscUtils.sleep(2000); @@ -662,31 +554,21 @@ public static void sendKeysToElement(WebElement ele, String text) { } } - /*** - * USE THIS METHOD TO GET THE ATTRIBUTE VALUE OF THE VALUE ATTRIBUTE + /** + * Retrieves the value of the "value" attribute of a given web element. * - * @param element - * @return + * @param element The web element from which to retrieve the attribute value. + * @return The value of the "value" attribute of the specified web element. */ public static String getAttributeValueOfValueAttribute(WebElement element) { return element.getAttribute("value"); } - public static boolean isFileDownloaded(String fileName) { - boolean temp = false; - Path path = Paths.get(System.getProperty("user.dir") + "/" + fileName + "*" + "xlsx"); - System.out.println("Download Path is" + path); - if (Files.exists(path) == true) { - if (Files.isRegularFile(path)) { - System.out.println("File is found"); - temp = true; - } - } else { - System.out.println("File is not found"); - } - return temp; - } - + /** + * Deletes a file with the given fileName from the current directory. + * + * @param fileName the name of the file to be deleted + */ public static void deleteFile(String fileName) { File file = new File(System.getProperty("user.dir") + "/" + fileName); if (file.delete()) { @@ -694,14 +576,12 @@ public static void deleteFile(String fileName) { } } - /*** - * USE THIS METHOD TO VERIFY IF A VALUE HAS BEEN SELECTED IN A DROP DOWN, IF IT - * IS NOT SELECTED, A NoSuchElementException IS THROWN THAT IS ALSO HANDLED WITH - * THIS METHOD + /** + * Verifies if the specified expected value is selected in the given drop-down element. * - * @param element - * @param expectedValue - * @param message + * @param element The drop-down WebElement that needs to be checked. + * @param expectedValue The expected value that should be selected in the drop-down. + * @param message The failure message to be logged if the assertion fails. */ public static void verifyingDropDownValueIsSelected(WebElement element, String expectedValue, String message) { Select select = new Select(element); @@ -737,16 +617,16 @@ public static void sendKeys(WebElement element, String value) { element.sendKeys(value); } + /** + * Hover over the specified WebElement. + * + * @param e the WebElement to hover over + */ public static void hoverOverElement(WebElement e) { Actions actions = new Actions(WebDriverUtils.webDriver); actions.moveToElement(e).build().perform(); } - public static void hoverAndClickElement(int x, int y) { - Actions actions = new Actions(WebDriverUtils.webDriver); - actions.moveToLocation(x, y).build().perform(); - } - /** * Use this method to format a phone number into example +1 (201) 821 - 2343 * @@ -773,7 +653,7 @@ public static String getTodayDate() { * * @return the date one month from today in the format "dd/MM/yyyy" */ - public static String getOneMonthFromTodayDatein_DD_MM_YYY_format() { + public static String getOneMonthFromTodayDate_In_DD_MM_YYY_format() { LocalDate oneMonthFromToday = LocalDate.now().plusMonths(1); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy"); return oneMonthFromToday.format(formatter); diff --git a/src/test/java/ServiceNow/CHARMS/Constants/CHARMS_Data_File_Path_Constants.java b/src/test/java/ServiceNow/CHARMS/Constants/CHARMS_Data_File_Path_Constants.java index 923e87147..292284ef6 100644 --- a/src/test/java/ServiceNow/CHARMS/Constants/CHARMS_Data_File_Path_Constants.java +++ b/src/test/java/ServiceNow/CHARMS/Constants/CHARMS_Data_File_Path_Constants.java @@ -4,7 +4,7 @@ public class CHARMS_Data_File_Path_Constants { public static final String RAS_SURVEY = System.getProperty("user.dir") + "/src/test/java/ServiceNow/CHARMS/Resources/RasSurveySelfSubmission.xlsx"; public static final String RAS_SURVEY_DATA = System.getProperty("user.dir") + "/src/test/java/ServiceNow/CHARMS/Resources/RasSurveyDataVerificationTableData.xlsx"; public static final String RAS_SCENARIO_ONE_DATA = "src/test/java/ServiceNow/CHARMS/Resources/RASScenario1.xlsx"; - public static final String RAS_SCENARIO_TWO_DATA = "ServiceNow/CHARMS/Resources/RASScenario2.xlsx"; + public static final String RAS_SCENARIO_TWO_DATA = "src/test/java/ServiceNow/CHARMS/Resources/RASScenario2.xlsx"; public static final String RAS_SCENARIO_THREE_DATA = "ServiceNow/CHARMS/Resources/RASScenario3.xlsx"; public static final String RAS_SCENARIO_FOUR_DATA = System.getProperty("user.dir") + "/src/test/java/ServiceNow/CHARMS/Resources/RASScenario4.xlsx"; public static final String RAS_SCENARIO_FIVE_DATA = System.getProperty("user.dir") + "/src/test/java/ServiceNow/CHARMS/GenAIData/Gen_AI_Data_Set_1.xlsx"; diff --git a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature index 2f0d73008..9ac36f9bd 100644 --- a/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature +++ b/src/test/java/ServiceNow/CHARMS/Features/RasopathyStudy/RAS Entire Flow.feature @@ -1,9 +1,9 @@ Feature: RAS Screener Scenarios Description: This feature file contains scenarios which submit myRAS Screeners, Consent Flows, IIQ Forms and the RAS Surveys. No data verification in Native View - @JUAREZDS @RAS_STUDY @2CP2-2332 @Smoke @Regression @selenium + @JUAREZDS @RAS_STUDY @2CP2-2332 @Smoke @Regression @selenium @Progression Scenario Outline: This scenario outline is completing the myRAS Screeners, Consent Flows, IIQ Forms and the RAS Surveys - Given test automation account has been reset +# Given test automation account has been reset Given a participant is on the RASopathies Longitudinal Cohort Study login page "myRASLoginPage" And logs in via Okta with username "" and password "" And clicks on "Eligibility Questionnaire" to begin survey @@ -22,7 +22,7 @@ Feature: RAS Screener Scenarios # When the participant submits a RAS Survey from excel sheet "" Examples: | Email | Password | ScreenerScenario | IIQScenario | SurveyScenario | - | charmsras1@yahoo.com | RASTest2022$$ | screenerScenario1 | IIQScenario1 | RASSurveyScenario1 | -# | charmsras2@yahoo.com | RASTest2023$$ | screenerScenario2 | IIQScenario2 | RASSurveyScenario2 | +# | charmsras1@yahoo.com | RASTest2022$$ | screenerScenario1 | IIQScenario1 | RASSurveyScenario1 | + | charmsras1@yahoo.com | RASTest2022$$ | screenerScenario2 | IIQScenario2 | RASSurveyScenario2 | # | charmsras3@yahoo.com | RASTest2023$$ | screenerScenario3 | IIQScenario3 | RASSurveyScenario3 | # | charmsras5@yahoo.com | RASTest2023$$ | screenerScenario4 | IIQScenario4 | RASSurveyScenario4 | \ No newline at end of file diff --git a/src/test/java/ServiceNow/CHARMS/Pages/MyRASSurveyPage.java b/src/test/java/ServiceNow/CHARMS/Pages/MyRASSurveyPage.java index a48188aaa..172e2a91e 100644 --- a/src/test/java/ServiceNow/CHARMS/Pages/MyRASSurveyPage.java +++ b/src/test/java/ServiceNow/CHARMS/Pages/MyRASSurveyPage.java @@ -214,7 +214,7 @@ public WebElement dynamicPleaseSpecifyTextBox(String otherText) { /* USE THIS METHOD TO DYNAMICALLY ENTER TEXT IN OPTIONS SELECTED */ - public WebElement dynamicOtheriPleaseSpecifyTextBox(String text) { + public WebElement dynamicOtherPleaseSpecifyTextBox(String text) { return WebDriverUtils.webDriver.findElement(By.xpath("//span[contains(text(),'" + text + "')]//parent::label//parent::span//child::input")); } diff --git a/src/test/java/ServiceNow/CHARMS/Resources/RASScenario2.xlsx b/src/test/java/ServiceNow/CHARMS/Resources/RASScenario2.xlsx index a767166b04c6c2207e73448fa34c077c488e2c8d..8933dd2b7150688170557a31e96067e57edd6a7d 100644 GIT binary patch delta 73009 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%0A_oU^1)szfz9c=3!SUKy8}Z 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

fZV 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 literal 0 HcmV?d00001 diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java index 126466661..42db04aae 100644 --- a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RAS_Screener_Submissions_StepsImpl.java @@ -19,6 +19,7 @@ import com.nci.automation.web.WebDriverUtils; import org.openqa.selenium.*; import org.testng.Assert; + import static ServiceNow.CHARMS.Pages.RAS_Screener_Page.dynamicLocator; import static ServiceNow.CHARMS.studyQuestions.RAS_Screener_Questions.*; @@ -55,10 +56,11 @@ public void clickOnSurveyPreviousButton() { public void rasScreenerScenarioSelector(String sheetName) { if (sheetName.contentEquals("screenerScenario1")) { ras_Screener_TestDataManager.dataInitializerRasScreener(sheetName); - rasScreenerSubmissions(); + rasScreenerSubmissions(sheetName); } else if (sheetName.contentEquals("screenerScenario2")) { ras_Screener_TestDataManager.dataInitializerRasScreener(sheetName); - rasScenario2StepsImpl.rasScreenerSubmissionScenario2(); + rasScreenerSubmissions(sheetName); +// rasScenario2StepsImpl.rasScreenerSubmissionScenario2(); } else if (sheetName.contentEquals("screenerScenario3")) { ras_Screener_TestDataManager.dataInitializerRasScreener(sheetName); rasScenario3StepsImpl.rasScreenerSubmissionScenario3(); @@ -71,7 +73,7 @@ public void rasScreenerScenarioSelector(String sheetName) { } } - public static void rasScreenerSubmissions() { + public static void rasScreenerSubmissions(String sheetName) { CommonUtils.switchToNextWindow(); MiscUtils.sleep(2000); CommonUtils.waitForVisibility(myRASSurveyPage.rasSurveyThisCopyText); @@ -220,7 +222,14 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn */ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(WHAT_IS_YOUR_RACE_PLEASE_SELECT_ALL_THAT_APPLY)) { CucumberLogUtils.scenario.log("* * * * * WHAT IS YOUR RACE? PLEASE SELECT ALL THAT APPLY. * * * * *"); - dynamicLocator(ras_Screener_TestDataManager.whatIsYourRace).click(); + + if (sheetName.contentEquals("screenerScenario1")) { + dynamicLocator(ras_Screener_TestDataManager.whatIsYourRace).click(); + } + if (sheetName.contentEquals("screenerScenario2")) { + dynamicLocator(ras_Screener_TestDataManager.whatIsYourRace).click(); + CommonUtils.sendKeysToElement(myRASSurveyPage.dynamicPleaseSpecifyTextBox(ras_Screener_TestDataManager.whatIsYourRace), ras_Screener_TestDataManager.whatIsYourRaceOther); + } CucumberLogUtils.logScreenshot(); ras_screenerSubmissions_stepsImpl.clickOnScreenerNextButton(); } @@ -229,7 +238,19 @@ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionn */ else if (rasopathyQuestionnairePage.question.isDisplayed() && rasopathyQuestionnairePage.question.getText().contentEquals(ARE_YOU_A_PARTICIPANT_IN_ANY_OTHER_RESEARCH_STUDY_OR_REGISTRY_GROUP_PLEASE_SPECIFY)) { CucumberLogUtils.scenario.log("* * * * * ARE YOU A PARTICIPANT IN ANY OTHER RESEARCH STUDY OR REGISTRY GROUP? PLEASE SPECIFY. * * * * *"); - dynamicLocator(ras_Screener_TestDataManager.areYouAParticipantInOtherStudyGroup).click(); + + if(sheetName.contentEquals("screenerScenario1")){ + dynamicLocator(ras_Screener_TestDataManager.areYouAParticipantInOtherStudyGroup).click(); + } + if(sheetName.contentEquals("screenerScenario2")){ + CommonUtils.waitForClickability(dynamicLocator(ras_Screener_TestDataManager.isTheProbandAParticipantInAnyOtherResearchStudyOrRegistryGroupOption1)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Screener_TestDataManager.isTheProbandAParticipantInAnyOtherResearchStudyOrRegistryGroupOption1)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Screener_TestDataManager.isTheProbandAParticipantInAnyOtherResearchStudyOrRegistryGroupOption2)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Screener_TestDataManager.isTheProbandAParticipantInAnyOtherResearchStudyOrRegistryGroupOption3)); + JavascriptUtils.clickByJS(dynamicLocator(ras_Screener_TestDataManager.isTheProbandAParticipantInAnyOtherResearchStudyOrRegistryGroupOption4)); + CommonUtils.sendKeysToElement(myRASSurveyPage.dynamicPleaseSpecifyTextBox(ras_Screener_TestDataManager.isTheProbandAParticipantInAnyOtherResearchStudyOrRegistryGroupOption2), ras_Screener_TestDataManager.isTheProbandAParticipantInAnyOtherResearchStudyOrRegistryGroupOption2Other); + CommonUtils.sendKeysToElement(myRASSurveyPage.dynamicPleaseSpecifyTextBox(ras_Screener_TestDataManager.isTheProbandAParticipantInAnyOtherResearchStudyOrRegistryGroupOption3), ras_Screener_TestDataManager.isTheProbandAParticipantInAnyOtherResearchStudyOrRegistryGroupOption3Other); + } CucumberLogUtils.logScreenshot(); ras_screenerSubmissions_stepsImpl.clickOnScreenerNextButton(); } @@ -1869,7 +1890,7 @@ public void verifying_RAS_Screener_Scenario_1_Data(String sheetName) { CommonUtils.clickOnElement(participantDetailsPage.demographicsTab); Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(participantDetailsPage.biologicalGenderDropDown), ras_Screener_TestDataManager.sexAssignedAtBirthOption, "-- VERIFYING BIOLOGICAL GENDER --"); Hooks.softAssert.assertEquals(participantDetailsPage.participantRacePreferNotToAnswerOption.getText(), ras_Screener_TestDataManager.whatIsYourRace, "-- VERIFYING RACE --"); - Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(participantDetailsPage.ethnicityDropDownOption),ras_Screener_TestDataManager.whatIsYourEthnicity, "-- VERIFYING ETHNICITY --"); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(participantDetailsPage.ethnicityDropDownOption), ras_Screener_TestDataManager.whatIsYourEthnicity, "-- VERIFYING ETHNICITY --"); Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(participantDetailsPage.isParticipantAdoptedDropDown), ras_Screener_TestDataManager.areYouAdoptedOption, "-- VERIFYING IF THE PARTICIPANT IS ADOPTED --"); Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(participantDetailsPage.dateOfBirthTextBox), CommonUtils.convertDate(ras_Screener_TestDataManager.whatIsYourDateOfBirth), "-- VERIFYING DATE OF BIRTH --"); CucumberLogUtils.logScreenshot(); @@ -1916,7 +1937,7 @@ public void verifying_RAS_Screener_Scenario_1_Data(String sheetName) { CucumberLogUtils.logScreenshot(); CucumberLogUtils.scenario.log("---- VERIFYING SCREENER RECORD NAME AND CONTACT INFORMATION DATA ----"); - Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(participantDetailsPage.vitalStatusYesDropDownOption), "Alive","-- VERIFYING VITAL STATUS --" ); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(participantDetailsPage.vitalStatusYesDropDownOption), "Alive", "-- VERIFYING VITAL STATUS --"); CommonUtils.clickOnElement(ScreenerRecordTablePage.dynamicTabLocatorUsingExactText("Contact Information")); Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(screenerRecordTablePage.screenerStudyField), ras_Screener_Constants.RAS_STUDY, "-- VERIFYING STUDY FIELD --"); Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(screenerRecordTablePage.familyMemberRecordField), ras_Screener_TestDataManager.firstName + ras_Screener_Constants.SPACE + ras_Screener_TestDataManager.lastName, "-- VERIFYING FAMILY MEMBER RECORD FIELD --"); @@ -1958,7 +1979,7 @@ public void verifying_RAS_Screener_Scenario_1_Data(String sheetName) { CucumberLogUtils.scenario.log("---- VERIFYING RAS SCREENER TABLE FINAL INFORMATION ----"); CommonUtils.clickOnElement(screenerRecordTablePage.dynamicLocatorForTabs("Final Information")); - Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.finalInformationHowDidYouHearAboutThisStudyDropDown), ras_Screener_TestDataManager.howDidYouHearAboutThisStudy, "-- VERIFYING HOW DID PARTICIPANT HEAR ABOUT THE STUDY --"); + Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.finalInformationHowDidYouHearAboutThisStudyDropDown), ras_Screener_TestDataManager.howDidYouHearAboutThisStudy, "-- VERIFYING HOW DID PARTICIPANT HEAR ABOUT THE STUDY --"); Hooks.softAssert.assertEquals(CommonUtils.getAttributeValueOfValueAttribute(screenerRecordTablePage.finalInformationHowDidYouHearAboutThisStudyPleaseSpecifyTextBox), ras_Screener_TestDataManager.howDidYouHearAboutThisStudyOtherReason, "-- VERIFYING HOW DID YOU PARTICIPANT HEAR ABOUT THE STUDY OTHER REASONS --"); Hooks.softAssert.assertEquals(CommonUtils.getTextOfSelectedDropDownOption(screenerRecordTablePage.finalInformationHasParticipantOrAnyFamilyMemberParticipatedInAnyCancerStudyDropDown), ras_Screener_TestDataManager.haveYouOrOtherFamilyMembersParticipatedInOtherStudy, "-- VERIFYING IF PARTICIPANT OR FAMILY MEMBER HAVE PARTICIPATED IN CANCER STUDY --"); Hooks.softAssert.assertEquals(screenerRecordTablePage.finalInformationMainReasonsForParticipatingInThisStudyOtherOption.getText(), ras_Screener_TestDataManager.whatAreMainReasonsForParticipatingInStudy, "-- VERIFYING MAIN REASONS FOR PARTICIPATING IN STUDY --"); diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RasScenario2StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RasScenario2StepsImpl.java index a8e08a430..d5b22f652 100644 --- a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RasScenario2StepsImpl.java +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RasScenario2StepsImpl.java @@ -2217,7 +2217,7 @@ public void rasScreenerSurveyScenario2PartFive() { JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption7)); JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption8)); JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption9)); - CommonUtils.sendKeysToElement(myRASSurveyPage.dynamicOtheriPleaseSpecifyTextBox(ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption9), ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption90ther); + CommonUtils.sendKeysToElement(myRASSurveyPage.dynamicOtherPleaseSpecifyTextBox(ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption9), ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption90ther); CucumberLogUtils.logScreenshot(); ras_screenerSubmissions_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForClickability(myRASSurveyPage.enterTextInPleaseProvideDetailsOnTheNameOfTheMedicationTakenTextBox(1, 3)); diff --git a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RasScenario4StepsImpl.java b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RasScenario4StepsImpl.java index e88d728b4..5173c1d57 100644 --- a/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RasScenario4StepsImpl.java +++ b/src/test/java/ServiceNow/CHARMS/StepsImplementation/RASStudy/RasScenario4StepsImpl.java @@ -2271,7 +2271,7 @@ public void rasScreenerSurveyScenario4PartFive() { JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption7)); JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption8)); JavascriptUtils.clickByJS(rasopathyQuestionnairePage.dynamicLocator(ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption9)); - CommonUtils.sendKeysToElement(myRASSurveyPage.dynamicOtheriPleaseSpecifyTextBox(ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption9), ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption90ther); + CommonUtils.sendKeysToElement(myRASSurveyPage.dynamicOtherPleaseSpecifyTextBox(ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption9), ras_Survey_TestDataManager.pleaseIndicateWhichOfTheFollowingProceduresOption90ther); CucumberLogUtils.logScreenshot(); ras_screenerSubmissions_stepsImpl.clickOnSurveySavAndNextButton(); CommonUtils.waitForClickability(myRASSurveyPage.enterTextInPleaseProvideDetailsOnTheNameOfTheMedicationTakenTextBox(1, 3)); diff --git a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/OWM_Vacancy_Manager_StepsImpl.java b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/OWM_Vacancy_Manager_StepsImpl.java index d1e88a6ea..8cf849ea1 100644 --- a/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/OWM_Vacancy_Manager_StepsImpl.java +++ b/src/test/java/ServiceNow/PlatformBusinessApps/SSJ/playwright/StepsImplementation/OWM_Vacancy_Manager_StepsImpl.java @@ -150,7 +150,7 @@ public static void user_sets_an_entry_as_today_s_date(String text) { public static void user_sets_a_entry_a_month_from_the_open_date(String text) { Playwright_Common_Utils.scrollIntoView(Playwright_Common_Locators.dynamicTextLocator(text)); page.locator(Vacancy_Dashboard_Page.closeDateCalendar).click(); - page.locator(Vacancy_Dashboard_Page.closeDateCalendar).fill(CommonUtils.getOneMonthFromTodayDatein_DD_MM_YYY_format()); + page.locator(Vacancy_Dashboard_Page.closeDateCalendar).fill(CommonUtils.getOneMonthFromTodayDate_In_DD_MM_YYY_format()); List list = page.querySelectorAll(Vacancy_Dashboard_Page.closeDateCalendarOptions); for (ElementHandle day : list) { if (day.getAttribute("title").trim().equals(CommonUtils.getDateOneMonthFromNowIn_YYYY_MM_DD_format().trim())) { @@ -168,7 +168,7 @@ public static void user_sets_a_entry_a_month_from_the_open_date(String text) { */ public static void user_sets_entry(String text) { page.getByLabel(text).click(); - page.locator(Vacancy_Dashboard_Page.scoringDueByDateCalendar).fill(CommonUtils.getOneMonthFromTodayDatein_DD_MM_YYY_format()); + page.locator(Vacancy_Dashboard_Page.scoringDueByDateCalendar).fill(CommonUtils.getOneMonthFromTodayDate_In_DD_MM_YYY_format()); List list = page.querySelectorAll(Vacancy_Dashboard_Page.calendarOptions); for (ElementHandle day : list) { if (day.getAttribute("title").trim().equals(CommonUtils.getDateOneMonthFromNowIn_YYYY_MM_DD_format().trim())) {