Skip to content

Commit

Permalink
update Driver =null when test APIs only
Browse files Browse the repository at this point in the history
  • Loading branch information
Abdelrhman-Ellithy committed Jan 2, 2025
1 parent 831cdbe commit de5380f
Show file tree
Hide file tree
Showing 7 changed files with 186 additions and 1,247 deletions.
1,276 changes: 100 additions & 1,176 deletions Test-Output/Logs/Test.log

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Test-Output/UpdateChecker/checker.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"LastRunDate": "2024-12-13"
"LastRunDate": "2025-01-02"
}
24 changes: 12 additions & 12 deletions TestNGRunner.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@
<!-- <class name="Tests.AppiumTest"></class>-->
<!-- </classes>-->
<!-- </test>-->
<test name="Web UI Test Remote Chrome">
<classes>
<class name="Tests.loginTestsRemote"/>
</classes>
</test>
<test name="Web UI Test Chrome">
<classes>
<class name="Tests.loginTests"/>
</classes>
</test>
<!-- <test name="ِDatabase Test">-->
<!-- <test name="Web UI Test Remote Chrome">-->
<!-- <classes>-->
<!-- <class name="Tests.DBTEst"></class>-->
<!-- <class name="Tests.loginTestsRemote"/>-->
<!-- </classes>-->
<!-- </test>-->
<!-- <test name="Web UI Test Chrome">-->
<!-- <classes>-->
<!-- <class name="Tests.loginTests"/>-->
<!-- </classes>-->
<!-- </test>-->
<test name="ِDatabase Test">
<classes>
<class name="Tests.DetailsTests"></class>
</classes>
</test>
</suite>
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

public class ConfigContext {

private static DriverType driverType;
private static DriverType driverType =null;
private static HeadlessMode headlessMode;
private static PageLoadStrategyMode pageLoadStrategy;
private static PrivateMode privateMode;
Expand Down
24 changes: 13 additions & 11 deletions src/main/java/Ellithium/config/managment/GeneralHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -68,17 +68,19 @@ public static void StartRoutine(){
public static List<Parameter> getParameters(){
List<io.qameta.allure.model.Parameter>parameters=new ArrayList<>();
DriverType type=ConfigContext.getDriverType();
parameters.add(new io.qameta.allure.model.Parameter().setName("DriverType").setValue(ConfigContext.getValue(type)));
if(type instanceof LocalDriverType || type instanceof RemoteDriverType){
parameters.add(new io.qameta.allure.model.Parameter().setName("HeadlessMode").setValue(ConfigContext.getValue(ConfigContext.getHeadlessMode())));
parameters.add(new io.qameta.allure.model.Parameter().setName("PageLoadStrategyMode").setValue(ConfigContext.getValue(ConfigContext.getPageLoadStrategy())));
parameters.add(new io.qameta.allure.model.Parameter().setName("PrivateMode").setValue(ConfigContext.getValue(ConfigContext.getPrivateMode())));
parameters.add(new io.qameta.allure.model.Parameter().setName("SandboxMode").setValue(ConfigContext.getValue(ConfigContext.getSandboxMode())));
parameters.add(new io.qameta.allure.model.Parameter().setName("WebSecurityMode").setValue(ConfigContext.getValue(ConfigContext.getWebSecurityMode())));
}
if(type instanceof RemoteDriverType ||type instanceof MobileDriverType){
parameters.add(new io.qameta.allure.model.Parameter().setName("Remote Address").setValue(ConfigContext.getRemoteAddress().toString()));
parameters.add(new io.qameta.allure.model.Parameter().setName("Capabilities").setValue(ConfigContext.getCapabilities().toString()));
if(type!=null){
parameters.add(new io.qameta.allure.model.Parameter().setName("DriverType").setValue(ConfigContext.getValue(type)));
if(type instanceof LocalDriverType || type instanceof RemoteDriverType){
parameters.add(new io.qameta.allure.model.Parameter().setName("HeadlessMode").setValue(ConfigContext.getValue(ConfigContext.getHeadlessMode())));
parameters.add(new io.qameta.allure.model.Parameter().setName("PageLoadStrategyMode").setValue(ConfigContext.getValue(ConfigContext.getPageLoadStrategy())));
parameters.add(new io.qameta.allure.model.Parameter().setName("PrivateMode").setValue(ConfigContext.getValue(ConfigContext.getPrivateMode())));
parameters.add(new io.qameta.allure.model.Parameter().setName("SandboxMode").setValue(ConfigContext.getValue(ConfigContext.getSandboxMode())));
parameters.add(new io.qameta.allure.model.Parameter().setName("WebSecurityMode").setValue(ConfigContext.getValue(ConfigContext.getWebSecurityMode())));
}
if(type instanceof RemoteDriverType ||type instanceof MobileDriverType){
parameters.add(new io.qameta.allure.model.Parameter().setName("Remote Address").setValue(ConfigContext.getRemoteAddress().toString()));
parameters.add(new io.qameta.allure.model.Parameter().setName("Capabilities").setValue(ConfigContext.getCapabilities().toString()));
}
}
return parameters;
}
Expand Down
89 changes: 50 additions & 39 deletions src/main/java/Ellithium/core/driver/DriverFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
import org.openqa.selenium.support.events.EventFiringDecorator;
import java.net.URL;
import java.time.Duration;

import static Ellithium.core.driver.MobileDriverType.IOS;
import static Ellithium.core.reporting.internal.Colors.*;
import static io.appium.java_client.proxy.Helpers.createProxy;

Expand Down Expand Up @@ -119,53 +121,62 @@ public static <T extends RemoteWebDriver> T getNewRemoteDriver(RemoteDriverType
}
@SuppressWarnings("unchecked")
public static <T extends WebDriver> T getCurrentDriver() {
if (ConfigContext.getDriverType().equals(MobileDriverType.Android)) {
return (T) AndroidDriverThread.get();
} else if (ConfigContext.getDriverType().equals(MobileDriverType.IOS)) {
return (T) IOSDriverThread.get();
} else if (ConfigContext.getDriverType().equals(LocalDriverType.Chrome) || ConfigContext.getDriverType().equals(LocalDriverType.Edge) || ConfigContext.getDriverType().equals(LocalDriverType.FireFox) || ConfigContext.getDriverType().equals(LocalDriverType.Safari)) {
return (T) WebDriverThread.get();
} else if (ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Edge) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Safari) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_FireFox) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Chrome)) {
return (T) RemoteWebDriverThreadLocal.get();
var driverType=ConfigContext.getDriverType();
if(driverType!=null){
if (driverType.equals(MobileDriverType.Android)) {
return (T) AndroidDriverThread.get();
} else if (driverType.equals(IOS)) {
return (T) IOSDriverThread.get();
} else if (driverType.equals(LocalDriverType.Chrome) || ConfigContext.getDriverType().equals(LocalDriverType.Edge) || ConfigContext.getDriverType().equals(LocalDriverType.FireFox) || ConfigContext.getDriverType().equals(LocalDriverType.Safari)) {
return (T) WebDriverThread.get();
} else if (driverType.equals(RemoteDriverType.REMOTE_Edge) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Safari) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_FireFox) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Chrome)) {
return (T) RemoteWebDriverThreadLocal.get();
}
}
return null;
}
public static void quitDriver() {
if (ConfigContext.getDriverType().equals(MobileDriverType.Android)) {
AndroidDriver localDriver = AndroidDriverThread.get();
if (localDriver != null) {
localDriver.quit();
}
removeDriver();
} else if (ConfigContext.getDriverType().equals(MobileDriverType.IOS)) {
IOSDriver localDriver = IOSDriverThread.get();
if (localDriver != null) {
localDriver.quit();
}
removeDriver();
} else if (ConfigContext.getDriverType().equals(LocalDriverType.Chrome) || ConfigContext.getDriverType().equals(LocalDriverType.Edge) || ConfigContext.getDriverType().equals(LocalDriverType.FireFox) || ConfigContext.getDriverType().equals(LocalDriverType.Safari)) {
WebDriver localDriver = WebDriverThread.get();
if (localDriver != null) {
localDriver.quit();
}
removeDriver();
} else if (ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Edge) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Safari) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_FireFox) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Chrome)) {
RemoteWebDriver localDriver = RemoteWebDriverThreadLocal.get();
if (localDriver != null) {
localDriver.quit();
var driverType=ConfigContext.getDriverType();
if (driverType!=null){
if (driverType.equals(MobileDriverType.Android)) {
AndroidDriver localDriver = AndroidDriverThread.get();
if (localDriver != null) {
localDriver.quit();
}
removeDriver();
} else if (driverType.equals(IOS)) {
IOSDriver localDriver = IOSDriverThread.get();
if (localDriver != null) {
localDriver.quit();
}
removeDriver();
} else if (driverType.equals(LocalDriverType.Chrome) || ConfigContext.getDriverType().equals(LocalDriverType.Edge) || ConfigContext.getDriverType().equals(LocalDriverType.FireFox) || ConfigContext.getDriverType().equals(LocalDriverType.Safari)) {
WebDriver localDriver = WebDriverThread.get();
if (localDriver != null) {
localDriver.quit();
}
removeDriver();
} else if (driverType.equals(RemoteDriverType.REMOTE_Edge) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Safari) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_FireFox) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Chrome)) {
RemoteWebDriver localDriver = RemoteWebDriverThreadLocal.get();
if (localDriver != null) {
localDriver.quit();
}
removeDriver();
}
removeDriver();
}
}
public static void removeDriver() {
if (ConfigContext.getDriverType().equals(MobileDriverType.Android)) {
AndroidDriverThread.remove();
} else if (ConfigContext.getDriverType().equals(MobileDriverType.IOS)) {
IOSDriverThread.remove();
} else if (ConfigContext.getDriverType().equals(LocalDriverType.Chrome) || ConfigContext.getDriverType().equals(LocalDriverType.Edge) || ConfigContext.getDriverType().equals(LocalDriverType.FireFox) || ConfigContext.getDriverType().equals(LocalDriverType.Safari)) {
WebDriverThread.remove();
} else if (ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Edge) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Safari) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_FireFox) || ConfigContext.getDriverType().equals(RemoteDriverType.REMOTE_Chrome)) {
RemoteWebDriverThreadLocal.remove();
var driverType=ConfigContext.getDriverType();
if(driverType!=null) {
if (driverType.equals(MobileDriverType.Android)) {
AndroidDriverThread.remove();
} else if (driverType.equals(IOS)) {
IOSDriverThread.remove();
} else if (driverType.equals(LocalDriverType.Chrome) || driverType.equals(LocalDriverType.Edge) || driverType.equals(LocalDriverType.FireFox) || driverType.equals(LocalDriverType.Safari)) {
WebDriverThread.remove();
} else if (driverType.equals(RemoteDriverType.REMOTE_Edge) || driverType.equals(RemoteDriverType.REMOTE_Safari) || driverType.equals(RemoteDriverType.REMOTE_FireFox) || driverType.equals(RemoteDriverType.REMOTE_Chrome)) {
RemoteWebDriverThreadLocal.remove();
}
}
}
private static void webSetUp() {
Expand Down
16 changes: 9 additions & 7 deletions src/test/java/Tests/DetailsTests.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
package Tests;

import Ellithium.core.base.NonBDDSetup;
import Ellithium.core.logging.LogLevel;
import Ellithium.core.reporting.Reporter;
import org.testng.annotations.Test;
import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.lessThanOrEqualTo;

public class DetailsTests extends NonBDDSetup {
@Test
public void TestVersion(){
String latest=given().
baseUri("https://api.github.com").and().basePath("repos/Abdelrhman-Ellithy/Ellithium/releases/")
.when().get("latest")
.thenReturn().body().jsonPath().getString("name");
Reporter.log(latest, LogLevel.INFO_GREEN);
given().baseUri("http://movieland.runasp.net/")
.when().get("/api/Movies/Details/50")
.then()
.assertThat()
.statusCode(404)
.contentType("application/json; charset=utf-8")
.time(lessThanOrEqualTo(1000L));
}
}

0 comments on commit de5380f

Please sign in to comment.