Compare commits
10 Commits
1b5be610af
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| de0e64046c | |||
| a0748547de | |||
| b64345a17b | |||
| a0081d6530 | |||
| 62ef80672b | |||
| 508768016e | |||
| 0ea536fcfa | |||
| d3b4d34d72 | |||
| 844f7ff6a3 | |||
| 5e08f69e84 |
@@ -0,0 +1,34 @@
|
||||
name: Gitea Actions Demo
|
||||
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
Explore-Gitea-Actions:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
|
||||
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
|
||||
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
|
||||
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
|
||||
- name: List files in the repository
|
||||
run: |
|
||||
ls ${{ gitea.workspace }}
|
||||
- run: echo "🍏 This job's status is ${{ job.status }}."
|
||||
|
||||
mvnBuild:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: "17"
|
||||
distribution: "temurin"
|
||||
- name: Install Maven
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y maven
|
||||
- run: echo "Starting maven test cases..., this may take a couple minutes."
|
||||
- run: mvn test -P Regression
|
||||
+2
-1
@@ -3,6 +3,7 @@ target/
|
||||
!**/src/main/**/target/
|
||||
!**/src/test/**/target/
|
||||
|
||||
/home/ilyes/SeleniumPractice/testNG_FrameWork/drivers/
|
||||
### IntelliJ IDEA ###
|
||||
.idea/modules.xml
|
||||
.idea/jarRepositories.xml
|
||||
@@ -35,4 +36,4 @@ build/
|
||||
.vscode/
|
||||
|
||||
### Mac OS ###
|
||||
.DS_Store
|
||||
.DS_Store
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="groupsTestNG" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="groups">
|
||||
<value>
|
||||
<list size="1">
|
||||
<item index="0" class="java.lang.String" itemvalue="Smoke" />
|
||||
</list>
|
||||
</value>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
||||
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
@@ -11,10 +11,58 @@
|
||||
<url>http://maven.apache.org</url>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>Regression</id>
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>3.5.0</version>
|
||||
<configuration>
|
||||
<suiteXmlFiles>
|
||||
<suiteXmlFile>testng.xml</suiteXmlFile>
|
||||
</suiteXmlFiles>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>Smoke</id>
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>3.5.0</version>
|
||||
<configuration>
|
||||
<suiteXmlFiles>
|
||||
<suiteXmlFile>testngGroups.xml</suiteXmlFile>
|
||||
</suiteXmlFiles>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<dependencies>
|
||||
<!-- https://mvnrepository.com/artifact/com.aventstack/extentreports -->
|
||||
<dependency>
|
||||
<groupId>com.aventstack</groupId>
|
||||
<artifactId>extentreports</artifactId>
|
||||
<version>5.1.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
|
||||
<groupId>org.testng</groupId>
|
||||
@@ -28,16 +76,17 @@
|
||||
<artifactId>selenium-java</artifactId>
|
||||
<version>4.25.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>3.5.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testng</groupId>
|
||||
<artifactId>testng</artifactId>
|
||||
<version>7.1.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.aventstack</groupId>
|
||||
<artifactId>extentreports</artifactId>
|
||||
<version>4.1.4</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
||||
@@ -0,0 +1,383 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<title>Tests Cases Extent Reports</title>
|
||||
<link rel="apple-touch-icon" href="https://cdn.jsdelivr.net/gh/extent-framework/extent-github-cdn@b00a2d0486596e73dd7326beacf352c639623a0e/commons/img/logo.png">
|
||||
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/extent-framework/extent-github-cdn@b00a2d0486596e73dd7326beacf352c639623a0e/commons/img/logo.png">
|
||||
<link href="https://cdn.jsdelivr.net/gh/extent-framework/extent-github-cdn@74cc0d02f0116d1b5665bd07f6aea22c71033efe/spark/css/spark-style.css" rel="stylesheet" />
|
||||
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
|
||||
<style type="text/css">
|
||||
|
||||
</style></head> <script src="https://cdn.rawgit.com/extent-framework/extent-github-cdn/7cc78ce/spark/js/jsontree.js"></script>
|
||||
<body class="spa -report standard">
|
||||
<div class="app header-dark side-nav-folded">
|
||||
<div class="layout">
|
||||
<div class="header navbar">
|
||||
<div class="header-container">
|
||||
<div class="nav-logo">
|
||||
<a href="index.html">
|
||||
<div class="logo logo-dark" style="background-image: url('https://cdn.rawgit.com/extent-framework/extent-github-cdn/d74480e/commons/img/logo.png')"></div>
|
||||
<div class="logo logo-white" style="background-image: url('https://cdn.rawgit.com/extent-framework/extent-github-cdn/d74480e/commons/img/logo.png')"></div>
|
||||
</a>
|
||||
</div>
|
||||
<ul class="nav-left">
|
||||
<li>
|
||||
<a class="sidenav-fold-toggler" href="javascript:void(0);">
|
||||
<i class="fa fa-bars"></i>
|
||||
</a>
|
||||
<a class="sidenav-expand-toggler" href="javascript:void(0);">
|
||||
<i class="fa fa-bars"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="search-box">
|
||||
<a class="search-toggle" href="javascript:void(0);">
|
||||
<i class="search-icon fa fa-search"></i>
|
||||
<i class="search-icon-close fa fa-close"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="search-input">
|
||||
<input id="search-tests" class="form-control" type="text" placeholder="Type to search...">
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="nav-right">
|
||||
<li class="m-r-10">
|
||||
<a href="#">
|
||||
<span class="badge badge-primary">Extent Reports</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="m-r-10">
|
||||
<a href="#">
|
||||
<span class="badge badge-primary">Sep 26, 2024 04:21:11 AM</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><div class="side-nav side-nav-folded">
|
||||
<div class="side-nav-inner">
|
||||
<ul class="side-nav-menu scrollable">
|
||||
<li class="nav-item dropdown" onclick="toggleView('test-view')">
|
||||
<a id="nav-test" class="dropdown-toggle" href="index.html">
|
||||
<span class="icon-holder">
|
||||
<i class="fa fa-align-left"></i>
|
||||
</span>
|
||||
<span class="title">Tests</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown" onclick="toggleView('dashboard-view')">
|
||||
<a id="nav-dashboard" class="dropdown-toggle" href="dashboard.html">
|
||||
<span class="icon-holder">
|
||||
<i class="fa fa-bar-chart"></i>
|
||||
</span>
|
||||
<span class="title">Dashboard</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div> <div class="page-container">
|
||||
<div class="main-content">
|
||||
<div class="test-wrapper row test-view">
|
||||
<div class="test-list">
|
||||
<div class="test-list-tools">
|
||||
<ul class="tools pull-left">
|
||||
<li>
|
||||
<a href="">
|
||||
<span class="font-size-14">Tests</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tools text-right">
|
||||
<li class="user-profile dropdown dropdown-animated scale-left">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-exclamation-circle"></i>
|
||||
</a>
|
||||
<ul id="status-toggle" class="dropdown-menu dropdown-md p-v-0">
|
||||
|
||||
<a class="dropdown-item" status="fail" href="#"><span>Fail</span><span class="status danger pull-right"></span></a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="dropdown-divider"></div>
|
||||
<a status="clear" class="dropdown-item" href="#"><span>Clear</span><span class="pull-right"><i class="fa fa-close"></i></span></a>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="test-list-wrapper scrollable">
|
||||
<ul class="test-list-item">
|
||||
<li class="test-item" status="fail" test-id="1"
|
||||
author=""
|
||||
tag=""
|
||||
device="">
|
||||
<div class="status-avatar fail-bg">
|
||||
<i class="fa fa-times text-white"></i>
|
||||
</div>
|
||||
<div class="open-test">
|
||||
<div class="test-detail">
|
||||
<p class="name">TestTitle</p>
|
||||
<p class="duration text-sm">0h 0m 0s+4ms</p>
|
||||
<span class="datetime">04:21:13 AM</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="test-contents d-none">
|
||||
<div class="detail-head">
|
||||
<div class="p-v-10 d-inline-block">
|
||||
<div class="info">
|
||||
<h5 class="test-status text-fail">TestTitle</h5>
|
||||
<span class='badge badge-success'>09.26.2024 04:21:13</span>
|
||||
<span class='badge badge-danger'>09.26.2024 04:21:13</span>
|
||||
<span class='badge badge-default'>0h 0m 0s+4ms</span>
|
||||
</div>
|
||||
<div class="m-t-10 m-l-5">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-body mt-4">
|
||||
<table class="table table-sm">
|
||||
<thead><tr>
|
||||
<th class="status-col">Status</th>
|
||||
<th class="timestamp-col">Timestamp</th>
|
||||
<th class="details-col">Details</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr class="event-row">
|
||||
<td><i class="fa fa-times text-fail"></i></td>
|
||||
<td>4:21:13 AM</td>
|
||||
<td>
|
||||
Test fail
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="detail-foot">
|
||||
<ul class="attachments">
|
||||
<a href='data:image/png;base64,user.dir' data-featherlight='image'><span class='label grey badge white-text text-white'>base64-img</span></a>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="test-content scrollable">
|
||||
<div class="test-content-tools">
|
||||
<ul>
|
||||
<li>
|
||||
<a class="back-to-test" href="javascript:void(0)">
|
||||
<i class="fa fa-arrow-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="test-content-detail">
|
||||
<div class="detail-body"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- dashboard -->
|
||||
<div class="container-fluid p-4 dashboard-view">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h6 class="card-title">Tests</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="">
|
||||
<canvas id='parent-analysis' width='115' height='90'></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<div><small data-tooltip='0%'>
|
||||
<b>0</b> tests passed
|
||||
</small>
|
||||
</div>
|
||||
<div>
|
||||
<small data-tooltip='100%'><b>1</b> tests failed,
|
||||
<b>0</b> skipped, <b data-tooltip='0%'>0</b> others
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h6 class="card-title">Log events</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="">
|
||||
<canvas id='events-analysis' width='115' height='90'></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<div><small data-tooltip='0%'><b>0</b> events passed</small></div>
|
||||
<div>
|
||||
<small data-tooltip='100%'><b>1</b> events failed,
|
||||
<b data-tooltip='0%'>0</b> others
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="card">
|
||||
<div class="card-body box-height-150">
|
||||
<div class="media justify-content-between">
|
||||
<div class="card-header">
|
||||
<h6 class="card-title">Tests</h6>
|
||||
<h2 class="font-size-28 font-weight-light mt-3">1</h2>
|
||||
<span class="text-semibold text-success font-size-15">
|
||||
<i class="ti-arrow-up font-size-11"></i>
|
||||
<span>.00%</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="align-self-end">
|
||||
<i class="fa fa-align-left font-size-70 opacity-01"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="card">
|
||||
<div class="card-body box-height-150">
|
||||
<div class="media justify-content-between">
|
||||
<div class="card-header">
|
||||
<h6 class="card-title">Start</h6>
|
||||
<h4 class="font-weight-light mt-4">Sep 26, 2024 04:21:11 AM</h4>
|
||||
<span class="text-semibold text-success font-size-15">
|
||||
</div>
|
||||
<div class="align-self-end">
|
||||
<i class="fa fa-clock-o font-size-70 text-success opacity-01"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="card">
|
||||
<div class="card-body box-height-150">
|
||||
<div class="media justify-content-between">
|
||||
<div class="card-header">
|
||||
<h6 class="card-title">Duration</h6>
|
||||
<h4 class="font-weight-light mt-4">0h 0m 1s+912ms</h4>
|
||||
<span class="text-semibold font-size-15">
|
||||
</div>
|
||||
<div class="align-self-end">
|
||||
<i class="fa fa-clock-o font-size-70 opacity-01"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h6 class="card-title">Timeline</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="">
|
||||
<canvas id="timeline" height="120"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h6 class="card-title">Environment</h6>
|
||||
</div>
|
||||
<div class="table-overflow">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr class="bg-gray">
|
||||
<th>Name</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Tests Done by: </td>
|
||||
<td>Zakaria</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var statusGroup = {
|
||||
parentCount: 1,
|
||||
passParent: 0,
|
||||
failParent: 1,
|
||||
fatalParent: 0,
|
||||
errorParent: 0,
|
||||
warningParent: 0,
|
||||
skipParent: 0,
|
||||
exceptionsParent: 1,
|
||||
childCount: 0,
|
||||
passChild: 0,
|
||||
failChild: 0,
|
||||
fatalChild: 0,
|
||||
errorChild: 0,
|
||||
warningChild: 0,
|
||||
skipChild: 0,
|
||||
infoChild: 0,
|
||||
debugChild: 0,
|
||||
exceptionsChild: 0,
|
||||
grandChildCount: 0,
|
||||
passGrandChild: 0,
|
||||
failGrandChild: 0,
|
||||
fatalGrandChild: 0,
|
||||
errorGrandChild: 0,
|
||||
warningGrandChild: 0,
|
||||
skipGrandChild: 0,
|
||||
infoGrandChild: 0,
|
||||
debugGrandChild: 0,
|
||||
exceptionsGrandChild: 0,
|
||||
eventsCount: 1,
|
||||
passEvents: 0,
|
||||
failEvents: 1,
|
||||
fatalEvents: 0,
|
||||
errorEvents: 0,
|
||||
warningEvents: 0,
|
||||
skipEvents: 0,
|
||||
infoEvents: 0,
|
||||
debugEvents: 0,
|
||||
exceptionsEvents: 0
|
||||
};
|
||||
</script>
|
||||
<script>
|
||||
var timeline = {
|
||||
"TestTitle":0.004
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://cdn.jsdelivr.net/gh/extent-framework/extent-github-cdn@b00a2d0486596e73dd7326beacf352c639623a0e/spark/js/spark-script.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
</script></body>
|
||||
</html>
|
||||
@@ -0,0 +1,2 @@
|
||||
browser="firefox"
|
||||
url="https://zenful.cloud/"
|
||||
@@ -0,0 +1,44 @@
|
||||
package zacksolutions;
|
||||
|
||||
import com.aventstack.extentreports.ExtentReports;
|
||||
import com.aventstack.extentreports.ExtentTest;
|
||||
import com.aventstack.extentreports.reporter.ExtentReporter;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.firefox.FirefoxDriver;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeTest;
|
||||
|
||||
import com.aventstack.extentreports.reporter.ExtentSparkReporter;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class ExtendReports {
|
||||
ExtentReports extent;
|
||||
WebDriver driver;
|
||||
|
||||
@BeforeTest
|
||||
public void ExtentConfig() {
|
||||
String path = System.getProperty("user.dir") + "/reports/index.html";
|
||||
ExtentSparkReporter spark = new ExtentSparkReporter(path);
|
||||
spark.config().setDocumentTitle("Tests Cases Extent Reports");
|
||||
spark.config().setReportName("Extent Reports");
|
||||
extent = new ExtentReports();
|
||||
extent.attachReporter(spark);
|
||||
extent.setSystemInfo("Tests Done by: ", "Zakaria");
|
||||
|
||||
// Initialize WebDriver
|
||||
System.setProperty("webdriver.gecko.driver", "/home/ilyes/SeleniumPractice/testNG_FrameWork/drivers/geckodriver");
|
||||
driver = new FirefoxDriver();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getTitle() {
|
||||
ExtentTest test = extent.createTest("TestTitle");
|
||||
String title = driver.getTitle();
|
||||
System.out.println(title);
|
||||
System.out.println("Page Title: " + title);
|
||||
test.fail("Test fail");
|
||||
test.addScreenCaptureFromBase64String("user.dir");
|
||||
extent.flush();
|
||||
driver.close();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package zacksolutions;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Properties;
|
||||
|
||||
public class GlobalValues {
|
||||
public static void main(String[] args) throws IOException {
|
||||
Properties pro = new Properties();
|
||||
FileInputStream fis = new FileInputStream("/home/ilyes/SeleniumPractice/testNG_FrameWork/src/data.properties");
|
||||
pro.load(fis);
|
||||
System.out.println(pro.getProperty("url"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package zacksolutions;
|
||||
|
||||
import org.testng.annotations.BeforeTest;
|
||||
import org.testng.annotations.Parameters;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class HomePageTest {
|
||||
|
||||
@Parameters({ "URL" })
|
||||
@Test(groups = { "Smoke" })
|
||||
public static void testCaseSixteen(String urllink) {
|
||||
System.out.println("Debug the sixteenth case");
|
||||
System.out.println(urllink);
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseSeventeen() {
|
||||
System.out.println("Debug the seventeenth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseEighteen() {
|
||||
System.out.println("Debug the eighteenth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseNineteen() {
|
||||
System.out.println("Debug the nineteenth case");
|
||||
}
|
||||
|
||||
@BeforeTest
|
||||
public static void testCaseTwenty() {
|
||||
System.out.println("Debug the twentieth case ### BEFORE TEST");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package zacksolutions;
|
||||
|
||||
|
||||
import org.testng.ITestContext;
|
||||
import org.testng.ITestListener;
|
||||
import org.testng.ITestResult;
|
||||
|
||||
/**
|
||||
* Listeners
|
||||
*/
|
||||
public class Listeners implements ITestListener {
|
||||
|
||||
@Override
|
||||
public void onTestStart(ITestResult result) {
|
||||
ITestListener.super.onTestStart(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestSuccess(ITestResult result) {
|
||||
ITestListener.super.onTestSuccess(result);
|
||||
System.out.println("MSG from Listeners Class");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestFailure(ITestResult result) {
|
||||
ITestListener.super.onTestFailure(result);
|
||||
System.out.println("This test was purposlly set to fail for testing reasons " + result.getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestSkipped(ITestResult result) {
|
||||
ITestListener.super.onTestSkipped(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestFailedButWithinSuccessPercentage(ITestResult result) {
|
||||
ITestListener.super.onTestFailedButWithinSuccessPercentage(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestFailedWithTimeout(ITestResult result) {
|
||||
ITestListener.super.onTestFailedWithTimeout(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinish(ITestContext context) {
|
||||
ITestListener.super.onFinish(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart(ITestContext context) {
|
||||
ITestListener.super.onStart(context);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package zacksolutions;
|
||||
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class LoginPageTest {
|
||||
@Test
|
||||
public static void testCaseEleven() {
|
||||
System.out.println("Debug the eleventh case");
|
||||
}
|
||||
|
||||
@Test(groups = { "Smoke" })
|
||||
public static void testCaseTwelve() {
|
||||
System.out.println("Debug the twelfth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseThirteen() {
|
||||
System.out.println("Debug the thirteenth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseFourteen() {
|
||||
System.out.println("Debug the fourteenth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseFifteen() {
|
||||
System.out.println("Debug the fifteenth case");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package zacksolutions;
|
||||
|
||||
import org.testng.annotations.AfterTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class NGClassTest {
|
||||
@AfterTest
|
||||
public static void testCaseOne() {
|
||||
System.out.println("Debug the firtst case ### AFTER TEST ###");
|
||||
}
|
||||
|
||||
@Test(groups = { "Smoke" })
|
||||
public void testCaseTwo() {
|
||||
System.out.println("Debugging the second case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseThree() {
|
||||
System.out.println("Debug the third case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseFour() {
|
||||
System.out.println("Debuging the fourth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseFive() {
|
||||
System.out.println("Debug the fifth case");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package zacksolutions;
|
||||
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class NGDiffClassTest {
|
||||
@Test
|
||||
public void testCaseSix() {
|
||||
System.out.println("Debug the sixteenth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseSeven() {
|
||||
System.out.println("Debug the seventh case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseEight() {
|
||||
System.out.println("Debug the eighth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseNine() {
|
||||
System.out.println("Debug the ninth case");
|
||||
}
|
||||
|
||||
@Test(groups = { "Smoke" })
|
||||
public static void testCaseTen() {
|
||||
System.out.println("Debug the tenth case");
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
package zacksolutions;
|
||||
|
||||
import org.testng.annotations.BeforeTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class TestHomePage {
|
||||
|
||||
@Test
|
||||
public static void testCaseSixteen() {
|
||||
System.out.println("Debug the sixteenth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseSeventeen() {
|
||||
System.out.println("Debug the seventeenth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseEighteen() {
|
||||
System.out.println("Debug the eighteenth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseNineteen() {
|
||||
System.out.println("Debug the nineteenth case");
|
||||
}
|
||||
|
||||
@BeforeTest
|
||||
public static void testCaseTwenty() {
|
||||
System.out.println("Debug the twentieth case ### BEFORE TEST");
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
package zacksolutions;
|
||||
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class TestLoginPage {
|
||||
@Test
|
||||
public static void testCaseEleven() {
|
||||
System.out.println("Debug the eleventh case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseTwelve() {
|
||||
System.out.println("Debug the twelfth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseThirteen() {
|
||||
System.out.println("Debug the thirteenth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseFourteen() {
|
||||
System.out.println("Debug the fourteenth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseFifteen() {
|
||||
System.out.println("Debug the fifteenth case");
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
package zacksolutions;
|
||||
|
||||
import org.testng.annotations.AfterTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class TestNGClass {
|
||||
@AfterTest
|
||||
public static void testCaseOne(){
|
||||
System.out.println("Debug the firtst case ### AFTER TEST ###");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCaseTwo(){
|
||||
System.out.println("Debugging the second case");
|
||||
}
|
||||
@Test
|
||||
public static void testCaseThree() {
|
||||
System.out.println("Debug the third case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseFour() {
|
||||
System.out.println("Debug the fourth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseFive() {
|
||||
System.out.println("Debug the fifth case");
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
package zacksolutions;
|
||||
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class TestNGDiffClass {
|
||||
@Test
|
||||
public void testCaseSix(){
|
||||
System.out.println("Debug the sixteenth case");
|
||||
}
|
||||
@Test
|
||||
public static void testCaseSeven() {
|
||||
System.out.println("Debug the seventh case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseEight() {
|
||||
System.out.println("Debug the eighth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseNine() {
|
||||
System.out.println("Debug the ninth case");
|
||||
}
|
||||
|
||||
@Test
|
||||
public static void testCaseTen() {
|
||||
System.out.println("Debug the tenth case");
|
||||
}
|
||||
}
|
||||
+8
-5
@@ -3,18 +3,21 @@
|
||||
<suite name="All Test Suite">
|
||||
<test verbose="2" preserve-order="true" name="/home/ilyes/LearnSelenium/testNG_FrameWork">
|
||||
<classes>
|
||||
<class name="zacksolutions.TestNGDiffClass">
|
||||
<class name="zacksolutions.NGDiffClassTest">
|
||||
</class>
|
||||
<class name="zacksolutions.TestHomePage">
|
||||
<class name="zacksolutions.HomePageTest">
|
||||
<methods>
|
||||
<exclude name="testCaseSixteen"></exclude>
|
||||
</methods>
|
||||
</class>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="DiffTest">
|
||||
<classes>
|
||||
<class name="zacksolutions.TestNGClass">
|
||||
<class name="zacksolutions.NGClassTest">
|
||||
</class>
|
||||
<class name="zacksolutions.TestLoginPage">
|
||||
<class name="zacksolutions.LoginPageTest">
|
||||
</class>
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
||||
</suite>
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
|
||||
<suite name="All Test Suite">
|
||||
<listeners>
|
||||
<listener class-name="zacksolutions.Listeners"></listener>
|
||||
</listeners>
|
||||
<parameter name="URL" value="https://gitea.zacksolutions.dev"/>
|
||||
<test name="RegressionTest">
|
||||
<groups>
|
||||
<run>
|
||||
<include name="Smoke"/>
|
||||
</run>
|
||||
</groups>
|
||||
<classes>
|
||||
<class name="zacksolutions.NGDiffClassTest">
|
||||
</class>
|
||||
<class name="zacksolutions.HomePageTest">
|
||||
</class>
|
||||
<class name="zacksolutions.NGClassTest">
|
||||
</class>
|
||||
<class name="zacksolutions.LoginPageTest">
|
||||
</class>
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
||||
Reference in New Issue
Block a user