Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
20d4e66
added prefromance caps
lambdapro Mar 10, 2022
1e5922f
Network, Console and Throttling
ltamit Mar 10, 2022
5c56594
network, throttling and logs
ltamit Mar 14, 2022
73be282
cypress demo added
mayank2193 Mar 15, 2022
7d44942
README.md modified
mayank2193 Mar 15, 2022
444c22f
Logs and Video enabled
ltamit Mar 15, 2022
ab55715
Merge branch 'main' into amit
ltamit Mar 15, 2022
d11adf4
Merge pull request #2 from lambdapro/amit
ltamit Mar 15, 2022
2adb068
First commit to Deeksha
DeeLambdaTest Mar 17, 2022
a3766c4
Added AppUpload classes
DeeLambdaTest Mar 17, 2022
90b58e7
Merge pull request #4 from lambdapro/mayank
lambdapro Mar 17, 2022
2e5de5b
Update .gitpod.yml
lambdapro Mar 17, 2022
293c4fb
Update .gitpod.yml
lambdapro Mar 17, 2022
a3d6c93
Update .gitpod.yml
lambdapro Mar 17, 2022
5e5360b
Update TestNGTodo2.java
lambdapro Mar 17, 2022
c4ca4b6
Merge pull request #5 from lambdapro/Deeksha
lambdapro Mar 18, 2022
0bbb700
converting basic auth
mayank2193 Mar 19, 2022
c065d0d
Merge pull request #6 from lambdapro/mayank
lambdapro Mar 25, 2022
c506ace
changes in uploading app class
mayank2193 Mar 31, 2022
4ba12e8
Update AppUploadAndroid.java
lambdapro Mar 31, 2022
7fe5070
Update Android2.java
lambdapro Mar 31, 2022
8648a07
Update Android1.java
lambdapro Mar 31, 2022
e95c9f6
Update AppUploadAndroid.java
lambdapro Mar 31, 2022
16ade08
Update Android2.java
lambdapro Mar 31, 2022
73978cb
Update Android1.java
lambdapro Mar 31, 2022
583e85f
Update AppUpload.java
lambdapro Mar 31, 2022
a9300e1
Update iOS1.java
lambdapro Mar 31, 2022
7dfeb58
Update iOS2.java
lambdapro Mar 31, 2022
80a49cb
Update iOS1.java
lambdapro Mar 31, 2022
2604be1
Update iOS2.java
lambdapro Mar 31, 2022
e72d125
Update iOS1.java
lambdapro Mar 31, 2022
ac13b16
Update iOS2.java
lambdapro Mar 31, 2022
248e71b
Update TestNGTodo3.java
lambdapro Mar 31, 2022
71eb628
resolving conflict
mayank2193 Apr 1, 2022
95c022a
in sync with main
mayank2193 Apr 1, 2022
6d56609
JS executor added
mayank2193 Apr 1, 2022
29607b3
adding visual UI code
mayank2193 Apr 5, 2022
c1b6dc3
Merge pull request #8 from lambdapro/mayank
mayank2193 Apr 5, 2022
c7cd02d
Update README.md
mayank2193 Apr 6, 2022
6d1e6ef
Update README.md
mayank2193 Apr 11, 2022
140bd24
Update package.json
lambdapro May 31, 2022
87099f4
adding playwright code
mayank2193 Jul 11, 2022
7f2577f
Update package.json
lambdapro Aug 18, 2022
b61c3f8
Update .gitpod.yml
lambdapro Aug 18, 2022
97139d1
Update .gitpod.yml
lambdapro Aug 18, 2022
2941b2a
Update .gitpod.yml
lambdapro Aug 18, 2022
a283b50
Update .gitpod.yml
lambdapro Aug 23, 2022
1ad42cf
Add files via upload
lambdapro Aug 26, 2022
a2bad07
Update package.json
lambdapro Sep 16, 2022
bdf3c9c
updating upload code
mayank2193 Dec 9, 2022
00cfc24
updated mobile browser web class
mayank2193 Dec 16, 2022
6e5e095
Update Android2.java
lambdapro Feb 17, 2023
9681692
Update Android1.java
lambdapro Mar 23, 2023
711dcdc
Update Android2.java
lambdapro Mar 23, 2023
4ef1a7b
Set up CI with Azure Pipelines
lambdapro May 8, 2023
bc1f776
Set up CI with Azure Pipelines
lambdapro May 8, 2023
4d65bc7
Update azure-pipelines-1.yml for Azure Pipelines
lambdapro May 8, 2023
ade11b1
Set up CI with Azure Pipelines
lambdapro May 8, 2023
c03a765
fixed playwright single and paralle tests
MohammedKamle May 12, 2023
f651fef
Merge pull request #9 from MohammedKamle/playwright-fix
mayank2193 May 12, 2023
a7ea467
revamped native app automation code
MohammedKamle Jul 27, 2023
4cf6e96
Merge pull request #10 from MohammedKamle/Android1-changes
mayank2193 Jul 28, 2023
213a489
handled app upload
MohammedKamle Aug 16, 2023
a824a1a
increased time post app upload
MohammedKamle Aug 16, 2023
4d660ee
increased time post app upload to 1 min
MohammedKamle Aug 16, 2023
0152a2f
imrpved logging
MohammedKamle Aug 16, 2023
237e343
fixed smartUI
MohammedKamle Oct 23, 2023
c1d6158
updated readme
MohammedKamle Oct 23, 2023
b1f89d6
Merge pull request #14 from MohammedKamle/smartui-fix
mayank2193 Oct 23, 2023
bd4c4c8
Merge pull request #13 from MohammedKamle/develop
mayank2193 Nov 9, 2023
c365a36
Update TestNGTodo2.java
lambdapro Dec 16, 2024
2e3379d
Add files via upload
lambdapro Dec 19, 2024
791add2
Add files via upload
lambdapro Dec 19, 2024
c7721a4
Update README.md
lambdapro Dec 19, 2024
a7841bd
Update README.md
lambdapro Dec 19, 2024
20449b2
Add files via upload
lambdapro Dec 19, 2024
3b4f68d
Add files via upload
lambdapro Dec 19, 2024
fe91e6c
Update README.md
lambdapro Dec 19, 2024
ce22353
hy
lambdapro Dec 19, 2024
ae69fd9
Add files via upload
lambdapro Jan 2, 2025
e449577
Update README.md
lambdapro Jan 2, 2025
2f0034b
Add files via upload
lambdapro Jan 2, 2025
3b4112c
Update TestNGAccessibilty.java
lambdapro Jan 2, 2025
4b55aeb
Create test.yml
MohammedKamle Apr 10, 2025
2a7f052
Merge pull request #1 from MohammedKamle/MohammedKamle-patch-1
MohammedKamle Apr 10, 2025
8257734
Update test.yml
MohammedKamle Apr 10, 2025
4fdc8e3
Update test.yml
MohammedKamle Apr 10, 2025
6fe4f03
Update test.yml
MohammedKamle Apr 10, 2025
ad33e84
Update test.yml
MohammedKamle Apr 10, 2025
5ad7770
Update test.yml
MohammedKamle Apr 10, 2025
ecaab55
Update TestNGTodo3.java
MohammedKamle Apr 10, 2025
cfe5994
Update TestNGTodo1.java
MohammedKamle Apr 10, 2025
c7a22fc
Update TestNGTodo2.java
MohammedKamle Apr 10, 2025
7437598
chnages
MohammedKamle Apr 10, 2025
0c2b33f
changes made
MohammedKamle Apr 10, 2025
3ee12be
changes in mobile browser
MohammedKamle Apr 10, 2025
6055a12
ios app changes
MohammedKamle Apr 10, 2025
55c4060
Update test.yml
MohammedKamle Apr 10, 2025
4c89b05
Update test.yml
MohammedKamle Apr 10, 2025
f1dd26a
Update test.yml
MohammedKamle Apr 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Run Tests

on:
workflow_dispatch:
inputs:
test_type:
description: 'Choose the type of test to run'
required: true
type: choice
options:
- Web Browser Automation (Single)
- Web Browser Automation (Parallel)
- Mobile Browser Automation (Single)
- Android App Automation (Single)
- Android App Automation (Parallel)
- iOS App Automation (Single)
- iOS App Automation (Parallel)

jobs:
run_tests:
runs-on: ubuntu-latest

env:
LT_USERNAME: ${{ secrets.LT_USERNAME}}
LT_ACCESS_KEY: ${{ secrets.LT_ACCESS_KEY}}


steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Java for Maven tests
uses: actions/setup-java@v4
with:
java-version: '11'
distribution: 'temurin' # Use 'temurin' for Eclipse Temurin
cache: 'maven' # Enable caching for Maven dependencies

- name: Set up Node.js for Playwright and Cypress
uses: actions/setup-node@v3
with:
node-version: '16'

- name: Run the selected test
run: |
case "${{ github.event.inputs.test_type }}" in
"Web Browser Automation (Single)")
mvn test -D suite=single.xml
;;
"Web Browser Automation (Parallel)")
mvn test -D suite=parallel.xml
;;
"Mobile Browser Automation (Single)")
mvn test -D suite=mobile.xml
;;
"Android App Automation (Single)")
mvn test -D suite=android_single.xml
;;
"Android App Automation (Parallel)")
mvn test -D suite=android_parallel.xml
;;
"iOS App Automation (Single)")
mvn test -D suite=iOS_single.xml
;;
"iOS App Automation (Parallel)")
mvn test -D suite=iOS_parallel.xml
;;
*)
echo "Invalid option selected"
exit 1
;;
esac
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,9 @@
.project
.settings
.theia
.DS_Store
node_modules/
package-lock.json
log/
cypress/screenshots/
cypress/videos/
8 changes: 6 additions & 2 deletions .gitpod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,9 @@ ports:

# List the start up tasks. You can start them in parallel in multiple terminals. See https://www.gitpod.io/docs/config-start-tasks/
tasks:
- init: mvn install -Dsuite=parallel.xml # runs during prebuild
command: echo 'Please check your test on https://automation.lambdatest.com/'
- before: npm install
init: mvn install
command: npm install
- name: Results
init: npm test
command: node /workspace/LambdaTest_Demo/node_modules/@lambdatest/node-fetch-sessions/index.js
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"standard.enable": false,
"eslint.enable": true,
"typescript.surveys.enabled": false,
"editor.formatOnSave": false
}
117 changes: 58 additions & 59 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,59 +1,58 @@
# Java TestNG Selenium & Appium

### Environment Setup

1. Global Dependencies
* Install [Maven](https://maven.apache.org/install.html)
* Or Install Maven with [Homebrew](http://brew.sh/) (Easier)
```
$ mvn install
```
2. Project Dependencies
* checkout the repository
* Check that packages are available
```
$ cd Java_TestNG_Web-App
```
* You may also want to run the command below to check for outdated dependencies. Please be sure to verify and review updates before editing your pom.xml file as they may not be compatible with your code.
```
$ mvn versions:display-dependency-updates
```

**LambdaTest Authentication Credentials:** Make sure you have your LambdaTest credentials with you to run test automation scripts with Jest on LambdaTest Selenium Grid. You can obtain these credentials from the [LambdaTest Automation Dashboard](https://automation.lambdatest.com/) or through [LambdaTest Profile](https://accounts.lambdatest.com/detail/profile).

Set LambdaTest Username and Access Key in environment variables.

* For Linux/macOS:
`export LT_USERNAME="YOUR_USERNAME"
export LT_ACCESS_KEY="YOUR ACCESS KEY"`

* For Windows:
`set LT_USERNAME="YOUR_USERNAME"
set LT_ACCESS_KEY="YOUR ACCESS KEY"`

### Running Tests

```
To run single test (Web Browser Automation)
$ mvn test -D suite=single.xml

To run parallel test (Web Browser Automation)
$ mvn test -D suite=parallel.xml

To run single test (Android App Automation)
$ mvn test -D suite=android_single.xml

To run single test (Android App Automation)
$ mvn test -D suite=android_parallel.xml

To run single test (iOS App Automation)
$ mvn test -D suite=iOS_single.xml

To run single test (iOS App Automation)
$ mvn test -D suite=iOS_parallel.xml

```
## About LambdaTest

[LambdaTest](https://www.lambdatest.com/) is a cloud based selenium grid infrastructure that can help you run automated cross browser compatibility tests on 2000+ different browser and operating system environments. LambdaTest supports all programming languages and frameworks that are supported with Selenium, and have easy integrations with all popular CI/CD platforms. It's a perfect solution to bring your [selenium automation testing](https://www.lambdatest.com/selenium-automation) to cloud based infrastructure that not only helps you increase your test coverage over multiple desktop and mobile browsers, but also allows you to cut down your test execution time by running tests on parallel.


```
To run single test (Web Browser Automation) use below command
mvn test -D suite=single.xml

To run single test (Mobile Browser Automation) use below command
mvn test -D suite=mobile.xml

To run accesiility test (Web Browser Automation) use below command
mvn test -D suite=accessibility.xml

To run parallel test (Web Browser Automation) use below command
mvn test -D suite=parallel.xml

To run single test (Android App Automation) use below command
mvn test -D suite=android_single.xml

To run single test (Android App Automation) use below command
mvn test -D suite=android_parallel.xml

To run single test (iOS App Automation) use below command
mvn test -D suite=iOS_single.xml

To run single test (iOS App Automation) use below command
mvn test -D suite=iOS_parallel.xml

To run Cypress Test use below command
npm test

To run playwright Test - Single Thread
node playwright_single.js

To run playwright Test - Parallel 3 Thread's
node playwright_parallel.js

```

### Visual UI Tests with Selenium

Navigate to https://smartui.lambdatest.com/projects

1. Run command ``` mvn test -D suite=visual_baseline.xml -Denv.project=<NAME_OF_THE_CUSTOMER> ```
2. run command ``` mvn test -D suite=visualchangebuild.xml -Denv.project=<NAME_OF_THE_CUSTOMER> ```

Runs will be reflected in the smartUI dashboard with the same project name as passed in maven commands((NAME_OF_THE_CUSTOMER) ) above

### Run test with Hyperexecute


1. Run function test ``` ./hyperexecute --config testng_hyperexecute_autosplit_sample.yaml --download-artifacts --force-clean-artifacts --user <username> --key <accesskey> ```
2. Run jmeter test ``` ./hyperexecute --config jmeter.yaml --download-artifacts --force-clean-artifacts --user <username> --key <accesskey> ```

Runs will be reflected in the Hyperexecute dashboard here https://hyperexecute.lambdatest.com/hyperexecute/jobs





Loading