Free tools Windows power users keep installed
One-click scans. No signup required.
Use a Maven Java project in Eclipse, add TestNG and Selenium as dependencies, then run a TestNG-annotated test from Eclipse or Maven. For modern Selenium releases, you can usually start without downloading a browser driver manually: Selenium Manager can discover and obtain a suitable driver when one is not supplied.
What you need, and what each part does
- Java: the runtime and development kit for your project. Use a version supported by the Selenium and TestNG releases you select.
- Eclipse: the IDE in which you will create and launch the project.
- Maven: dependency management, so library versions and test scope are declared in the project rather than assembled manually. See TestNG’s Maven guidance and Selenium’s Java library installation guide.
- TestNG: the test framework, providing annotations, test execution, and results.
- Selenium WebDriver: the browser automation library that opens and controls a browser.
- A browser: for the example below, Google Chrome. Install it before running the test.
The TestNG Eclipse plugin is separate from the TestNG project dependency: the plugin adds IDE features, while the dependency makes TestNG available to your test code.
Install the TestNG plugin in Eclipse
- In Eclipse, open Help → Eclipse Marketplace…, search for TestNG, and install the TestNG for Eclipse plugin; or use Help → Install New Software… with the official update site https://testng.org/testng-eclipse-update-site.
- Complete the installation and restart Eclipse when prompted.
TestNG’s installation guidance lists Eclipse 4.2 or newer and, for plugin version 7.8.0 and newer, Java 11 or newer as plugin requirements. Those are plugin-specific minimums, not a compatibility guarantee for every combination of Selenium, TestNG, Java, and browser. Check the requirements for the releases you choose. See TestNG’s Eclipse plugin documentation.
Create a Maven project and add dependencies
- In Eclipse, choose File → New → Maven Project. If the Maven project wizard is not available, install or enable Eclipse’s Maven integration.
- Choose a workspace location and select a suitable archetype, or create a simple project without an archetype. Give the project a group ID and artifact ID.
- Open the project’s
pom.xmland add TestNG with test scope and Selenium’s Java library. The following is a dependency template; replace the version values with releases compatible with your Java runtime and with each other.
<properties>
<maven.compiler.release>17</maven.compiler.release>
<testng.version>REPLACE_WITH_COMPATIBLE_TESTNG_VERSION</testng.version>
<selenium.version>REPLACE_WITH_COMPATIBLE_SELENIUM_VERSION</selenium.version>
</properties>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
</dependency>
</dependencies>
The compiler release value must match a JDK installed and configured for the project; it is an example, not a universal minimum. TestNG’s Maven page and Selenium’s installation page show how to declare the respective libraries. Avoid copying version numbers from old tutorials: choose current releases from the projects’ official guidance and verify their Java requirements.
Recommended Free Tools
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
- Save the POM. In Eclipse, right-click the project and choose Maven → Update Project… if Eclipse has not resolved the dependencies automatically. Wait for Maven to finish downloading libraries.
- Confirm that the project has a test source folder, commonly
src/test/java. In a basic Maven layout, create the package and test class there.
The Eclipse plugin can also create a class from File → New → Other… → TestNG → TestNG Class (the exact wizard listing can vary by Eclipse installation). It can optionally create a testng.xml suite file.
Write a runnable Selenium TestNG test
Create src/test/java/example/GoogleTitleTest.java, adjusting the package declaration to match your project. This test starts Chrome, opens a page, checks its title, and closes the WebDriver session even if the assertion fails.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
package example;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class GoogleTitleTest {
private WebDriver driver;
@BeforeMethod
public void startBrowser() {
driver = new ChromeDriver();
}
@Test
public void pageHasExpectedTitle() {
driver.get("https://www.google.com/");
Assert.assertTrue(
driver.getTitle().toLowerCase().contains("google"),
"The page title should contain Google"
);
}
@AfterMethod(alwaysRun = true)
public void closeBrowser() {
if (driver != null) {
driver.quit();
}
}
}
@Test marks the test method; the setup and cleanup annotations run around it. driver.get navigates to the URL, and the TestNG assertion reports a failure if the expected condition is not met. Replace the example URL and assertion with the behavior your application needs to verify. Always call quit() after a test session so browser and driver processes are not left running.
Run the test in Eclipse
Launch one test class
- In Package Explorer, right-click
GoogleTitleTest.java. - Choose Run As → TestNG Test.
- Watch the TestNG results view and Console for the result, assertion details, or startup errors.
Launch a method, group, or suite
The TestNG plugin supports launching an individual method, a class, groups, or a testng.xml suite. Right-click the relevant target and use the available TestNG run command. For repeatable settings, open Run → Run Configurations…, select a TestNG configuration, and set its target and any required options. The plugin’s wizard, launch configurations, and results view are described in the official Eclipse plugin documentation.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
Run the same project through Maven
From a terminal in the directory containing pom.xml, run:
mvn test
TestNG recommends integrating Maven execution with Surefire; see its Maven instructions for configuration details. A plain mvn test works when the project and test execution configuration are set up for discovery. If the test runs in Eclipse but not Maven, or vice versa, check the Surefire configuration, suite XML, selected JDK, system properties, and environment variables. IDE launch settings do not automatically mean Maven uses identical settings.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
| Run method | Useful when | What to verify |
|---|---|---|
| Eclipse TestNG launch | You are iterating on one class, method, group, or suite and want IDE results. | Confirm the chosen TestNG launch target and any IDE-specific JVM or environment settings. |
| Maven/Surefire | You want execution driven by the project build configuration, such as a local build or automated build. | Confirm Surefire and TestNG suite configuration, Maven’s selected JDK, and passed properties or environment. |
Do you need to download ChromeDriver yourself?
Usually not when using a modern Selenium release. Selenium Manager is included with Selenium and is invoked by the bindings as a fallback when no driver has been supplied. It can discover, download, and cache a suitable driver. You still need the browser installed, and Selenium Manager must be able to reach the metadata and download endpoints it needs. Network restrictions or a controlled environment that pins browser and driver versions may require explicit driver configuration. See Selenium Manager documentation.
If your environment requires a manually managed driver, place the correct executable on the system PATH or configure the appropriate Selenium Service with its executable path. Use this as a deliberate environment choice or troubleshooting step, rather than assuming every new project needs a manual driver download.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Troubleshooting common setup failures
“TestNG” is missing from Run As
- Check that the Eclipse TestNG plugin installed successfully and restart Eclipse.
- Check that the project also declares the TestNG Maven dependency; installing the IDE plugin alone does not add TestNG to the project classpath.
- Run Maven → Update Project… and confirm the class is under the test source tree.
No tests are discovered
- Make sure the method has the TestNG
@Testannotation and uses TestNG imports, not annotations from another test framework. - Ensure the class is in the project’s test source folder, such as
src/test/java. - If running a suite, inspect
testng.xmlfor the correct package, class, method, or group selection.
Maven cannot resolve dependencies
- Check the POM for misspelled group IDs, artifact IDs, or version properties.
- Ensure Maven can access its repositories through your network or proxy, then update the project and retry.
- Confirm that your selected versions support the configured Java release; the plugin’s Java minimum does not establish the runtime requirements of every library version.
Chrome starts incorrectly or Selenium reports a driver error
- Confirm Chrome is installed and can start in the same user environment as Eclipse or Maven.
- Check that your Selenium version includes Selenium Manager behavior and that network policy permits its driver discovery and download.
- In restricted environments, configure a compatible driver explicitly and ensure the executable path and permissions are correct.
The test passes in Eclipse but fails with Maven
- Check the JDK Maven uses with
mvn -version; Eclipse’s project JRE and the terminal’s Java can differ. - Compare the Eclipse launch target with Surefire configuration, including suite XML, groups, system properties, and environment variables.
- Run Maven from the project root and review its test report and Console output for the underlying assertion or setup error.
Or skip the browser setup
If your actual goal is to capture a page image or PDF rather than verify interactive browser behavior, ScreenshotNeo is a website screenshot API and MCP server for developers. One GET request returns an image or PDF. See the API documentation.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; those steps can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and the response identifies the page verdict and billing status in headers. Its MCP server lets Claude, Cursor, and other MCP clients use screenshot tools. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo’s free plan.
Frequently Asked Questions
Can I use TestNG without the Eclipse plugin?
Yes. The plugin provides Eclipse authoring and launch features; Maven can run TestNG tests independently when the project dependencies and test-runner configuration are set up.
Does this test require a live Google account?
No account is used by the example, but the browser must be able to reach the public page. For stable automated tests, prefer a page and assertion under your control.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

