Best io.appium code snippet using io.appium.java_client.remote.SupportsRotation.rotation
AndroidDriver.java
Source:AndroidDriver.java  
1/*2 * Licensed under the Apache License, Version 2.0 (the "License");3 * you may not use this file except in compliance with the License.4 * See the NOTICE file distributed with this work for additional5 * information regarding copyright ownership.6 * You may obtain a copy of the License at7 *8 *     http://www.apache.org/licenses/LICENSE-2.09 *10 * Unless required by applicable law or agreed to in writing, software11 * distributed under the License is distributed on an "AS IS" BASIS,12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.13 * See the License for the specific language governing permissions and14 * limitations under the License.15 */16package io.appium.java_client.android;17import static io.appium.java_client.android.AndroidMobileCommandHelper.endTestCoverageCommand;18import static io.appium.java_client.android.AndroidMobileCommandHelper.openNotificationsCommand;19import static io.appium.java_client.android.AndroidMobileCommandHelper.toggleLocationServicesCommand;20import static org.openqa.selenium.remote.DriverCommand.EXECUTE_SCRIPT;21import com.google.common.collect.ImmutableMap;22import io.appium.java_client.AppiumDriver;23import io.appium.java_client.CommandExecutionHelper;24import io.appium.java_client.ExecuteCDPCommand;25import io.appium.java_client.HasAppStrings;26import io.appium.java_client.HasDeviceTime;27import io.appium.java_client.HasOnScreenKeyboard;28import io.appium.java_client.HidesKeyboard;29import io.appium.java_client.InteractsWithApps;30import io.appium.java_client.PullsFiles;31import io.appium.java_client.LocksDevice;32import io.appium.java_client.PerformsTouchActions;33import io.appium.java_client.PushesFiles;34import io.appium.java_client.SupportsLegacyAppManagement;35import io.appium.java_client.android.connection.HasNetworkConnection;36import io.appium.java_client.android.geolocation.SupportsExtendedGeolocationCommands;37import io.appium.java_client.android.nativekey.PressesKey;38import io.appium.java_client.battery.HasBattery;39import io.appium.java_client.remote.SupportsContextSwitching;40import io.appium.java_client.remote.SupportsLocation;41import io.appium.java_client.remote.SupportsRotation;42import io.appium.java_client.screenrecording.CanRecordScreen;43import io.appium.java_client.service.local.AppiumDriverLocalService;44import io.appium.java_client.service.local.AppiumServiceBuilder;45import io.appium.java_client.ws.StringWebSocketClient;46import org.openqa.selenium.Capabilities;47import org.openqa.selenium.Platform;48import org.openqa.selenium.remote.HttpCommandExecutor;49import org.openqa.selenium.remote.html5.RemoteLocationContext;50import org.openqa.selenium.remote.http.HttpClient;51import java.net.URL;52import java.util.Collections;53import java.util.Map;54/**55 * Android driver implementation.56 */57public class AndroidDriver extends AppiumDriver implements58        PressesKey,59        SupportsRotation,60        SupportsContextSwitching,61        SupportsLocation,62        PerformsTouchActions,63        HidesKeyboard,64        HasDeviceTime,65        PullsFiles,66        InteractsWithApps,67        SupportsLegacyAppManagement,68        HasAppStrings,69        HasNetworkConnection,70        PushesFiles,71        StartsActivity,72        LocksDevice,73        HasAndroidSettings,74        HasAndroidDeviceDetails,75        HasSupportedPerformanceDataType,76        AuthenticatesByFinger,77        HasOnScreenKeyboard,78        CanRecordScreen,79        SupportsSpecialEmulatorCommands,80        SupportsNetworkStateManagement,81        ListensToLogcatMessages,82        HasAndroidClipboard,83        HasBattery<AndroidBatteryInfo>,84        ExecuteCDPCommand,85        CanReplaceElementValue,86        SupportsExtendedGeolocationCommands {87    private static final String ANDROID_PLATFORM = Platform.ANDROID.name();88    private StringWebSocketClient logcatClient;89    /**90     * Creates a new instance based on command {@code executor} and {@code capabilities}.91     *92     * @param executor is an instance of {@link HttpCommandExecutor}93     *                 or class that extends it. Default commands or another vendor-specific94     *                 commands may be specified there.95     * @param capabilities take a look at {@link Capabilities}96     */97    public AndroidDriver(HttpCommandExecutor executor, Capabilities capabilities) {98        super(executor, ensurePlatformName(capabilities, ANDROID_PLATFORM));99    }100    /**101     * Creates a new instance based on Appium server URL and {@code capabilities}.102     *103     * @param remoteAddress is the address of remotely/locally started Appium server104     * @param capabilities take a look at {@link Capabilities}105     */106    public AndroidDriver(URL remoteAddress, Capabilities capabilities) {107        super(remoteAddress, ensurePlatformName(capabilities, ANDROID_PLATFORM));108    }109    /**110     * Creates a new instance based on Appium server URL, HTTP client factory and {@code capabilities}.111     *112     * @param remoteAddress is the address of remotely/locally started Appium server113     * @param httpClientFactory take a look at {@link HttpClient.Factory}114     * @param capabilities take a look at {@link Capabilities}115     */116    public AndroidDriver(117            URL remoteAddress, HttpClient.Factory httpClientFactory, Capabilities capabilities) {118        super(remoteAddress, httpClientFactory, ensurePlatformName(capabilities, ANDROID_PLATFORM));119    }120    /**121     * Creates a new instance based on Appium driver local service and {@code capabilities}.122     *123     * @param service take a look at {@link AppiumDriverLocalService}124     * @param capabilities take a look at {@link Capabilities}125     */126    public AndroidDriver(AppiumDriverLocalService service, Capabilities capabilities) {127        super(service, ensurePlatformName(capabilities, ANDROID_PLATFORM));128    }129    /**130     * Creates a new instance based on Appium driver local service, HTTP client factory and {@code capabilities}.131     *132     * @param service take a look at {@link AppiumDriverLocalService}133     * @param httpClientFactory take a look at {@link HttpClient.Factory}134     * @param capabilities take a look at {@link Capabilities}135     */136    public AndroidDriver(137            AppiumDriverLocalService service, HttpClient.Factory httpClientFactory, Capabilities capabilities) {138        super(service, httpClientFactory, ensurePlatformName(capabilities, ANDROID_PLATFORM));139    }140    /**141     * Creates a new instance based on Appium service builder and {@code capabilities}.142     *143     * @param builder take a look at {@link AppiumServiceBuilder}144     * @param capabilities take a look at {@link Capabilities}145     */146    public AndroidDriver(AppiumServiceBuilder builder, Capabilities capabilities) {147        super(builder, ensurePlatformName(capabilities, ANDROID_PLATFORM));148    }149    /**150     * Creates a new instance based on Appium service builder, HTTP client factory and {@code capabilities}.151     *152     * @param builder take a look at {@link AppiumServiceBuilder}153     * @param httpClientFactory take a look at {@link HttpClient.Factory}154     * @param capabilities take a look at {@link Capabilities}155     */156    public AndroidDriver(AppiumServiceBuilder builder, HttpClient.Factory httpClientFactory,157        Capabilities capabilities) {158        super(builder, httpClientFactory, ensurePlatformName(capabilities, ANDROID_PLATFORM));159    }160    /**161     * Creates a new instance based on HTTP client factory and {@code capabilities}.162     *163     * @param httpClientFactory take a look at {@link HttpClient.Factory}164     * @param capabilities take a look at {@link Capabilities}165     */166    public AndroidDriver(HttpClient.Factory httpClientFactory, Capabilities capabilities) {167        super(httpClientFactory, ensurePlatformName(capabilities, ANDROID_PLATFORM));168    }169    /**170     * Creates a new instance based on {@code capabilities}.171     *172     * @param capabilities take a look at {@link Capabilities}173     */174    public AndroidDriver(Capabilities capabilities) {175        super(ensurePlatformName(capabilities, ANDROID_PLATFORM));176    }177    /**178     * Get test-coverage data.179     *180     * @param intent intent to broadcast.181     * @param path   path to .ec file.182     */183    public void endTestCoverage(String intent, String path) {184        CommandExecutionHelper.execute(this, endTestCoverageCommand(intent, path));185    }186    /**187     * Open the notification shade, on Android devices.188     */189    public void openNotifications() {190        CommandExecutionHelper.execute(this, openNotificationsCommand());191    }192    public void toggleLocationServices() {193        CommandExecutionHelper.execute(this, toggleLocationServicesCommand());194    }195    @SuppressWarnings("unchecked")196    @Override197    public AndroidBatteryInfo getBatteryInfo() {198        return new AndroidBatteryInfo((Map<String, Object>) execute(EXECUTE_SCRIPT, ImmutableMap.of(199                "script", "mobile: batteryInfo", "args", Collections.emptyList())).getValue());200    }201    @Override202    public RemoteLocationContext getLocationContext() {203        return locationContext;204    }205    @Override206    public synchronized StringWebSocketClient getLogcatClient() {207        if (logcatClient == null) {208            logcatClient = new StringWebSocketClient();209        }210        return logcatClient;211    }212}...IOSDriver.java
Source:IOSDriver.java  
1/*2 * Licensed under the Apache License, Version 2.0 (the "License");3 * you may not use this file except in compliance with the License.4 * See the NOTICE file distributed with this work for additional5 * information regarding copyright ownership.6 * You may obtain a copy of the License at7 *8 *     http://www.apache.org/licenses/LICENSE-2.09 *10 * Unless required by applicable law or agreed to in writing, software11 * distributed under the License is distributed on an "AS IS" BASIS,12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.13 * See the License for the specific language governing permissions and14 * limitations under the License.15 */16package io.appium.java_client.ios;17import static io.appium.java_client.MobileCommand.prepareArguments;18import static org.openqa.selenium.remote.DriverCommand.EXECUTE_SCRIPT;19import com.google.common.collect.ImmutableMap;20import io.appium.java_client.AppiumDriver;21import io.appium.java_client.HasAppStrings;22import io.appium.java_client.HasDeviceTime;23import io.appium.java_client.HasOnScreenKeyboard;24import io.appium.java_client.HidesKeyboard;25import io.appium.java_client.HidesKeyboardWithKeyName;26import io.appium.java_client.InteractsWithApps;27import io.appium.java_client.PullsFiles;28import io.appium.java_client.LocksDevice;29import io.appium.java_client.PerformsTouchActions;30import io.appium.java_client.PushesFiles;31import io.appium.java_client.SupportsLegacyAppManagement;32import io.appium.java_client.battery.HasBattery;33import io.appium.java_client.remote.SupportsContextSwitching;34import io.appium.java_client.remote.SupportsLocation;35import io.appium.java_client.remote.SupportsRotation;36import io.appium.java_client.screenrecording.CanRecordScreen;37import io.appium.java_client.service.local.AppiumDriverLocalService;38import io.appium.java_client.service.local.AppiumServiceBuilder;39import io.appium.java_client.ws.StringWebSocketClient;40import org.openqa.selenium.Alert;41import org.openqa.selenium.Capabilities;42import org.openqa.selenium.Platform;43import org.openqa.selenium.remote.DriverCommand;44import org.openqa.selenium.remote.HttpCommandExecutor;45import org.openqa.selenium.remote.Response;46import org.openqa.selenium.remote.html5.RemoteLocationContext;47import org.openqa.selenium.remote.http.HttpClient;48import java.net.URL;49import java.util.Collections;50import java.util.Map;51/**52 * iOS driver implementation.53 */54public class IOSDriver extends AppiumDriver implements55        SupportsContextSwitching,56        SupportsRotation,57        SupportsLocation,58        HidesKeyboard,59        HasDeviceTime,60        PullsFiles,61        InteractsWithApps,62        SupportsLegacyAppManagement,63        HasAppStrings,64        PerformsTouchActions,65        HidesKeyboardWithKeyName,66        ShakesDevice,67        HasIOSSettings,68        HasOnScreenKeyboard,69        LocksDevice,70        PerformsTouchID,71        PushesFiles,72        CanRecordScreen,73        HasIOSClipboard,74        ListensToSyslogMessages,75        HasBattery<IOSBatteryInfo> {76    private static final String PLATFORM_NAME = Platform.IOS.name();77    private StringWebSocketClient syslogClient;78    /**79     * Creates a new instance based on command {@code executor} and {@code capabilities}.80     *81     * @param executor is an instance of {@link HttpCommandExecutor}82     *                 or class that extends it. Default commands or another vendor-specific83     *                 commands may be specified there.84     * @param capabilities take a look at {@link Capabilities}85     */86    public IOSDriver(HttpCommandExecutor executor, Capabilities capabilities) {87        super(executor, ensurePlatformName(capabilities, PLATFORM_NAME));88    }89    /**90     * Creates a new instance based on Appium server URL and {@code capabilities}.91     *92     * @param remoteAddress is the address of remotely/locally started Appium server93     * @param capabilities take a look at {@link Capabilities}94     */95    public IOSDriver(URL remoteAddress, Capabilities capabilities) {96        super(remoteAddress, ensurePlatformName(capabilities, PLATFORM_NAME));97    }98    /**99     * Creates a new instance based on Appium server URL, HTTP client factory and {@code capabilities}.100     *101     * @param remoteAddress is the address of remotely/locally started Appium server102     * @param httpClientFactory take a look at {@link HttpClient.Factory}103     * @param capabilities take a look at {@link Capabilities}104     */105    public IOSDriver(URL remoteAddress, HttpClient.Factory httpClientFactory,106        Capabilities capabilities) {107        super(remoteAddress, httpClientFactory, ensurePlatformName(capabilities, PLATFORM_NAME));108    }109    /**110     * Creates a new instance based on Appium driver local service and {@code capabilities}.111     *112     * @param service take a look at {@link AppiumDriverLocalService}113     * @param capabilities take a look at {@link Capabilities}114     */115    public IOSDriver(AppiumDriverLocalService service, Capabilities capabilities) {116        super(service, ensurePlatformName(capabilities, PLATFORM_NAME));117    }118    /**119     * Creates a new instance based on Appium driver local service, HTTP client factory and {@code capabilities}.120     *121     * @param service take a look at {@link AppiumDriverLocalService}122     * @param httpClientFactory take a look at {@link HttpClient.Factory}123     * @param capabilities take a look at {@link Capabilities}124     */125    public IOSDriver(AppiumDriverLocalService service, HttpClient.Factory httpClientFactory,126        Capabilities capabilities) {127        super(service, httpClientFactory, ensurePlatformName(capabilities, PLATFORM_NAME));128    }129    /**130     * Creates a new instance based on Appium service builder and {@code capabilities}.131     *132     * @param builder take a look at {@link AppiumServiceBuilder}133     * @param capabilities take a look at {@link Capabilities}134     */135    public IOSDriver(AppiumServiceBuilder builder, Capabilities capabilities) {136        super(builder, ensurePlatformName(capabilities, PLATFORM_NAME));137    }138    /**139     * Creates a new instance based on Appium service builder, HTTP client factory and {@code capabilities}.140     *141     * @param builder take a look at {@link AppiumServiceBuilder}142     * @param httpClientFactory take a look at {@link HttpClient.Factory}143     * @param capabilities take a look at {@link Capabilities}144     */145    public IOSDriver(AppiumServiceBuilder builder, HttpClient.Factory httpClientFactory,146        Capabilities capabilities) {147        super(builder, httpClientFactory, ensurePlatformName(capabilities, PLATFORM_NAME));148    }149    /**150     * Creates a new instance based on HTTP client factory and {@code capabilities}.151     *152     * @param httpClientFactory take a look at {@link HttpClient.Factory}153     * @param capabilities take a look at {@link Capabilities}154     */155    public IOSDriver(HttpClient.Factory httpClientFactory, Capabilities capabilities) {156        super(httpClientFactory, ensurePlatformName(capabilities, PLATFORM_NAME));157    }158    /**159     * Creates a new instance based on {@code capabilities}.160     *161     * @param capabilities take a look at {@link Capabilities}162     */163    public IOSDriver(Capabilities capabilities) {164        super(ensurePlatformName(capabilities, PLATFORM_NAME));165    }166    @Override public TargetLocator switchTo() {167        return new InnerTargetLocator();168    }169    @SuppressWarnings("unchecked")170    @Override171    public IOSBatteryInfo getBatteryInfo() {172        return new IOSBatteryInfo((Map<String, Object>) execute(EXECUTE_SCRIPT, ImmutableMap.of(173                "script", "mobile: batteryInfo", "args", Collections.emptyList())).getValue());174    }175    private class InnerTargetLocator extends RemoteTargetLocator {176        @Override public Alert alert() {177            return new IOSAlert(super.alert());178        }179    }180    class IOSAlert implements Alert {181        private final Alert alert;182        IOSAlert(Alert alert) {183            this.alert = alert;184        }185        @Override public void dismiss() {186            execute(DriverCommand.DISMISS_ALERT);187        }188        @Override public void accept() {189            execute(DriverCommand.ACCEPT_ALERT);190        }191        @Override public String getText() {192            Response response = execute(DriverCommand.GET_ALERT_TEXT);193            return response.getValue().toString();194        }195        @Override public void sendKeys(String keysToSend) {196            execute(DriverCommand.SET_ALERT_VALUE, prepareArguments("value", keysToSend));197        }198    }199    @Override200    public RemoteLocationContext getLocationContext() {201        return locationContext;202    }203    @Override204    public synchronized StringWebSocketClient getSyslogClient() {205        if (syslogClient == null) {206            syslogClient = new StringWebSocketClient();207        }208        return syslogClient;209    }210}...SupportsRotation.java
Source:SupportsRotation.java  
...24import org.openqa.selenium.remote.Response;25import java.util.Map;26public interface SupportsRotation extends WebDriver, ExecutesMethod, Rotatable {27    /**28     * Get device rotation.29     *30     * @return The rotation value.31     */32    default DeviceRotation rotation() {33        Response response = execute(DriverCommand.GET_SCREEN_ROTATION);34        //noinspection unchecked35        return new DeviceRotation((Map<String, Number>) response.getValue());36    }37    default void rotate(DeviceRotation rotation) {38        execute(DriverCommand.SET_SCREEN_ROTATION, rotation.parameters());39    }40    default void rotate(ScreenOrientation orientation) {41        execute(DriverCommand.SET_SCREEN_ORIENTATION,42                ImmutableMap.of("orientation", orientation.value().toUpperCase()));43    }44    /**45     * Get device orientation.46     *47     * @return The orientation value.48     */49    default ScreenOrientation getOrientation() {50        Response response = execute(DriverCommand.GET_SCREEN_ORIENTATION);51        String orientation = String.valueOf(response.getValue());52        return ScreenOrientation.valueOf(orientation.toUpperCase());...CoreTestCase.java
Source:CoreTestCase.java  
1package org.wikiqa.infra;2import com.codeborne.selenide.WebDriverRunner;3import io.appium.java_client.AppiumDriver;4import io.appium.java_client.InteractsWithApps;5import io.appium.java_client.remote.SupportsRotation;6import org.junit.jupiter.api.AfterEach;7import org.junit.jupiter.api.BeforeEach;8import org.junit.jupiter.api.Tag;9import org.openqa.selenium.ScreenOrientation;10import org.wikiqa.pages.WelcomePageObject;11import java.net.MalformedURLException;12import java.time.Duration;13import static java.time.temporal.ChronoUnit.SECONDS;14@Tag("mobile")15public class CoreTestCase {16    private AppiumDriver driver;17    @BeforeEach18    void setUp() throws MalformedURLException {19        driver = Platform.getInstance().getDriver();20        this.rotateScreenPortrait();21        WebDriverRunner.setWebDriver(driver);22        this.skipWelcomePageForIOSApp();23    }24    @AfterEach25    void tearDown() {26        WebDriverRunner.closeWebDriver();27        driver.quit();28    }29    protected void rotateScreenPortrait() {30        ((SupportsRotation) driver).rotate(ScreenOrientation.PORTRAIT);31    }32    protected void rotateScreenLandscape() {33        ((SupportsRotation) driver).rotate(ScreenOrientation.LANDSCAPE);34    }35    protected void backgroundApp(int seconds) {36        ((InteractsWithApps) driver).runAppInBackground(Duration.of(seconds, SECONDS));37    }38    private void skipWelcomePageForIOSApp() {39        if (Platform.getInstance().isIOS()) {40            WelcomePageObject WelcomePageObject = new WelcomePageObject();41            WelcomePageObject.clickSkip();42        }43    }44}...rotation
Using AI Code Generation
1driver.rotate(ScreenOrientation.LANDSCAPE);2driver.rotate(ScreenOrientation.PORTRAIT);3driver.rotate(ScreenOrientation.LANDSCAPE);4driver.rotate(ScreenOrientation.PORTRAIT);5self.driver.rotate(ScreenOrientation.LANDSCAPE)6self.driver.rotate(ScreenOrientation.PORTRAIT)7self.driver.rotate(ScreenOrientation.LANDSCAPE)8self.driver.rotate(ScreenOrientation.PORTRAIT)9driver.rotate(:landscape)10driver.rotate(:portrait)11driver.rotate(:landscape)12driver.rotate(:portrait)13driver.rotate('LANDSCAPE');14driver.rotate('PORTRAIT');15driver.rotate('LANDSCAPE');16driver.rotate('PORTRAIT');17$driver->rotate('LANDSCAPE');18$driver->rotate('PORTRAIT');19$driver->rotate('LANDSCAPE');20$driver->rotate('PORTRAIT');21driver.Rotate(ScreenOrientation.Landscape);22driver.Rotate(ScreenOrientation.Portrait);23driver.Rotate(ScreenOrientation.Landscape);24driver.Rotate(ScreenOrientation.Portrait);25driver.rotate(ScreenOrientation.LANDSCAPE)26driver.rotate(ScreenOrientation.PORTRAIT)27driver.rotate(ScreenOrientation.LANDSCAPE)28driver.rotate(ScreenOrientation.PORTRAIT)rotation
Using AI Code Generation
1driver.rotate(ScreenOrientation.LANDSCAPE);2driver.rotation();3driver.rotate(ScreenOrientation.PORTRAIT);4driver.shake();5driver.openNotifications();6driver.toggleWiFi();7driver.toggleData();8driver.toggleAirplaneMode();9driver.toggleLocationServices();10driver.toggleWiFi();11driver.toggleData();12driver.toggleAirplaneMode();13driver.toggleLocationServices();14driver.pressKeyCode(66);15driver.longPressKeyCode(66);16driver.pushFile("/data/local/tmp/test.txt", "test data");17driver.pullFile("/data/local/tmp/test.txt");rotation
Using AI Code Generation
1AppiumDriver driver = new AppiumDriver();2SupportsRotation rotation = (SupportsRotation) driver;3rotation.rotate(ScreenOrientation.LANDSCAPE);4AppiumDriver driver = new AppiumDriver();5SupportsRotation rotation = (SupportsRotation) driver;6rotation.rotate(ScreenOrientation.PORTRAIT);7AppiumDriver driver = new AppiumDriver();8SupportsRotation rotation = (SupportsRotation) driver;9rotation.getOrientation();10AppiumDriver driver = new AppiumDriver();11SupportsRotation rotation = (SupportsRotation) driver;12rotation.getScreenSize();13AppiumDriver driver = new AppiumDriver();14SupportsRotation rotation = (SupportsRotation) driver;15rotation.getScreenSize();16AppiumDriver driver = new AppiumDriver();17HasTouchScreen touch = (HasTouchScreen) driver;18touch.getTouch().getLocation();rotation
Using AI Code Generation
1SupportsRotation rotation = (SupportsRotation) driver;2rotation.rotate(ScreenOrientation.PORTRAIT);3MobileDriver mobileDriver = (MobileDriver) driver;4mobileDriver.rotate(ScreenOrientation.PORTRAIT);5AndroidDriver androidDriver = (AndroidDriver) driver;6androidDriver.rotate(ScreenOrientation.PORTRAIT);7IOSDriver iosDriver = (IOSDriver) driver;8iosDriver.rotate(ScreenOrientation.PORTRAIT);9AndroidDriver androidDriver = (AndroidDriver) driver;10androidDriver.rotate(ScreenOrientation.PORTRAIT);11IOSDriver iosDriver = (IOSDriver) driver;12iosDriver.rotate(ScreenOrientation.PORTRAIT);13AndroidDriver androidDriver = (AndroidDriver) driver;14androidDriver.rotate(ScreenOrientation.PORTRAIT);15IOSDriver iosDriver = (IOSDriver) driver;16iosDriver.rotate(ScreenOrientation.PORTRAIT);Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
