mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-07 20:53:54 -05:00
MOSIP-43088 - Dockerised the inji mobile ui automation and updated automation to support esignet 1.6.2 (#2096)
Signed-off-by: Mohanachandran S <mohanachandran.s@technoforte.co.in>
This commit is contained in:
BIN
.github/keys/mosipgpgkey_pub.gpg
vendored
Normal file
BIN
.github/keys/mosipgpgkey_pub.gpg
vendored
Normal file
Binary file not shown.
BIN
.github/keys/mosipgpgkey_sec.gpg
vendored
Normal file
BIN
.github/keys/mosipgpgkey_sec.gpg
vendored
Normal file
Binary file not shown.
90
.github/workflows/push-triggers.yml
vendored
90
.github/workflows/push-triggers.yml
vendored
@@ -56,3 +56,93 @@ jobs:
|
||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||
ORG_KEY: ${{ secrets.ORG_KEY }}
|
||||
SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}'
|
||||
|
||||
build-maven-uitest-inji-wallet:
|
||||
uses: mosip/kattu/.github/workflows/maven-build.yml@master-java21
|
||||
with:
|
||||
SERVICE_LOCATION: ./injitest
|
||||
BUILD_ARTIFACT: uitest-inji-wallet
|
||||
secrets:
|
||||
OSSRH_USER: ${{ secrets.OSSRH_USER }}
|
||||
OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }}
|
||||
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
|
||||
GPG_SECRET: ${{ secrets.GPG_SECRET }}
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}
|
||||
|
||||
build-uitest-inji-wallet-local:
|
||||
needs: build-maven-uitest-inji-wallet
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
NAMESPACE: ${{ secrets.dev_namespace_docker_hub }}
|
||||
SERVICE_NAME: uitest-inji-wallet
|
||||
SERVICE_LOCATION: injitest
|
||||
BUILD_ARTIFACT: uitest-inji-wallet-local
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up JDK 21
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: '21'
|
||||
server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
|
||||
settings-path: ${{ github.workspace }} # location for the settings.xml file
|
||||
|
||||
- name: Cache local Maven repository
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.m2/repository
|
||||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-maven-
|
||||
|
||||
- name: Setup the settings file for ossrh server
|
||||
run: echo "<settings> <servers> <server> <id>ossrh</id> <username>${{secrets.ossrh_user}}</username> <password>${{secrets.ossrh_secret}}</password> </server> </servers> <profiles> <profile> <id>ossrh</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <gpg.executable>gpg2</gpg.executable> <gpg.passphrase>${{secrets.gpg_secret}}</gpg.passphrase> </properties> </profile> <profile> <id>allow-snapshots</id> <activation><activeByDefault>true</activeByDefault></activation> <repositories> <repository> <id>snapshots-repo</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> <releases><enabled>false</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> <repository> <id>releases-repo</id> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>false</enabled></snapshots> </repository> </repositories> </profile> <profile> <id>sonar</id> <properties> <sonar.sources>.</sonar.sources> <sonar.host.url>https://sonarcloud.io</sonar.host.url> </properties> <activation> <activeByDefault>false</activeByDefault> </activation> </profile> </profiles> </settings>" > $GITHUB_WORKSPACE/settings.xml
|
||||
|
||||
- name: Build uitest-inji-wallet with Maven
|
||||
run: |
|
||||
cd ${{ env.SERVICE_LOCATION}}
|
||||
mvn -U -B package -DskipTests -Dmaven.wagon.http.retryHandler.count=2 --file pom.xml -s $GITHUB_WORKSPACE/settings.xml
|
||||
|
||||
- name: Ready the springboot artifacts
|
||||
if: ${{ !contains(github.ref, 'master') || !contains(github.ref, 'main') }}
|
||||
run: |
|
||||
## FIND JARS & COPY ONLY EXECUTABLE JARs STORED UNDER TARGET DIRECTORY
|
||||
find ${{ env.SERVICE_LOCATION }} -path '*/target/*' -name '*.jar' -type f -exec zip ${{ env.BUILD_ARTIFACT }}.zip {} +
|
||||
|
||||
- name: Upload the springboot jars
|
||||
if: ${{ !contains(github.ref, 'master') || !contains(github.ref, 'main') }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ env.BUILD_ARTIFACT }}
|
||||
path: ${{ env.BUILD_ARTIFACT }}.zip
|
||||
|
||||
- uses: 8398a7/action-slack@v3
|
||||
with:
|
||||
status: ${{ job.status }}
|
||||
fields: repo,message,author,commit,workflow,job # selectable (default: repo,message)
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required
|
||||
if: failure() # Pick up events even if the job fails or is canceled.
|
||||
|
||||
build-docker-uitest-inji-wallet:
|
||||
needs: build-uitest-inji-wallet-local
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- SERVICE_LOCATION: 'injitest'
|
||||
SERVICE_NAME: 'uitest-inji-wallet'
|
||||
BUILD_ARTIFACT: 'uitest-inji-wallet-local'
|
||||
ONLY_DOCKER: true
|
||||
fail-fast: false
|
||||
name: ${{ matrix.SERVICE_NAME }}
|
||||
uses: mosip/kattu/.github/workflows/docker-build.yml@master-java21
|
||||
with:
|
||||
SERVICE_LOCATION: ${{ matrix.SERVICE_LOCATION }}
|
||||
SERVICE_NAME: ${{ matrix.SERVICE_NAME }}
|
||||
BUILD_ARTIFACT: ${{ matrix.BUILD_ARTIFACT }}
|
||||
ONLY_DOCKER: ${{ matrix.ONLY_DOCKER }}
|
||||
secrets:
|
||||
DEV_NAMESPACE_DOCKER_HUB: ${{ secrets.DEV_NAMESPACE_DOCKER_HUB }}
|
||||
ACTOR_DOCKER_HUB: ${{ secrets.ACTOR_DOCKER_HUB }}
|
||||
RELEASE_DOCKER_HUB: ${{ secrets.RELEASE_DOCKER_HUB }}
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}
|
||||
66
injitest/Dockerfile
Normal file
66
injitest/Dockerfile
Normal file
@@ -0,0 +1,66 @@
|
||||
FROM mosipid/openjdk-21-jre:21.0.4
|
||||
|
||||
# Define build-time arguments
|
||||
ARG SOURCE
|
||||
ARG COMMIT_HASH
|
||||
ARG COMMIT_ID
|
||||
ARG BUILD_TIME
|
||||
|
||||
# Set labels for metadata
|
||||
LABEL source=${SOURCE}
|
||||
LABEL commit_hash=${COMMIT_HASH}
|
||||
LABEL commit_id=${COMMIT_ID}
|
||||
LABEL build_time=${BUILD_TIME}
|
||||
|
||||
# Define build-time arguments for user and group
|
||||
ARG container_user=mosip
|
||||
ARG container_user_group=mosip
|
||||
ARG container_user_uid=1001
|
||||
ARG container_user_gid=1001
|
||||
ARG KUBECTL_VERSION=1.22.9
|
||||
|
||||
# Set working directory for the user
|
||||
WORKDIR /home/${container_user}/
|
||||
ENV work_dir=/home/${container_user}/
|
||||
|
||||
# Copy files
|
||||
COPY ./injitest/target $work_dir/
|
||||
COPY application.properties $work_dir/
|
||||
COPY ["Biometric Devices", "$work_dir/Biometric Devices"]
|
||||
COPY ["resource", "$work_dir/resource"]
|
||||
COPY testNgXmlFiles $work_dir/testNgXmlFiles
|
||||
COPY androidConfig.yml $work_dir/
|
||||
COPY iosConfig.yml $work_dir/
|
||||
COPY entrypoint.sh $work_dir
|
||||
|
||||
# install packages and create user
|
||||
RUN apt-get -y update \
|
||||
&& apt-get install -y unzip jq curl \
|
||||
&& groupadd -g ${container_user_gid} ${container_user_group} \
|
||||
&& useradd -u ${container_user_uid} -g ${container_user_group} -s /bin/bash -m ${container_user} \
|
||||
&& curl -LO "https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl" \
|
||||
&& mkdir -p /home/${container_user} \
|
||||
&& chmod +x kubectl $work_dir/entrypoint.sh \
|
||||
&& mv kubectl /usr/local/bin/ \
|
||||
&& chown -R ${container_user}:${container_user} /home/${container_user} /etc/ssl/certs/java/cacerts \
|
||||
&& chmod 644 /etc/ssl/certs/java/cacerts
|
||||
|
||||
# Switch to the specified user for the subsequent commands
|
||||
USER ${container_user_uid}:${container_user_gid}
|
||||
|
||||
# Create necessary directories
|
||||
RUN mkdir -p /home/mosip/test-output && chmod -R 777 /home/mosip/test-output
|
||||
RUN mkdir -p /home/mosip/screenshots && chmod -R 777 /home/mosip/screenshots
|
||||
|
||||
# Expose port if needed
|
||||
EXPOSE 8083
|
||||
|
||||
# Environment variables
|
||||
ENV MODULES=
|
||||
ENV ENV_USER=
|
||||
ENV ENV_ENDPOINT=
|
||||
ENV ENV_TESTLEVEL=smokeAndRegression
|
||||
ENV ENV_TESTNG_XML_FILE=
|
||||
ENV ENV_BROWSERSTACK_CONFIG=
|
||||
|
||||
ENTRYPOINT ["./entrypoint.sh"]
|
||||
@@ -18,3 +18,7 @@
|
||||
[Thu, 14 Aug 2025 05:38:21 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
|
||||
[Thu, 14 Aug 2025 06:21:13 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
|
||||
[Thu, 14 Aug 2025 07:12:11 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
|
||||
[Fri, 19 Sep 2025 11:06:06 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
|
||||
[Fri, 19 Sep 2025 12:35:59 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\RANCHER_AUTOMATION_TUNNELdaemonInstance - \\.\pipe\browserstack\RANCHER_AUTOMATION_TUNNELdaemonInstance
|
||||
[Fri, 19 Sep 2025 12:50:21 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\RANCHER_AUTOMATION_TUNNELdaemonInstance - \\.\pipe\browserstack\RANCHER_AUTOMATION_TUNNELdaemonInstance
|
||||
[Fri, 19 Sep 2025 14:03:23 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\RANCHER_AUTOMATION_TUNNELdaemonInstance - \\.\pipe\browserstack\RANCHER_AUTOMATION_TUNNELdaemonInstance
|
||||
|
||||
10
injitest/entrypoint.sh
Normal file
10
injitest/entrypoint.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Run JAR with system properties before -jar
|
||||
java -Dmodules="$MODULES" \
|
||||
-Denv.user="$ENV_USER" \
|
||||
-Denv.endpoint="$ENV_ENDPOINT" \
|
||||
-Denv.testLevel="$ENV_TESTLEVEL" \
|
||||
-DtestngXmlFile="$ENV_TESTNG_XML_FILE" \
|
||||
-Dbrowserstack.config="$ENV_BROWSERSTACK_CONFIG" \
|
||||
-jar uitest-inji-wallet-*.jar
|
||||
106
injitest/pom.xml
106
injitest/pom.xml
@@ -2,13 +2,13 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>inji</groupId>
|
||||
<artifactId>injitest</artifactId>
|
||||
<groupId>io.mosip.inji</groupId>
|
||||
<artifactId>inji-wallet</artifactId>
|
||||
<version>0.20.0-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>inji-mob-automation</name>
|
||||
<description>inji-mob-automation</description>
|
||||
<url>https://github.com/mosip/inji/injitest</url>
|
||||
<name>uitest-inji-wallet</name>
|
||||
<description>Project for Inji Mobile UI Automation</description>
|
||||
<url>https://github.com/mosip/inji-wallet</url>
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
@@ -17,9 +17,9 @@
|
||||
</license>
|
||||
</licenses>
|
||||
<scm>
|
||||
<connection>scm:git:git://github.com/mosip/admin-ui.git</connection>
|
||||
<developerConnection>scm:git:ssh://github.com:mosip/admin-ui.git</developerConnection>
|
||||
<url>https://github.com/mosip/inji/injitest</url>
|
||||
<connection>scm:git:git://github.com/mosip/inji-wallet.git</connection>
|
||||
<developerConnection>scm:git:ssh://github.com/mosip/inji-wallet.git</developerConnection>
|
||||
<url>https://github.com/mosip/inji-wallet</url>
|
||||
<tag>HEAD</tag>
|
||||
</scm>
|
||||
<developers>
|
||||
@@ -27,9 +27,20 @@
|
||||
<name>Mosip</name>
|
||||
<email>mosip.emailnotifier@gmail.com</email>
|
||||
<organization>io.mosip</organization>
|
||||
<organizationUrl>https://github.com/mosip/inji/injitest</organizationUrl>
|
||||
<organizationUrl>https://github.com/mosip/inji-wallet</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>ossrh-central</id>
|
||||
<name>MavenCentralRepository</name>
|
||||
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
|
||||
<layout>default</layout>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.source>21</maven.compiler.source>
|
||||
@@ -37,6 +48,10 @@
|
||||
<surefire.plugin.version>3.5.3</surefire.plugin.version>
|
||||
<log4j.version>2.25.1</log4j.version>
|
||||
<jackson.version>2.14.3</jackson.version>
|
||||
<maven.gpg.plugin.version>1.5</maven.gpg.plugin.version>
|
||||
<maven.shade.plugin.version>3.6.1</maven.shade.plugin.version>
|
||||
<central.publishing.maven.plugin.version>0.7.0</central.publishing.maven.plugin.version>
|
||||
<jarName>uitest-inji-wallet-0.20.0-SNAPSHOT-jar-with-dependencies</jarName>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
@@ -192,6 +207,16 @@
|
||||
<version>5.1.2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<distributionManagement>
|
||||
<snapshotRepository>
|
||||
<id>ossrh</id>
|
||||
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
|
||||
</snapshotRepository>
|
||||
<repository>
|
||||
<id>ossrh</id>
|
||||
<url>https://central.sonatype.com/api/v1/publisher</url>
|
||||
</repository>
|
||||
</distributionManagement>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
@@ -234,6 +259,69 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.sonatype.central</groupId>
|
||||
<artifactId>central-publishing-maven-plugin</artifactId>
|
||||
<version>${central.publishing.maven.plugin.version}</version>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<publishingServerId>ossrh</publishingServerId>
|
||||
<autoPublish>false</autoPublish>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>${maven.shade.plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<finalName>${jarName}}</finalName>
|
||||
<transformers>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<mainClass>inji.runner.MosipTestRunner</mainClass>
|
||||
</transformer>
|
||||
</transformers>
|
||||
<!-- add this to prevent some security issues when
|
||||
merging everything together -->
|
||||
<filters>
|
||||
<filter>
|
||||
<artifact>*:*</artifact>
|
||||
<excludes>
|
||||
<exclude>META-INF/*.SF</exclude>
|
||||
<exclude>META-INF/*.DSA</exclude>
|
||||
<exclude>META-INF/*.RSA</exclude>
|
||||
</excludes>
|
||||
</filter>
|
||||
</filters>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-gpg-plugin</artifactId>
|
||||
<version>${maven.gpg.plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>sign-artifacts</id>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>sign</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<gpgArguments>
|
||||
<arg>--pinentry-mode</arg>
|
||||
<arg>loopback</arg>
|
||||
</gpgArguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
||||
@@ -36,7 +36,9 @@ public class AppUnlockMethodPage extends BasePage {
|
||||
}
|
||||
|
||||
public SetPasscode clickOnUsePasscode() {
|
||||
click(usePasscodeButton, "Click on 'Use Passcode' button to proceed");
|
||||
if (isElementVisible(usePasscodeButton)) {
|
||||
click(usePasscodeButton, "Click on 'Use Passcode' button to proceed");
|
||||
}
|
||||
return new SetPasscode(driver);
|
||||
}
|
||||
|
||||
|
||||
@@ -140,6 +140,8 @@ public class BasePage {
|
||||
ExtentReportManager.getTest().log(Status.FAIL, "Failed to click on element: " + describeElement(element));
|
||||
throw e;
|
||||
}
|
||||
} else {
|
||||
throw new RuntimeException("Element not visible: " + stepDesc);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,6 +168,8 @@ public class BasePage {
|
||||
if (isElementVisible(element)) {
|
||||
element.sendKeys(text);
|
||||
logStep(stepDesc + " - Entered text: '" + text + "'", element);
|
||||
} else {
|
||||
throw new RuntimeException("Element not visible: " + stepDesc);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,6 +178,8 @@ public class BasePage {
|
||||
element.clear();
|
||||
element.sendKeys(text);
|
||||
logStep(stepDesc + " - Cleared and entered: '" + text + "'", element);
|
||||
} else {
|
||||
throw new RuntimeException("Element not visible: " + stepDesc);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package inji.pages;
|
||||
|
||||
import inji.utils.InjiWalletConfigManager;
|
||||
import io.appium.java_client.AppiumDriver;
|
||||
import io.appium.java_client.HidesKeyboard;
|
||||
import io.appium.java_client.pagefactory.AndroidFindBy;
|
||||
@@ -11,6 +12,8 @@ import java.util.Map;
|
||||
|
||||
public class ESignetLoginPage extends BasePage {
|
||||
|
||||
private static final String mosipIssuerCredentialType = InjiWalletConfigManager.getproperty("mosip.issuer.credentialType");
|
||||
|
||||
|
||||
@iOSXCUITFindBy(iOSClassChain = "**/XCUIElementTypeStaticText[`label == \"“Inji” Wants to Use “mosip.net” to Sign In\"`]")
|
||||
private WebElement iosSignInPermissionPopup;
|
||||
@@ -30,7 +33,7 @@ public class ESignetLoginPage extends BasePage {
|
||||
@iOSXCUITFindBy(xpath = "//android.view.View[@resource-id=\"navbar-header\"]/android.widget.Image[1]")
|
||||
private WebElement ESignetLogo;
|
||||
|
||||
@AndroidFindBy(xpath = "//android.widget.EditText[@resource-id=\"Otp_mosip-vid\"]")
|
||||
@AndroidFindBy(xpath = "//android.widget.EditText[@resource-id=\"Otp_vid\"]")
|
||||
@iOSXCUITFindBy(className = "XCUIElementTypeTextField")
|
||||
private WebElement enterIdTextBox;
|
||||
|
||||
@@ -38,12 +41,12 @@ public class ESignetLoginPage extends BasePage {
|
||||
@iOSXCUITFindBy(accessibility = "Get OTP")
|
||||
private WebElement getOtpButton;
|
||||
|
||||
@AndroidFindBy(uiAutomator = "new UiSelector().className(\"android.widget.Button\").instance(1)")
|
||||
@AndroidFindBy(xpath = "//android.widget.Button[@resource-id=\"verify_otp\"]")
|
||||
@iOSXCUITFindBy(accessibility = "Verify")
|
||||
private WebElement verifyButton;
|
||||
|
||||
@AndroidFindBy(xpath = "//*[contains(@text,'OTP has been sent to your registered Mobile Number')]")
|
||||
@iOSXCUITFindBy(xpath = "//*[contains(@text,'OTP has been sent to your registered Mobile Number')]")
|
||||
@AndroidFindBy(xpath = "//*[contains(@text,'Please enter the 6-digit OTP sent to')]")
|
||||
@iOSXCUITFindBy(xpath = "//*[contains(@text,'Please enter the 6-digit OTP sent to')]")
|
||||
private WebElement otpSendMessage;
|
||||
|
||||
@AndroidFindBy(className = "android.view.ViewGroup")
|
||||
@@ -122,6 +125,10 @@ public class ESignetLoginPage extends BasePage {
|
||||
}
|
||||
|
||||
public OtpVerificationPage setEnterIdTextBox(String uinOrVid) {
|
||||
if ("iOS".equalsIgnoreCase(driver.getCapabilities().getCapability("platformName").toString())) {
|
||||
click(enterIdTextBox, "Click on Enter ID textbox to enter UIN or VID"); // Needed for iOS before typing
|
||||
}
|
||||
|
||||
enterText(enterIdTextBox, uinOrVid, "Enter UIN or VID in Enter ID textbox");
|
||||
return new OtpVerificationPage(driver);
|
||||
}
|
||||
@@ -201,6 +208,6 @@ public class ESignetLoginPage extends BasePage {
|
||||
}
|
||||
|
||||
public void clickOnCredentialTypeHeadingMOSIPVerifiableCredential() {
|
||||
click(credentialTypeHeadingMOSIPVerifiableCredential, "Click on Credential Type heading - MOSIP Verifiable Credential");
|
||||
scrollAndClickByAccessibilityId(mosipIssuerCredentialType, "Click on 'MOSIP Verifiable Credential' option");
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,7 @@ public class MockCertifyLoginPage extends BasePage {
|
||||
@iOSXCUITFindBy(xpath = "//*[contains(@text,'Login with e-Signet')]")
|
||||
private WebElement esignetLoginHeader;
|
||||
|
||||
@AndroidFindBy(xpath = "//*[contains(@text,'Please enter your UIN/VID')]")
|
||||
@AndroidFindBy(xpath = "//android.widget.EditText[@resource-id=\"Otp_vid\"]")
|
||||
@iOSXCUITFindBy(xpath = "//*[contains(@text,'Please enter your UIN/VID'')]")
|
||||
private WebElement enterYourVidTextHeader;
|
||||
|
||||
@@ -38,12 +38,12 @@ public class MockCertifyLoginPage extends BasePage {
|
||||
private WebElement getOtpButton;
|
||||
|
||||
|
||||
@AndroidFindBy(uiAutomator = "new UiSelector().className(\"android.widget.Button\").instance(1)")
|
||||
@AndroidFindBy(xpath = "//android.widget.Button[@resource-id=\"verify_otp\"]")
|
||||
@iOSXCUITFindBy(accessibility = "Verify")
|
||||
private WebElement verifyButton;
|
||||
|
||||
@AndroidFindBy(xpath = "//*[contains(@text,'OTP has been sent to your registered Mobile Number')]")
|
||||
@iOSXCUITFindBy(xpath = "//*[contains(@text,'OTP has been sent to your registered Mobile Number')]")
|
||||
@AndroidFindBy(xpath = "//*[contains(@text,'Please enter the 6-digit OTP sent to')]")
|
||||
@iOSXCUITFindBy(xpath = "//*[contains(@text,'Please enter the 6-digit OTP sent to')]")
|
||||
private WebElement otpSendMessage;
|
||||
|
||||
@AndroidFindBy(className = "android.view.ViewGroup")
|
||||
@@ -140,6 +140,7 @@ public class MockCertifyLoginPage extends BasePage {
|
||||
}
|
||||
|
||||
public void clickOnGetOtpButton() {
|
||||
((HidesKeyboard) driver).hideKeyboard();
|
||||
click(getOtpButton, "Clicking on Get OTP button");
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import io.appium.java_client.pagefactory.AndroidFindBy;
|
||||
import io.appium.java_client.pagefactory.iOSXCUITFindBy;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.support.ui.ExpectedConditions;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -18,6 +19,9 @@ public class SetPasscode extends BasePage {
|
||||
@iOSXCUITFindBy(accessibility = "Done")
|
||||
private WebElement doneButton;
|
||||
|
||||
@iOSXCUITFindBy(accessibility = "Enter OTP")
|
||||
private WebElement enterOtpHeader;
|
||||
|
||||
@AndroidFindBy(xpath = "//android.view.View[contains(@resource-id, \"otp_verify_input\")]//android.widget.EditText[1]")
|
||||
@iOSXCUITFindBy(xpath = "//XCUIElementTypeOther[@name=\"eSignet\"]/XCUIElementTypeOther[6]/XCUIElementTypeTextField[1]")
|
||||
private WebElement inputOtp;
|
||||
@@ -106,21 +110,23 @@ public class SetPasscode extends BasePage {
|
||||
}
|
||||
|
||||
private void enterOtpIosForeSignet(char[] arr) {
|
||||
String baseXpath = isElementVisible(inputOtp)
|
||||
? "//XCUIElementTypeOther[@name=\"eSignet\"]/XCUIElementTypeOther[6]/XCUIElementTypeTextField"
|
||||
: "//XCUIElementTypeOther[@name=\"eSignet\"]/XCUIElementTypeOther[7]/XCUIElementTypeTextField";
|
||||
if (isElementVisible(enterOtpHeader)) {
|
||||
String baseXpath = "//*[@type='XCUIElementTypeTextField' or @type='XCUIElementTypeSecureTextField']";
|
||||
|
||||
List<WebElement> fields = driver.findElements(By.xpath(baseXpath));
|
||||
for (int i = 0; i < arr.length; i++) {
|
||||
WebElement passcodeInput = driver.findElement(By.xpath("(" + baseXpath + ")[" + (i + 1) + "]"));
|
||||
|
||||
if (fields.size() < arr.length) {
|
||||
throw new IllegalStateException("Not enough input fields to enter OTP on iOS eSignet.");
|
||||
}
|
||||
|
||||
for (int i = 0; i < arr.length; i++) {
|
||||
fields.get(i).sendKeys(String.valueOf(arr[i]));
|
||||
if (i==0) {
|
||||
click(passcodeInput, "Click on the passcode field");
|
||||
}
|
||||
enterText(passcodeInput, String.valueOf(arr[i]), "Entering passcode digit in field " + (i + 1));
|
||||
}
|
||||
} else {
|
||||
throw new IllegalStateException("Enter OTP header is not visible on iOS Esignet.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void enterOtpAndroidForeSignet(char[] arr) {
|
||||
String baseXpath = isElementVisible(inputOtp)
|
||||
? "//android.view.View[contains(@resource-id, \"otp_verify_input\")]//android.widget.EditText"
|
||||
|
||||
@@ -116,7 +116,7 @@ public class SharePage extends BasePage {
|
||||
|
||||
public SharePage acceptPermissionPopupBluetoothIos() {
|
||||
click(okButtonIos, "Click on OK Button (iOS)");
|
||||
click(AllowButtonIos, "Click on Allow Button (iOS)");
|
||||
// click(AllowButtonIos, "Click on Allow Button (iOS)");
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,15 +23,15 @@ public class SunbirdLoginPage extends BasePage {
|
||||
private WebElement loginWithKBA;
|
||||
|
||||
@AndroidFindBy(xpath = "//*[@resource-id=\"_form_policyNumber\"]")
|
||||
@iOSXCUITFindBy(xpath = "//XCUIElementTypeTextField[@name=\"Please fill in this field\" and @value=\"Policy Number\"]")
|
||||
@iOSXCUITFindBy(xpath = "//XCUIElementTypeTextField[@value=\"Policy Number\"]")
|
||||
private WebElement enterPolicyTextBox;
|
||||
|
||||
@AndroidFindBy(xpath = "//android.widget.EditText[@resource-id=\"_form_fullName\"]")
|
||||
@iOSXCUITFindBy(iOSClassChain = "**/XCUIElementTypeTextField[`name == \"Please fill in this field\"`][2]")
|
||||
@iOSXCUITFindBy(xpath = "//XCUIElementTypeTextField[@value=\"Full Name\"]")
|
||||
private WebElement enterFullNameTextBox;
|
||||
|
||||
@AndroidFindBy(uiAutomator = "UiSelector().className(\"android.widget.Spinner\")")
|
||||
@iOSXCUITFindBy(iOSClassChain = "**/XCUIElementTypeOther[`name == \"Please fill in this field\"`]")
|
||||
@iOSXCUITFindBy(iOSClassChain = "**/XCUIElementTypeOther[`name == \"eSignet\"`]/XCUIElementTypeOther[10]")
|
||||
private WebElement enterDateOfBirthTextBox;
|
||||
|
||||
@iOSXCUITFindBy(xpath = "//XCUIElementTypePickerWheel[@value=\"2025\"]")
|
||||
@@ -189,7 +189,7 @@ public class SunbirdLoginPage extends BasePage {
|
||||
private WebElement setButton;
|
||||
|
||||
@AndroidFindBy(xpath = "//*[contains(@text,'CONTINUE')]")
|
||||
@iOSXCUITFindBy(xpath = "//*[contains(@text,'CONTINUE')]")
|
||||
@iOSXCUITFindBy(accessibility = "Continue")
|
||||
private WebElement continuePopupButton;
|
||||
|
||||
public void clickOnLoginWithKbaButton() {
|
||||
|
||||
@@ -12,6 +12,7 @@ import inji.driver.DriverManager;
|
||||
import inji.models.Policy;
|
||||
import inji.models.Uin;
|
||||
import inji.models.Vid;
|
||||
import inji.utils.BrowserStackLocalManager;
|
||||
import inji.utils.ExtentReportManager;
|
||||
import inji.utils.InjiWalletConfigManager;
|
||||
import inji.utils.testdatamanager.MockUINManager;
|
||||
@@ -47,6 +48,7 @@ import java.util.Map;
|
||||
public abstract class BaseTest {
|
||||
|
||||
protected Local bsLocal;
|
||||
|
||||
private static final ThreadLocal<Uin> threadUin = new ThreadLocal<>();
|
||||
private static final ThreadLocal<Vid> threadVid = new ThreadLocal<>();
|
||||
private static final ThreadLocal<Uin> threadMockUin = new ThreadLocal<>();
|
||||
@@ -62,15 +64,7 @@ public abstract class BaseTest {
|
||||
@BeforeSuite(alwaysRun = true)
|
||||
public void beforeSuite() {
|
||||
ExtentReportManager.initReport();
|
||||
bsLocal = new Local();
|
||||
Map<String, String> options = new HashMap<>();
|
||||
options.put("key", InjiWalletConfigManager.getproperty("browserstack.accesskey"));
|
||||
options.put("forcelocal", "true");
|
||||
try {
|
||||
bsLocal.start(options);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Failed to start BrowserStack Local", e);
|
||||
}
|
||||
BrowserStackLocalManager.startLocal();
|
||||
}
|
||||
|
||||
@BeforeMethod(alwaysRun = true)
|
||||
@@ -205,6 +199,7 @@ public abstract class BaseTest {
|
||||
@AfterSuite(alwaysRun = true)
|
||||
public void afterSuite() {
|
||||
ExtentReportManager.flushReport();
|
||||
BrowserStackLocalManager.stopLocal();
|
||||
|
||||
// Generate final report file name
|
||||
String timestamp = new SimpleDateFormat("yyyy-MM-dd-HH-mm").format(new Date());
|
||||
@@ -243,15 +238,6 @@ public abstract class BaseTest {
|
||||
LOGGER.error("S3 upload failed: {}", e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
// Stop BrowserStack Local
|
||||
if (bsLocal != null && bsLocal.isRunning()) {
|
||||
try {
|
||||
bsLocal.stop();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Failed to stop BrowserStack Local", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Getters for tests
|
||||
|
||||
@@ -524,7 +524,7 @@ public class ChangeLanguageTest extends AndroidBaseTest {
|
||||
// assertEquals(sunbirdLoginPage.getFullNameForSunbirdCard(),TestDataReader.readData("fullNameSunbird"));
|
||||
sunbirdLoginPage.openDetailedSunbirdVcView();
|
||||
|
||||
assertEquals(sunbirdLoginPage.getFullNameForSunbirdCard(), TestDataReader.readData("fullNameSunbird"));
|
||||
assertEquals(sunbirdLoginPage.getFullNameForSunbirdCard(), getPolicyName());
|
||||
assertEquals(sunbirdLoginPage.getPolicyNameForSunbirdCard(), TestDataReader.readData("policyNameSunbird"));
|
||||
assertEquals(sunbirdLoginPage.getPhoneNumberForSunbirdCard(), TestDataReader.readData("phoneNumberSunbird"));
|
||||
assertTrue(sunbirdLoginPage.isDateOfBirthValueForSunbirdCardDisplayed());
|
||||
|
||||
@@ -297,7 +297,7 @@ public class DeletingVcTest extends AndroidBaseTest {
|
||||
// assertTrue(sunbirdLoginPage.isSunbirdCardActive(), "Verify if download sunbird displayed active");
|
||||
// assertTrue(sunbirdLoginPage.isSunbirdCardLogoDisplayed(), "Verify if download sunbird logo displayed");
|
||||
// assertEquals(sunbirdLoginPage.getFullNameForSunbirdCard(),TestDataReader.readData("fullNameSunbird"));
|
||||
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
MoreOptionsPage moreOptionsPage = homePage.clickOnMoreOptionsButton();
|
||||
// assertTrue(moreOptionsPage.isMoreOptionsPageLoaded(), "Verify if more options page is displayed");
|
||||
|
||||
|
||||
@@ -229,7 +229,6 @@ public class MosipOtpAlternativeFlow extends AndroidBaseTest {
|
||||
// assertTrue(moreOptionsPage.isMoreOptionsPageLoaded(), "Verify if more options page is displayed");
|
||||
|
||||
// moreOptionsPage.clickOnCloseButton();
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
assertTrue(homePage.isCredentialTypeValueDisplayed(), "Verify if credential type value is displayed");
|
||||
}
|
||||
|
||||
@@ -300,7 +299,7 @@ public class MosipOtpAlternativeFlow extends AndroidBaseTest {
|
||||
otpVerification.enterOtpForeSignet(getOtp(), PlatformType.ANDROID);
|
||||
esignetLoginPage.clickOnVerifyButton();
|
||||
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
// addNewCardPage.clickOnDoneButton();
|
||||
// assertTrue(homePage.isCredentialTypeValueDisplayed(), "Verify if credential type value is displayed");
|
||||
|
||||
HistoryPage historyPage = homePage.clickOnHistoryButton();
|
||||
|
||||
@@ -63,7 +63,7 @@ public class MosipOtpAlternativeFlowForHistoryAndPin extends AndroidBaseTest {
|
||||
moreOptionsPage.clickOnPinOrUnPinCard();
|
||||
|
||||
detailedVcViewPage.clickOnBackArrow();
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
// addNewCardPage.clickOnDoneButton();
|
||||
assertTrue(homePage.isCredentialTypeValueDisplayed(), "Verify if credential type value is displayed");
|
||||
assertTrue(homePage.isPinIconDisplayed(), "Verify if pin icon on vc is displayed");
|
||||
|
||||
@@ -134,7 +134,7 @@ public class MosipOtpAlternativeFlowForHistoryAndPin extends AndroidBaseTest {
|
||||
otpVerification.enterOtpForeSignet(getOtp(), PlatformType.ANDROID);
|
||||
esignetLoginPage.clickOnVerifyButton();
|
||||
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
// addNewCardPage.clickOnDoneButton();
|
||||
// assertTrue(homePage.isCredentialTypeValueDisplayed(), "Verify if credential type value is displayed");
|
||||
|
||||
MoreOptionsPage moreOptionsPage = homePage.clickOnMoreOptionsButton();
|
||||
@@ -215,7 +215,7 @@ public class MosipOtpAlternativeFlowForHistoryAndPin extends AndroidBaseTest {
|
||||
otpVerification.enterOtpForeSignet(getOtp(), PlatformType.ANDROID);
|
||||
esignetLoginPage.clickOnVerifyButton();
|
||||
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
// addNewCardPage.clickOnDoneButton();
|
||||
// assertTrue(homePage.isCredentialTypeValueDisplayed(), "Verify if credential type value is displayed");
|
||||
|
||||
MoreOptionsPage moreOptionsPage = new MoreOptionsPage(getDriver());
|
||||
|
||||
@@ -211,7 +211,7 @@ public class NoNetworkAndroidTest extends AndroidBaseTest {
|
||||
assertTrue(helpPage.isHelpPageLoaded(), "Verify if help page is displayed");
|
||||
helpPage.exitHelpPage();
|
||||
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
}
|
||||
|
||||
|
||||
@@ -164,7 +164,7 @@ public class PinVcTest extends AndroidBaseTest {
|
||||
// assertTrue(moreOptionsPage.isMoreOptionsPageLoaded(), "Verify if more options page is displayed");
|
||||
moreOptionsPage.clickOnPinOrUnPinCard();
|
||||
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
// assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
homePage.downloadCard();
|
||||
|
||||
@@ -183,7 +183,7 @@ public class PinVcTest extends AndroidBaseTest {
|
||||
esignetLoginPage.clickOnVerifyButton();
|
||||
|
||||
assertTrue(homePage.isPinIconDisplayed(), "Verify if pin icon on vc is displayed");
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
// addNewCardPage.clickOnDoneButton();
|
||||
assertTrue(homePage.isCredentialTypeValueDisplayed(), "Verify if credential type value is displayed");
|
||||
homePage.clickOnMoreOptionsButton();
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ public class UnlockWithPasscodeTest extends AndroidBaseTest {
|
||||
// assertTrue(enterYourPasscodePage.isEnterYourPasscodePageLoaded(), "Verify if enter your passcode page is displayed");
|
||||
enterYourPasscodePage.enterPasscodeOnPasscodePage(TestDataReader.readData("passcode"), PlatformType.ANDROID);
|
||||
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ public class VerifyHelpPageTest extends AndroidBaseTest {
|
||||
assertTrue(helpPage.isWhatIsShareWithSelfieTextdHeader(), "verify if share with selfie text displayed");
|
||||
helpPage.exitHelpPage();
|
||||
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
}
|
||||
|
||||
|
||||
@@ -409,6 +409,7 @@ public class VerifyHistoryTest extends AndroidBaseTest {
|
||||
sunbirdLoginPage.clickOnLoginButton();
|
||||
|
||||
// assertTrue(sunbirdLoginPage.isSunbirdCardActive(), "Verify if download sunbird displayed active");
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
assertTrue(sunbirdLoginPage.isSunbirdCardLogoDisplayed(), "Verify if download sunbird logo displayed");
|
||||
// assertEquals(sunbirdLoginPage.getFullNameForSunbirdCard(),TestDataReader.readData("fullNameSunbird"));
|
||||
|
||||
|
||||
@@ -265,7 +265,7 @@ public class ActivateVcTest extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
|
||||
// assertTrue(esignetLoginPage.isEnterYourVidTextDisplayed(), "Verify if Esignet Login page is landed");
|
||||
// String uin=TestDataReader.readData("uin");
|
||||
|
||||
@@ -606,14 +606,13 @@ public class ChangeLanguageTest extends IosBaseTest {
|
||||
assertTrue(addNewCardPage.isDownloadViaSunbirdDisplayed(), "Verify if download sunbird displayed");
|
||||
SunbirdLoginPage sunbirdLoginPage = addNewCardPage.clickOnDownloadViaSunbird();
|
||||
addNewCardPage.clickOnCredentialTypeHeadingInsuranceCredential();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
// addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
sunbirdLoginPage.enterPolicyNumber(getPolicyNumber());
|
||||
sunbirdLoginPage.enterFullName(getPolicyName());
|
||||
sunbirdLoginPage.enterDateOfBirth();
|
||||
IosUtil.scrollToElement(getDriver(), 100, 800, 100, 200);
|
||||
sunbirdLoginPage.clickOnLoginButton();
|
||||
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
assertTrue(sunbirdLoginPage.isSunbirdCardActive(), "Verify if download sunbird displayed active");
|
||||
SettingsPage settingsPage = homePage.clickOnSettingIcon();
|
||||
|
||||
@@ -628,7 +627,7 @@ public class ChangeLanguageTest extends IosBaseTest {
|
||||
|
||||
sunbirdLoginPage.openDetailedSunbirdVcView();
|
||||
|
||||
assertEquals(sunbirdLoginPage.getFullNameForSunbirdCard(), TestDataReader.readData("fullNameSunbird"));
|
||||
assertEquals(sunbirdLoginPage.getFullNameForSunbirdCard(), getPolicyName());
|
||||
assertEquals(sunbirdLoginPage.getPolicyNameForSunbirdCard(), TestDataReader.readData("policyNameSunbird"));
|
||||
assertEquals(sunbirdLoginPage.getPhoneNumberForSunbirdCard(), TestDataReader.readData("phoneNumberSunbird"));
|
||||
assertTrue(sunbirdLoginPage.isDateOfBirthValueForSunbirdCardDisplayed());
|
||||
@@ -966,7 +965,7 @@ public class ChangeLanguageTest extends IosBaseTest {
|
||||
assertTrue(homePage.verifyAppSettingsHeader("English"), "Verify if app settings header text displayed");
|
||||
assertTrue(homePage.verifyAppSettingDescription("English"), "Verify if app settings description displayed");
|
||||
homePage.clickOnNextButton();
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
|
||||
}
|
||||
@@ -1016,7 +1015,7 @@ public class ChangeLanguageTest extends IosBaseTest {
|
||||
assertTrue(homePage.verifyAppSettingsHeader("Hindi"), "Verify if app settings header text displayed");
|
||||
assertTrue(homePage.verifyAppSettingDescription("Hindi"), "Verify if app settings description displayed");
|
||||
homePage.clickOnNextButton();
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
|
||||
}
|
||||
@@ -1066,7 +1065,7 @@ public class ChangeLanguageTest extends IosBaseTest {
|
||||
assertTrue(homePage.verifyAppSettingsHeader("Kannada"), "Verify if app settings header text displayed");
|
||||
assertTrue(homePage.verifyAppSettingDescription("Kannada"), "Verify if app settings description displayed");
|
||||
homePage.clickOnNextButton();
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
|
||||
}
|
||||
@@ -1116,7 +1115,7 @@ public class ChangeLanguageTest extends IosBaseTest {
|
||||
assertTrue(homePage.verifyAppSettingsHeader("Tamil"), "Verify if app settings header text displayed");
|
||||
assertTrue(homePage.verifyAppSettingDescription("Tamil"), "Verify if app settings description displayed");
|
||||
homePage.clickOnNextButton();
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
|
||||
}
|
||||
@@ -1166,7 +1165,7 @@ public class ChangeLanguageTest extends IosBaseTest {
|
||||
assertTrue(homePage.verifyAppSettingsHeader("Filipino"), "Verify if app settings header text displayed");
|
||||
assertTrue(homePage.verifyAppSettingDescription("Filipino"), "Verify if app settings description displayed");
|
||||
homePage.clickOnNextButton();
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
|
||||
}
|
||||
|
||||
@@ -210,10 +210,10 @@ public class DeletingVcTest extends IosBaseTest {
|
||||
AddNewCardPage addNewCardPage = homePage.downloadCard();
|
||||
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
esignetLoginPage.clickOnCredentialTypeHeadingMOSIPVerifiableCredential();
|
||||
// esignetLoginPage.clickOnCredentialTypeHeadingMOSIPVerifiableCredential();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// String uin = TestDataReader.readData("uin");
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
@@ -274,7 +274,7 @@ public class DeletingVcTest extends IosBaseTest {
|
||||
// assertTrue(addNewCardPage.isAddNewCardPageLoaded(), "Verify if add new card page is displayed");
|
||||
SunbirdLoginPage sunbirdLoginPage = addNewCardPage.clickOnDownloadViaSunbird();
|
||||
addNewCardPage.clickOnCredentialTypeHeadingInsuranceCredential();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
// addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
sunbirdLoginPage.enterPolicyNumber(getPolicyNumber());
|
||||
sunbirdLoginPage.enterFullName(getPolicyName());
|
||||
@@ -284,7 +284,7 @@ public class DeletingVcTest extends IosBaseTest {
|
||||
// assertTrue(sunbirdLoginPage.isSunbirdCardActive(), "Verify if download sunbird displayed active");
|
||||
// assertTrue(sunbirdLoginPage.isSunbirdCardLogoDisplayed(), "Verify if download sunbird logo displayed");
|
||||
// assertEquals(sunbirdLoginPage.getFullNameForSunbirdCard(), getPolicyName());
|
||||
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
MoreOptionsPage moreOptionsPage = homePage.clickOnMoreOptionsButton();
|
||||
// assertTrue(moreOptionsPage.isMoreOptionsPageLoaded(), "Verify if more options page is displayed");
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ public class KeyManagmentTest extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// String uin = TestDataReader.readData("uin");
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
@@ -114,8 +114,8 @@ public class KeyManagmentTest extends IosBaseTest {
|
||||
MockCertifyLoginPage mockCertifyLoginPage = addNewCardPage.clickOnDownloadViaMockCertify();
|
||||
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
ESignetLoginPage esignetLoginPage = new ESignetLoginPage(getDriver());
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// ESignetLoginPage esignetLoginPage = new ESignetLoginPage(getDriver());
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
|
||||
OtpVerificationPage otpVerification = mockCertifyLoginPage.setEnterIdTextBox(getMockUIN());
|
||||
|
||||
@@ -171,7 +171,7 @@ public class KeyManagmentTest extends IosBaseTest {
|
||||
AddNewCardPage addNewCardPage = homePage.downloadCard();
|
||||
SunbirdLoginPage sunbirdLoginPage = addNewCardPage.clickOnDownloadViaSunbird();
|
||||
addNewCardPage.clickOnCredentialTypeHeadingInsuranceCredential();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
// addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
sunbirdLoginPage.enterPolicyNumber(getPolicyNumber());
|
||||
sunbirdLoginPage.enterFullName(getPolicyName());
|
||||
sunbirdLoginPage.enterDateOfBirth();
|
||||
|
||||
@@ -41,7 +41,7 @@ public class MosipOtpAlternativeFlow extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
@@ -79,7 +79,7 @@ public class MosipOtpAlternativeFlow extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
@@ -131,7 +131,7 @@ public class MosipOtpAlternativeFlow extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
@@ -184,7 +184,7 @@ public class MosipOtpAlternativeFlow extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
@@ -204,7 +204,7 @@ public class MosipOtpAlternativeFlow extends IosBaseTest {
|
||||
// assertTrue(moreOptionsPage.isMoreOptionsPageLoaded(), "Verify if more options page is displayed");
|
||||
|
||||
// moreOptionsPage.clickOnCloseButton();
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
// addNewCardPage.clickOnDoneButton();
|
||||
assertTrue(homePage.isCredentialTypeValueDisplayed(), "Verify if credential type value is displayed");
|
||||
}
|
||||
|
||||
@@ -235,7 +235,7 @@ public class MosipOtpAlternativeFlow extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
@@ -252,7 +252,7 @@ public class MosipOtpAlternativeFlow extends IosBaseTest {
|
||||
//assertTrue(pleaseConfirmPopupPage.isPleaseConfirmPopupPageLoaded(), "Verify if pop up page is displayed");
|
||||
|
||||
pleaseConfirmPopupPage.clickOnConfirmButton();
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
// addNewCardPage.clickOnDoneButton();
|
||||
// assertTrue(homePage.isCredentialTypeValueDisplayed(), "Verify if credential type value is displayed");
|
||||
|
||||
homePage.downloadCard();
|
||||
@@ -260,14 +260,14 @@ public class MosipOtpAlternativeFlow extends IosBaseTest {
|
||||
addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
otpVerification.enterOtpForeSignet(InjiWalletUtil.getOtp(), PlatformType.IOS);
|
||||
esignetLoginPage.clickOnVerifyButtonIos();
|
||||
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
// addNewCardPage.clickOnDoneButton();
|
||||
//assertTrue(homePage.isCredentialTypeValueDisplayed(), "Verify if credential type value is displayed");
|
||||
|
||||
HistoryPage historyPage = homePage.clickOnHistoryButton();
|
||||
@@ -306,7 +306,7 @@ public class MosipOtpAlternativeFlow extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
@@ -357,7 +357,7 @@ public class MosipOtpAlternativeFlow extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
@@ -441,7 +441,7 @@ public class MosipOtpAlternativeFlow extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
|
||||
@@ -39,7 +39,7 @@ public class MosipOtpAlternativeFlowForHistoryAndPin extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
@@ -59,7 +59,7 @@ public class MosipOtpAlternativeFlowForHistoryAndPin extends IosBaseTest {
|
||||
moreOptionsPage.clickOnPinOrUnPinCard();
|
||||
|
||||
detailedVcViewPage.clickOnBackArrow();
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
// addNewCardPage.clickOnDoneButton();
|
||||
assertTrue(homePage.isCredentialTypeValueDisplayed(), "Verify if credential type value is displayed");
|
||||
assertTrue(homePage.isPinIconDisplayed(), "Verify if pin icon on vc is displayed");
|
||||
|
||||
@@ -99,7 +99,7 @@ public class MosipOtpAlternativeFlowForHistoryAndPin extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
@@ -155,10 +155,10 @@ public class MosipOtpAlternativeFlowForHistoryAndPin extends IosBaseTest {
|
||||
AddNewCardPage addNewCardPage = homePage.downloadCard();
|
||||
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
esignetLoginPage.clickOnCredentialTypeHeadingMOSIPVerifiableCredential();
|
||||
// esignetLoginPage.clickOnCredentialTypeHeadingMOSIPVerifiableCredential();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
|
||||
@@ -203,7 +203,7 @@ public class NoNetworkIosTest extends IosBaseTest {
|
||||
assertTrue(helpPage.isHelpPageLoaded(), "Verify if help page is displayed");
|
||||
helpPage.exitHelpPage();
|
||||
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ public class ShareVcTest extends IosBaseTest {
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
SharePage scanPage = homePage.clickOnShareButton();
|
||||
scanPage.acceptPermissionPopupBluetoothIos();
|
||||
scanPage.acceptPermissionPopupCameraIos();
|
||||
// scanPage.acceptPermissionPopupCameraIos();
|
||||
assertTrue(scanPage.isNoShareableCardsMessageDisplayed(), "Verify if no shareable cards are available message is displayed");
|
||||
}
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ public class UnlockWithPasscodeTest extends IosBaseTest {
|
||||
assertTrue(enterYourPasscodePage.isEnterYourPasscodePageLoaded(), "Verify if enter your passcode page is displayed");
|
||||
enterYourPasscodePage.enterPasscodeOnPasscodePage(TestDataReader.readData("passcode"), PlatformType.IOS);
|
||||
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class VcDownloadAndVerifyUsingEsignetTest extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// String uin = TestDataReader.readData("uin");
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
@@ -108,10 +108,10 @@ public class VcDownloadAndVerifyUsingEsignetTest extends IosBaseTest {
|
||||
AddNewCardPage addNewCardPage = homePage.downloadCard();
|
||||
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
esignetLoginPage.clickOnCredentialTypeHeadingMOSIPVerifiableCredential();
|
||||
// esignetLoginPage.clickOnCredentialTypeHeadingMOSIPVerifiableCredential();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
|
||||
// String vid = TestDataReader.readData("vid");
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getVID());
|
||||
|
||||
@@ -40,7 +40,7 @@ public class VcDownloadAndVerifyUsingSunbirdTest extends IosBaseTest {
|
||||
assertTrue(addNewCardPage.isDownloadViaSunbirdDisplayed(), "Verify if download sunbird displayed");
|
||||
SunbirdLoginPage sunbirdLoginPage = addNewCardPage.clickOnDownloadViaSunbird();
|
||||
addNewCardPage.clickOnCredentialTypeHeadingInsuranceCredential();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
// addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
sunbirdLoginPage.enterPolicyNumber(getPolicyNumber());
|
||||
sunbirdLoginPage.enterFullName(getPolicyName());
|
||||
sunbirdLoginPage.enterDateOfBirth();
|
||||
@@ -52,7 +52,7 @@ public class VcDownloadAndVerifyUsingSunbirdTest extends IosBaseTest {
|
||||
// assertEquals(sunbirdLoginPage.getFullNameForSunbirdCard(),TestDataReader.readData("fullNameSunbird"));
|
||||
sunbirdLoginPage.openDetailedSunbirdVcView();
|
||||
|
||||
assertEquals(sunbirdLoginPage.getFullNameForSunbirdCard(), TestDataReader.readData("fullNameSunbird"));
|
||||
assertEquals(sunbirdLoginPage.getFullNameForSunbirdCard(), getPolicyName());
|
||||
assertEquals(sunbirdLoginPage.getPolicyNameForSunbirdCard(), TestDataReader.readData("policyNameSunbird"));
|
||||
// assertEquals(sunbirdLoginPage.getPhoneNumberForSunbirdCard(), TestDataReader.readData("phoneNumberSunbird"));
|
||||
// assertEquals(sunbirdLoginPage.getDateofBirthValueForSunbirdCard(), TestDataReader.readData("dateOfBirthSunbird"));
|
||||
|
||||
@@ -40,7 +40,7 @@ public class VerifyHelpPageTest extends IosBaseTest {
|
||||
assertFalse(helpPage.isHelpPageContentEmpty(), "verifying if help page is not empty");
|
||||
helpPage.exitHelpPage();
|
||||
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
}
|
||||
|
||||
|
||||
@@ -258,10 +258,10 @@ public class VerifyHistoryTest extends IosBaseTest {
|
||||
|
||||
// assertTrue(addNewCardPage.isAddNewCardPageLoaded(), "Verify if add new card page is displayed");
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// String uin = TestDataReader.readData("uin");
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
@@ -328,10 +328,10 @@ public class VerifyHistoryTest extends IosBaseTest {
|
||||
|
||||
// assertTrue(addNewCardPage.isAddNewCardPageLoaded(), "Verify if add new card page is displayed");
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
|
||||
//String vid = TestDataReader.readData("vid");
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getVID());
|
||||
@@ -399,7 +399,7 @@ public class VerifyHistoryTest extends IosBaseTest {
|
||||
assertTrue(addNewCardPage.isDownloadViaSunbirdDisplayed(), "Verify if download sunbird displayed");
|
||||
SunbirdLoginPage sunbirdLoginPage = addNewCardPage.clickOnDownloadViaSunbird();
|
||||
addNewCardPage.clickOnCredentialTypeHeadingInsuranceCredential();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
// addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
sunbirdLoginPage.enterPolicyNumber(getPolicyNumber());
|
||||
sunbirdLoginPage.enterFullName(getPolicyName());
|
||||
sunbirdLoginPage.enterDateOfBirth();
|
||||
@@ -412,7 +412,7 @@ public class VerifyHistoryTest extends IosBaseTest {
|
||||
|
||||
sunbirdLoginPage.openDetailedSunbirdVcView();
|
||||
|
||||
assertEquals(sunbirdLoginPage.getFullNameForSunbirdCardForDetailView(), TestDataReader.readData("fullNameSunbird"));
|
||||
assertEquals(sunbirdLoginPage.getFullNameForSunbirdCardForDetailView(), getPolicyName());
|
||||
assertEquals(sunbirdLoginPage.getPolicyNameForSunbirdCard(), TestDataReader.readData("policyNameSunbird"));
|
||||
assertEquals(sunbirdLoginPage.getPhoneNumberForSunbirdCard(), TestDataReader.readData("phoneNumberSunbird"));
|
||||
assertTrue(sunbirdLoginPage.isDateOfBirthValueForSunbirdCardDisplayed());
|
||||
@@ -455,7 +455,7 @@ public class VerifyHistoryTest extends IosBaseTest {
|
||||
ESignetLoginPage esignetLoginPage = addNewCardPage.clickOnDownloadViaEsignet();
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// String uin = TestDataReader.readData("uin");
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
@@ -509,7 +509,7 @@ public class VerifyHistoryTest extends IosBaseTest {
|
||||
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
ESignetLoginPage esignetLoginPage = new ESignetLoginPage(getDriver());
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
|
||||
OtpVerificationPage otpVerification = mockCertifyLoginPage.setEnterIdTextBox(getMockUIN());
|
||||
|
||||
@@ -564,7 +564,7 @@ public class VerifyHistoryTest extends IosBaseTest {
|
||||
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
ESignetLoginPage esignetLoginPage = new ESignetLoginPage(getDriver());
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
|
||||
OtpVerificationPage otpVerification = mockCertifyLoginPage.setEnterIdTextBox(getMockUIN());
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ public class VerifyWelcomePagesTest extends IosBaseTest {
|
||||
assertTrue(homePage.verifyAppSettingsHeader("English"), "Verify if app settings header text displayed");
|
||||
assertTrue(homePage.verifyAppSettingDescription("English"), "Verify if app settings description displayed");
|
||||
homePage.clickOnNextButton();
|
||||
homePage.clickOnNextButtonForInjiTour();
|
||||
// homePage.clickOnNextButtonForInjiTour();
|
||||
assertTrue(homePage.isHomePageLoaded(), "Verify if home page is displayed");
|
||||
|
||||
}
|
||||
@@ -217,7 +217,7 @@ public class VerifyWelcomePagesTest extends IosBaseTest {
|
||||
|
||||
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
|
||||
// String uin=TestDataReader.readData("uin");
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
@@ -265,7 +265,7 @@ public class VerifyWelcomePagesTest extends IosBaseTest {
|
||||
addNewCardPage.clickOnDownloadViaEsignet();
|
||||
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
|
||||
esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
esignetLoginPage.clickOnGetOtpButton();
|
||||
@@ -273,7 +273,7 @@ public class VerifyWelcomePagesTest extends IosBaseTest {
|
||||
otpVerification.enterOtpForeSignet(InjiWalletUtil.getOtp(), PlatformType.IOS);
|
||||
esignetLoginPage.clickOnVerifyButtonIos();
|
||||
|
||||
addNewCardPage.clickOnDoneButton();
|
||||
// addNewCardPage.clickOnDoneButton();
|
||||
assertTrue(homePage.isCredentialTypeValueDisplayed(), "Verify if credential type value is displayed");
|
||||
homePage.clickOnSettingIcon();
|
||||
|
||||
@@ -338,7 +338,7 @@ public class VerifyWelcomePagesTest extends IosBaseTest {
|
||||
|
||||
|
||||
addNewCardPage.clickOnContinueButtonInSigninPopupIos();
|
||||
esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
// esignetLoginPage.clickOnEsignetLoginWithOtpButton();
|
||||
|
||||
// String uin=TestDataReader.readData("uin");
|
||||
OtpVerificationPage otpVerification = esignetLoginPage.setEnterIdTextBox(getUIN());
|
||||
|
||||
@@ -29,6 +29,7 @@ public class BrowserStackCapabilitiesLoader {
|
||||
bStackOptions.put("networkLogs", true); // network logs
|
||||
bStackOptions.put("interactiveDebugging", true); // optional
|
||||
bStackOptions.put("local", true); // set to true only if testing local resources
|
||||
bStackOptions.put("localIdentifier", BrowserStackLocalManager.getLocalIdentifier());// set localIdentifier for browserstack local
|
||||
|
||||
// passing credentials here instead of setting via -D
|
||||
bStackOptions.put("userName", InjiWalletConfigManager.getproperty("browserstack.username"));
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
package inji.utils;
|
||||
|
||||
import com.browserstack.local.Local;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class BrowserStackLocalManager {
|
||||
private static Local bsLocal;
|
||||
protected static String localIdentifier;
|
||||
private static boolean started = false;
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(BrowserStackLocalManager.class);
|
||||
|
||||
public static synchronized void startLocal() {
|
||||
if (!started) {
|
||||
try {
|
||||
bsLocal = new Local();
|
||||
localIdentifier = "injiwallet-" + System.currentTimeMillis();
|
||||
Map<String, String> options = new HashMap<>();
|
||||
options.put("key", InjiWalletConfigManager.getproperty("browserstack.accesskey"));
|
||||
options.put("forcelocal", "true");
|
||||
|
||||
options.put("localIdentifier", localIdentifier);
|
||||
|
||||
bsLocal.start(options);
|
||||
|
||||
if (!bsLocal.isRunning()) {
|
||||
throw new RuntimeException("BrowserStack Local tunnel did not start!");
|
||||
}
|
||||
|
||||
started = true;
|
||||
LOGGER.info("BrowserStack Local started successfully.");
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Failed to start BrowserStack Local", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static synchronized void stopLocal() {
|
||||
if (started && bsLocal != null && bsLocal.isRunning()) {
|
||||
try {
|
||||
bsLocal.stop();
|
||||
started = false;
|
||||
LOGGER.info("BrowserStack Local stopped.");
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Failed to stop BrowserStack Local", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static String getLocalIdentifier() {
|
||||
return localIdentifier;
|
||||
}
|
||||
}
|
||||
@@ -19,10 +19,10 @@ public class InjiWalletUtil extends AdminTestUtil {
|
||||
private static final Logger logger = Logger.getLogger(InjiWalletUtil.class);
|
||||
private static final AdminTestUtil adminTestUtil = new AdminTestUtil();
|
||||
private static final Faker faker = new Faker();
|
||||
private static final String fullNameForSunBirdR = generateFullNameForSunBirdR();
|
||||
// private static final String dobForSunBirdR = generateDobForSunBirdR();
|
||||
// private static final String fullNameForSunBirdR = generateFullNameForSunBirdR();
|
||||
// private static final String dobForSunBirdR = generateDobForSunBirdR();
|
||||
private static final String dobForSunBirdR = String.valueOf(LocalDate.now());
|
||||
private static final String policyNumberForSunBirdR = generateRandomNumberString(9);
|
||||
// private static final String policyNumberForSunBirdR = generateRandomNumberString(9);
|
||||
|
||||
public static void setLogLevel() {
|
||||
if (InjiWalletConfigManager.IsDebugEnabled())
|
||||
@@ -57,11 +57,13 @@ public class InjiWalletUtil extends AdminTestUtil {
|
||||
}
|
||||
|
||||
if (jsonString.contains("$POLICYNUMBERFORSUNBIRDRC$")) {
|
||||
String policyNumberForSunBirdR = generateRandomNumberString(9);
|
||||
jsonString = replaceKeywordWithValue(jsonString, "$POLICYNUMBERFORSUNBIRDRC$", policyNumberForSunBirdR);
|
||||
adminTestUtil.writeAutoGeneratedId(testCaseName, "POLICY", policyNumberForSunBirdR);
|
||||
}
|
||||
|
||||
if (jsonString.contains("$FULLNAMEFORSUNBIRDRC$")) {
|
||||
String fullNameForSunBirdR = generateFullNameForSunBirdR();
|
||||
jsonString = replaceKeywordWithValue(jsonString, "$FULLNAMEFORSUNBIRDRC$", fullNameForSunBirdR);
|
||||
adminTestUtil.writeAutoGeneratedId(testCaseName, "NAME", fullNameForSunBirdR);
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ CreatePolicySunBirdR:
|
||||
"benefits": [{"benefits": "Critical Surgery"}, {"benefits": "Full body checkup"}],
|
||||
"gender": "Male",
|
||||
"mobile": "0123456789",
|
||||
"email": "abhishek@gmail.com"
|
||||
"email": "automation@gmail.com"
|
||||
}'
|
||||
output: '{
|
||||
"status": "SUCCESSFUL"
|
||||
@@ -28,7 +28,7 @@ CreatePolicySunBirdR:
|
||||
InjiWallet_SunBirdR_CreatePolicy_NOAUTH_Valid_Smoke_POLICY2_Sid:
|
||||
endPoint: $SUNBIRDBASEURL$/api/v1/Insurance
|
||||
description: Creating new sunbird policy with valid parameters
|
||||
uniqueIdentifier: TC_InjiWallet_CreatePolicySunBirdR_01
|
||||
uniqueIdentifier: TC_InjiWallet_CreatePolicySunBirdR_02
|
||||
role: resident
|
||||
restMethod: post
|
||||
checkErrorsOnlyInResponse: true
|
||||
@@ -45,7 +45,7 @@ CreatePolicySunBirdR:
|
||||
"benefits": [{"benefits": "Critical Surgery"}, {"benefits": "Full body checkup"}],
|
||||
"gender": "Male",
|
||||
"mobile": "0123456789",
|
||||
"email": "abhishek@gmail.com"
|
||||
"email": "automation@gmail.com"
|
||||
}'
|
||||
output: '{
|
||||
"status": "SUCCESSFUL"
|
||||
@@ -54,7 +54,7 @@ CreatePolicySunBirdR:
|
||||
InjiWallet_SunBirdR_CreatePolicy_NOAUTH_Valid_Smoke_POLICY3_Sid:
|
||||
endPoint: $SUNBIRDBASEURL$/api/v1/Insurance
|
||||
description: Creating new sunbird policy with valid parameters
|
||||
uniqueIdentifier: TC_InjiWallet_CreatePolicySunBirdR_01
|
||||
uniqueIdentifier: TC_InjiWallet_CreatePolicySunBirdR_03
|
||||
role: resident
|
||||
restMethod: post
|
||||
checkErrorsOnlyInResponse: true
|
||||
@@ -71,7 +71,7 @@ CreatePolicySunBirdR:
|
||||
"benefits": [{"benefits": "Critical Surgery"}, {"benefits": "Full body checkup"}],
|
||||
"gender": "Male",
|
||||
"mobile": "0123456789",
|
||||
"email": "abhishek@gmail.com"
|
||||
"email": "automation@gmail.com"
|
||||
}'
|
||||
output: '{
|
||||
"status": "SUCCESSFUL"
|
||||
|
||||
@@ -19,7 +19,7 @@ DeletePolicySunBirdR:
|
||||
InjiWallet_SunBirdR_DeletePolicy_NOAUTH_Valid_Smoke_POLICY2:
|
||||
endPoint: $SUNBIRDBASEURL$/api/v1/Insurance/{insuranceid}
|
||||
description: Deleting Sunbird policy with valid parameters
|
||||
uniqueIdentifier: TC_InjiWallet_DeletePolicySunBirdR_01
|
||||
uniqueIdentifier: TC_InjiWallet_DeletePolicySunBirdR_02
|
||||
role: resident
|
||||
restMethod: delete
|
||||
checkErrorsOnlyInResponse: true
|
||||
@@ -36,7 +36,7 @@ DeletePolicySunBirdR:
|
||||
InjiWallet_SunBirdR_DeletePolicy_NOAUTH_Valid_Smoke_POLICY3:
|
||||
endPoint: $SUNBIRDBASEURL$/api/v1/Insurance/{insuranceid}
|
||||
description: Deleting Sunbird policy with valid parameters
|
||||
uniqueIdentifier: TC_InjiWallet_DeletePolicySunBirdR_01
|
||||
uniqueIdentifier: TC_InjiWallet_DeletePolicySunBirdR_03
|
||||
role: resident
|
||||
restMethod: delete
|
||||
checkErrorsOnlyInResponse: true
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
<!-- need to be tested-->
|
||||
</methods>
|
||||
</class>
|
||||
<class name="inji.testcases.androidTestCases.VcDownloadAndVerifyUsingLandRegistryTest">
|
||||
<!--<class name="inji.testcases.androidTestCases.VcDownloadAndVerifyUsingLandRegistryTest">
|
||||
<methods>
|
||||
<include name="downloadAndVerifyVcUsingUinViaLand"/>
|
||||
<include name="downloadAndVerifyVcUsingUinViaLandStatementCredential"/>
|
||||
@@ -190,7 +190,7 @@
|
||||
<include name="downloadAndVerifyVcUsingUinViaLandStatementVCDM1"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- <class name="inji.testcases.androidTestCases.CredentialRegistryTest">
|
||||
<class name="inji.testcases.androidTestCases.CredentialRegistryTest">
|
||||
<methods>
|
||||
<include name="downloadAndVerifyVcInNewEnv"/>
|
||||
<include name="cancelChangeEnvAndVerify"/>
|
||||
|
||||
Reference in New Issue
Block a user