Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…or android and ios (#1145)

* MOSIP-31009,INJI-660

Signed-off-by: Anup Nehe <anup.nehe@technoforte.co.in>

* resolve conflicts

Signed-off-by: Anup Nehe <anup.nehe@technoforte.co.in>

* resolve conflicts

Signed-off-by: Anup Nehe <anup.nehe@technoforte.co.in>

* incorporated changes

Signed-off-by: Anup Nehe <anup.nehe@technoforte.co.in>

* resolve conflicts

Signed-off-by: Anup Nehe <anup.nehe@technoforte.co.in>

* formating code

Signed-off-by: Anup Nehe <anup.nehe@technoforte.co.in>

---------

Signed-off-by: Anup Nehe <anup.nehe@technoforte.co.in>
  • Loading branch information
anup-nehe authored Jan 9, 2024
1 parent 1415375 commit 176cab2
Show file tree
Hide file tree
Showing 42 changed files with 1,611 additions and 406 deletions.
2 changes: 1 addition & 1 deletion injitest/src/main/java/inji/driver/DriverManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public static AppiumDriver getDriver(Target target, Boolean isDeviceFarmRun) thr
public static void startAppiumServer() {
PropertiesReader propertiesReader = new PropertiesReader();
String ipAddress = System.getProperty("ipAddress") != null ? System.getProperty("ipAddress") : propertiesReader.getIpAddress();
AppiumServiceBuilder builder = new AppiumServiceBuilder().withAppiumJS(new File(propertiesReader.getAppiumServerExecutable())).usingDriverExecutable(new File(propertiesReader.getNodePath())).withIPAddress(ipAddress).usingAnyFreePort().withArgument(GeneralServerFlag.LOCAL_TIMEZONE).withLogFile(new File(propertiesReader.getAppiumLogFilePath()));
AppiumServiceBuilder builder = new AppiumServiceBuilder().withAppiumJS(new File(propertiesReader.getAppiumServerExecutable())).usingDriverExecutable(new File(propertiesReader.getNodePath())).withIPAddress(ipAddress).usingAnyFreePort().withArgument(GeneralServerFlag.LOCAL_TIMEZONE).withArgument(() -> "--allow-insecure","chromedriver_autodownload").withLogFile(new File(propertiesReader.getAppiumLogFilePath()));
service = AppiumDriverLocalService.buildService(builder);
service.start();
}
Expand Down
28 changes: 27 additions & 1 deletion injitest/src/main/java/inji/pages/AboutInjiPage.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package inji.pages;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.pagefactory.AndroidFindBy;
import io.appium.java_client.pagefactory.iOSXCUITFindBy;

import java.util.Set;

import org.openqa.selenium.WebElement;

public class AboutInjiPage extends BasePage {
Expand All @@ -22,7 +25,11 @@ public class AboutInjiPage extends BasePage {
@AndroidFindBy(accessibility = "arrowLeft")
@iOSXCUITFindBy(accessibility = "arrowLeft")
private WebElement backButton;


@AndroidFindBy(uiAutomator = "new UiSelector().textContains(\"Click here\")")
@iOSXCUITFindBy(accessibility = "Click here")
public WebElement clickHereButton;

public AboutInjiPage(AppiumDriver driver) {
super(driver);
}
Expand All @@ -38,6 +45,21 @@ public boolean isAppIdCopiedTextDisplayed() {
public boolean isCopyTextDisplayed() {
return this.isElementDisplayed(copy);
}

public boolean isMosipUrlIsDisplayedInChrome() throws InterruptedException {
Thread.sleep(5000);
Set<String> contexts = ((AndroidDriver) driver).getContextHandles();
String actualUrl=null;
for (String context : contexts) {
if (context.contains("WEBVIEW"))
{
((AndroidDriver) driver).context(context);
actualUrl= driver.getCurrentUrl();
}
}
boolean result = (actualUrl.equalsIgnoreCase("https://docs.mosip.io/inji") == true) ? true : false;
return result;
}

public void clickOnCopyText() {
clickOnElement(copy);
Expand All @@ -46,4 +68,8 @@ public void clickOnCopyText() {
public void clickOnBackButton() {
clickOnElement(copy);
}

public void clickOnClickHereButton() {
clickOnElement(clickHereButton);
}
}
46 changes: 41 additions & 5 deletions injitest/src/main/java/inji/pages/AddNewCardPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
import io.appium.java_client.pagefactory.AndroidFindBy;
import io.appium.java_client.pagefactory.iOSXCUITFindBy;
import org.openqa.selenium.WebElement;
import org.testng.Assert;

public class AddNewCardPage extends BasePage{

@AndroidFindBy(accessibility = "issuersScreenHeader")
@AndroidFindBy(accessibility = "title")
@iOSXCUITFindBy(accessibility = "title")
private WebElement addNewCardHeader;

Expand All @@ -23,12 +24,15 @@ public class AddNewCardPage extends BasePage{
@iOSXCUITFindBy(accessibility = "issuerHeading-ESignet")
private WebElement downloadViaEsignet;

@AndroidFindBy(uiAutomator = "new UiSelector().textContains(\"Please choose your preferred issuer from the options below to add a new card.\")")
@AndroidFindBy(xpath = "(//android.widget.TextView)[4]")
private WebElement addNewCardGuideMessage;

@AndroidFindBy(uiAutomator = "new UiSelector().textContains(\"Mangyaring piliin ang iyong gustong tagabigay mula sa mga opsyon sa ibaba upang magdagdag ng bagong card.\")")
private WebElement addNewCardGuideMessageInFillpino;

@AndroidFindBy(uiAutomator = "new UiSelector().textContains(\"नया कार्ड जोड़ने के लिए कृपया नीचे दिए गए विकल्पों में से अपना पसंदीदा जारीकर्ता चुनें।\")")
private WebElement addNewCardGuideMessageInHindi;

@AndroidFindBy(accessibility = "issuerDescription-Mosip")
@iOSXCUITFindBy(accessibility = "issuerDescription-Mosip")
private WebElement issuerDescriptionMosip;
Expand All @@ -44,7 +48,24 @@ public class AddNewCardPage extends BasePage{
public AddNewCardPage(AppiumDriver driver) {
super(driver);
}

public boolean verifyLanguageForAddNewCardGuideMessage(String language){
String actualText = addNewCardGuideMessage.getText();

switch (language) {
case "Hindi":
boolean isMessagePresentInHindi = (actualText.equals("नया कार्ड जोड़ने के लिए कृपया नीचे दिए गए विकल्पों में से अपना पसंदीदा जारीकर्ता चुनें।")==true) ? true : false;
return isMessagePresentInHindi ;
case "English":
boolean isMessagePresentInEnglish = (actualText.equals("Please choose your preferred issuer from the options below to add a new card.")==true) ? true : false;
return isMessagePresentInEnglish ;
case "Filipino":
boolean isMessagePresentInFilipino = (actualText.equals("Mangyaring piliin ang iyong gustong tagabigay mula sa mga opsyon sa ibaba upang magdagdag ng bagong card.")==true) ? true : false;
return isMessagePresentInFilipino ;
}
return false;
}

public boolean isAddNewCardPageLoaded() {
return this.isElementDisplayed(addNewCardHeader);
}
Expand All @@ -66,10 +87,18 @@ public boolean isDownloadViaUinDisplayed() {
return this.isElementDisplayed(downloadViaUin);
}

public boolean isDownloadViaUinDisplayedInHindi() {
return this.isElementDisplayed(downloadViaUin);
}

public boolean isDownloadViaEsignetDisplayed() {
return this.isElementDisplayed(downloadViaEsignet);
}

public boolean isDownloadViaEsignetDisplayedInHindi() {
return this.isElementDisplayed(downloadViaEsignet);
}

public boolean isDownloadViaEsignetDisplayedinFillpino() {
return this.isElementDisplayed(downloadViaEsignet);
}
Expand All @@ -87,6 +116,9 @@ public boolean isAddNewCardGuideMessageDisplayedInFillopin() {
return this.isElementDisplayed(addNewCardGuideMessageInFillpino);
}

public boolean isAddNewCardGuideMessageDisplayedInHindi() {
return this.isElementDisplayed(addNewCardGuideMessageInHindi);
}
public boolean isIssuerDescriptionMosipDisplayed() {
return this.isElementDisplayed(issuerDescriptionMosip);
}
Expand All @@ -103,9 +135,13 @@ public boolean isIssuerSearchBarDisplayedInFilipino() {
return this.isElementDisplayed(issuerSearchBar);
}

public void sendTextInIssuerSearchBar(String text) {
clearTextBoxAndSendKeys(issuerSearchBar,text);
public boolean isIssuerSearchBarDisplayedInHindi() {
return this.isElementDisplayed(issuerSearchBar);
}

public AddNewCardPage sendTextInIssuerSearchBar(String text) {
clearTextBoxAndSendKeys(issuerSearchBar, text);
return this;
}


}
18 changes: 14 additions & 4 deletions injitest/src/main/java/inji/pages/DetailedVcViewPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.pagefactory.AndroidFindBy;
import io.appium.java_client.pagefactory.iOSXCUITFindBy;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;

public class DetailedVcViewPage extends BasePage {
public class DetailedVcViewPage extends BasePage{
@AndroidFindBy(accessibility = "idDetailsHeader")
@iOSXCUITFindBy(accessibility = "idDetailsHeader")
private WebElement detailedVcViewPageTitle;
Expand Down Expand Up @@ -46,10 +47,13 @@ public class DetailedVcViewPage extends BasePage {
@iOSXCUITFindBy(accessibility = "emailIdValue")
private WebElement emailIdValue;

@AndroidFindBy(accessibility = "enableVerification")
@AndroidFindBy(uiAutomator = "new UiScrollable(new UiSelector()).scrollIntoView(new UiSelector().description(\"enableVerification\"));")
@iOSXCUITFindBy(accessibility = "enableVerification")
private WebElement activateButton;


@iOSXCUITFindBy(accessibility = "enableVerification")
private WebElement activeButtonIos;

@AndroidFindBy(accessibility = "profileAuthenticated")
@iOSXCUITFindBy(accessibility = "profileAuthenticated")
private WebElement profileAuthenticated;
Expand Down Expand Up @@ -130,10 +134,16 @@ public boolean isActivateButtonDisplayed() {
return this.isElementDisplayed(activateButton);
}

public PleaseConfirmPopupPage clickOnActivateButton() {
public PleaseConfirmPopupPage clickOnActivateButtonAndroid(){
clickOnElement(activateButton);
return new PleaseConfirmPopupPage(driver);
}

public PleaseConfirmPopupPage clickOnActivateButtonIos(){ //Scroll for ios need to be done
clickOnElement(activeButtonIos);
return new PleaseConfirmPopupPage(driver);

}

public boolean isProfileAuthenticatedDisplayed() {
return this.isElementDisplayed(profileAuthenticated);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,36 @@ public class HassleFreeAuthenticationPage extends BasePage {
public HassleFreeAuthenticationPage(AppiumDriver driver) {
super(driver);
}

public boolean isHassleFreeAuthenticationPageLoaded() {
return this.isElementDisplayed(hassleFreeAuthenticationText);

public boolean verifyLanguageforHassleFreeAuthenticationPageLoaded(String language){
String actualText = hassleFreeAuthenticationText.getText();

switch (language) {
case "English":
boolean isHederLoadedInEnglish = (actualText.equals("Hassle free authentication")==true) ? true : false;
return isHederLoadedInEnglish ;
case "Hindi":
boolean isHederLoadedInHindi = (actualText.equals("परेशानी मुक्त प्रमाणीकरण")==true) ? true : false;
return isHederLoadedInHindi ;
case "Filipino":
boolean isHederLoadedInFilipino = (actualText.equals("Walang problema sa pagpapatotoo")==true) ? true : false;
return isHederLoadedInFilipino ;
case "Tamil":
boolean isHederLoadedInTamil = (actualText.equals("தொந்தரவு இல்லாத அங்கீகாரம்")==true) ? true : false;
return isHederLoadedInTamil ;
case "Kannada":
boolean isHederLoadedInKannada = (actualText.equals("ಜಗಳ ಮುಕ್ತ ದೃಢೀಕರಣ")==true) ? true : false;
return isHederLoadedInKannada ;
}
return false;
}

public String getHassleFreeAuthenticationDescription() {
return this.getTextFromLocator(hassleFreeAuthenticationDescription);
}

public void clickOnGoBack() {
public HassleFreeAuthenticationPage clickOnGoBack() {
clickOnElement(goBackButton);
return this;
}
}
78 changes: 52 additions & 26 deletions injitest/src/main/java/inji/pages/HomePage.java
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,17 @@ public class HomePage extends BasePage {
@AndroidFindBy(accessibility = "nationalCard")
@iOSXCUITFindBy(accessibility = "nationalCard")
private WebElement idTypeValue;

@AndroidFindBy(accessibility = "tryAgain")
@iOSXCUITFindBy(accessibility = "errorTitle")
private WebElement tryAgainButton;

@AndroidFindBy(uiAutomator = "new UiSelector().textContains(\"Subukan muli\")")
private WebElement tryAgainButtonInFillpino;

@AndroidFindBy(accessibility = "downloadingVcPopup")
@iOSXCUITFindBy(accessibility = "Downloading your card, this can take upto 5 minutes")
private WebElement downloadingVcPopup;

public HomePage(AppiumDriver driver) {
super(driver);
Expand Down Expand Up @@ -130,25 +134,41 @@ public MoreOptionsPage clickOnMoreOptionsButton() throws InterruptedException {
public boolean isPinIconDisplayed() {
return this.isElementDisplayed(pinIcon);
}

public boolean verifyLanguageForNoVCDownloadedPageLoaded(String language){
String actualText = bringYourDigitalIdentity.getText();

public boolean isNoVCDownloaded() {
return this.isElementDisplayed(bringYourDigitalIdentity);
}
switch (language) {
case "English":
boolean isEnglishMatch = (actualText.equals("Bring your digital identity")==true) ? true : false;
return isEnglishMatch ;
case "Hindi":
boolean isHindiMatch = (actualText.equals("अपनी डिजिटल आईडी लाओ")==true) ? true : false;
return isHindiMatch ;
case "Filipino":
boolean isFilipinoMatch = (actualText.equals("Dalhin ang Iyong Digital ID")==true) ? true : false;
return isFilipinoMatch ;

public boolean isNoVCDownloadedInFilipino() {
return this.isElementDisplayed(bringYourDigitalIdentity);
}
return false;
}

public boolean isNoInternetConnectionDisplayed() {
return this.isElementDisplayed(noInternetConnection);
}
public boolean verifyLanguageForNoInternetConnectionDisplayed(String language){
String actualText = noInternetConnection.getText();

public boolean isNoInternetConnectionDisplayedInTamil() {
return this.isElementDisplayed(noInternetConnection);
}
switch (language) {
case "English":
boolean isEnglishMatch = (actualText.equals("No internet connection")==true) ? true : false;
return isEnglishMatch ;
case "Tamil":
boolean isTamilMatch = (actualText.equals("இணைய இணைப்பு இல்லை")==true) ? true : false;
return isTamilMatch ;
case "Filipino":
boolean isFilipinoMatch = (actualText.equals("Pakisuri ang iyong koneksyon at subukang muli")==true) ? true : false;
return isFilipinoMatch ;

public boolean isNoInternetConnectionDisplayedFlillpino() {
return this.isElementDisplayed(noInternetConnection);
}
return false;
}

public ScanPage clickOnScanButton() {
Expand All @@ -159,33 +179,39 @@ public ScanPage clickOnScanButton() {
public boolean isIdTypeDisplayed() {
return this.isElementDisplayed(idTypeValue);
}

public boolean verifyLanguageForTryAgainButtonDisplayed(String language){
String actualText = tryAgainButton.getText();

public boolean isTryAgainButtonDisplayedInFlillpino() {
return this.isElementDisplayed(tryAgainButtonInFillpino);
}
switch (language) {
case "English":
boolean isEnglishMatch = (actualText.equals("Try again")==true) ? true : false;
return isEnglishMatch ;
case "Tamil":
boolean isTamilMatch = (actualText.equals("மீண்டும் முயற்சி செய்")==true) ? true : false;
return isTamilMatch ;
case "Filipino":
boolean isFilipinoMatch = (actualText.equals("Subukan muli")==true) ? true : false;
return isFilipinoMatch ;

public boolean isTryAgainButtonDisplayedInTamil() {
return this.isElementDisplayed(tryAgainButton);
}
return false;
}

public boolean isTryAgainButtonNotDisplayedInFlillpino() {
return this.isElementInvisibleYet(tryAgainButtonInFillpino);
}

public boolean isTryAgainButtonDisplayed() {
return this.isElementDisplayed(tryAgainButton);
}

public boolean isTryAgainButtonNotDisplayed() {
return this.isElementInvisibleYet(tryAgainButton);
}

public void clickOnTryAgainButton() {
clickOnElement(tryAgainButton);
}

public void clickOnTryAgainButtonInFlillpino() {
clickOnElement(tryAgainButtonInFillpino);
public boolean isDownloadingVcPopupDisplayed() {
return this.isElementDisplayed(downloadingVcPopup);
}

}
Loading

0 comments on commit 176cab2

Please sign in to comment.