web-testing

Open-source projects categorized as web-testing

Top 10 web-testing Open-Source Projects

  • testsigma

    A powerful open source test automation platform for Web Apps, Mobile Apps, and APIs. Build stable and reliable end-to-end tests @ DevOps speed.

  • selenium-powershell

    PowerShell module to run a Selenium WebDriver.

  • Project mention: Are there any existing modules or 3rd party libraries that can reliably read text on a screen into a PSObject or string? | /r/PowerShell | 2023-05-22

    There is a powershell module for it as well Selenium-powershell

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • gitlab-cypress

    Sample project to experiment with Cypress to test the GitLab application.

  • NodeJs-Cucumber-Selenium

    Run test automation on cloud with Cucumber.js and LambdaTest. This is a sample repo to help you execute Cucumber.js framework based test scripts in parallel with LambdaTest automation testing cloud

  • Project mention: JUnit Tutorial: An Inclusive Guide [With Enhanced Features] | dev.to | 2024-05-13

    import org.openqa.selenium.By; import org.junit.jupiter.api.*; import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.util.concurrent.TimeUnit; public class RunningTestsInParallelInGrid { String username = "YOUR_USERNAME"; //Enter your username String accesskey = "YOUR_ACCESS_KEY"; //Enter your accesskey static RemoteWebDriver driver = null; String gridURL = "@ hub.lambdatest.com/wd/hub"; String urlToTest = "https://www.lambdatest.com/"; @ BeforeAll public static void start() { System.out.println("=======Running junit 5 tests in parallel in LambdaTest Grid has started========"); } @ BeforeEach public void setup() { System.out.println("Setting up the drivers and browsers"); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("browserName", "chrome"); //To specify the browser capabilities.setCapability("version", "70.0"); //To specify the browser version capabilities.setCapability("platform", "win10"); // To specify the OS capabilities.setCapability("build", "Running_ParallelJunit5Tests_In_Grid"); //To identify the test capabilities.setCapability("name", "Parallel_JUnit5Tests"); capabilities.setCapability("network", true); // To enable network logs capabilities.setCapability("visual", true); // To enable step by step screenshot capabilities.setCapability("video", true); // To enable video recording capabilities.setCapability("console", true); // To capture console logs try { driver = new RemoteWebDriver(new URL("https://" + username + ":" + accesskey + gridURL), capabilities); } catch (MalformedURLException e) { System.out.println("Invalid grid URL"); } catch (Exception e) { System.out.println(e.getMessage()); } } @ Test @ DisplayName("Title_Test") @ Tag("Sanity") public void launchAndVerifyTitle_Test() { String methodName = Thread.currentThread() .getStackTrace()[1] .getMethodName(); System.out.println("********Execution of "+methodName+" has been started********"); System.out.println("Launching LambdaTest website started.."); driver.get(urlToTest); driver.manage().window().maximize(); driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); String actualTitle = driver.getTitle(); System.out.println("The page title is "+actualTitle); String expectedTitle ="Most Powerful Cross Browser Testing Tool Online | LambdaTest"; System.out.println("Verifying the title of the webpage started"); Assertions.assertEquals(expectedTitle, actualTitle); System.out.println("The webpage has been launched and the title of the webpage has been veriified successfully"); System.out.println("********Execution of "+methodName+" has ended********"); } @ Test @ DisplayName("Login_Test") @ Tag("Sanity") public void login_Test() { String methodName = Thread.currentThread() .getStackTrace()[1] .getMethodName(); System.out.println("********Execution of "+methodName+" has been started********"); System.out.println("Launching LambdaTest website started.."); driver.get(urlToTest); driver.manage().window().maximize(); driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); WebElement login = driver.findElement(By.xpath("//a[text()='Login']")); login.click(); WebElement username = driver.findElement(By.xpath("//input[@ name="email"]")); WebElement password = driver.findElement(By.xpath("//input[@ name="password"]")); WebDriverWait wait = new WebDriverWait(driver,20); wait.until(ExpectedConditions.visibilityOf(username)); username.clear(); username.sendKeys("acvdd@ gmail.com"); password.clear(); password.sendKeys("abc@ 123"); WebElement loginButton = driver.findElement(By.xpath("//button[text()='Login']")); loginButton.click(); driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); String actual = driver.getTitle(); String expected = "Welcome - LambdaTest"; Assertions.assertEquals(expected, actual); System.out.println("The user has been successfully logged in"); System.out.println("********Execution of "+methodName+" has ended********"); } @ Test @ DisplayName("Logo_Test") public void logo_Test() { String methodName = Thread.currentThread() .getStackTrace()[1] .getMethodName(); System.out.println("********Execution of "+methodName+" has been started********"); System.out.println("Launching LambdaTest website started.."); driver.get(urlToTest); driver.manage().window().maximize(); driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); System.out.println("Verifying of webpage logo started.."); WebElement logo = driver.findElement(By.xpath("//*[@ id="header"]/nav/div/div/div[1]/div/a/img")); boolean is_logo_present = logo.isDisplayed(); if(is_logo_present) { System.out.println("The logo of LambdaTest is displayed"); } else { Assertions.assertFalse(is_logo_present,"Logo is not present"); } System.out.println("********Execution of "+methodName+" has ended********"); } @ Test @ DisplayName("Blog_Test") public void blogPage_Test() { String methodName = Thread.currentThread() .getStackTrace()[1] .getMethodName(); System.out.println("********Execution of "+methodName+" has been started********"); System.out.println("Launching LambdaTest website started.."); driver.get(urlToTest); driver.manage().window().maximize(); driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); WebElement resources = driver.findElement(By.xpath("//*[text()='Resources ']")); List options_under_resources = driver.findElements(By.xpath("//*[text()='Resources ']/../ul/a")); boolean flag = resources.isDisplayed(); if(flag) { System.out.println("Resources header is visible in the webpage"); Actions action = new Actions(driver); action.moveToElement(resources).build().perform(); WebDriverWait wait=new WebDriverWait(driver, 20); wait.until(ExpectedConditions.visibilityOfAllElements(options_under_resources)); for(WebElement element : options_under_resources) { if(element.getText().equals("Blog")){ System.out.println("Clicking Blog option has started"); element.click(); System.out.println("Clicking Blog option has ended"); driver.manage().timeouts().pageLoadTimeout(20,TimeUnit.SECONDS); Assertions.assertEquals("LambdaTest Blogs", driver.getTitle()); break; } else Assertions.fail("Blogs option is not available"); } } else { Assertions.fail("Resources header is not visible"); } System.out.println("********Execution of "+methodName+" has ended********"); } @ Test @ DisplayName("Cerification_Test") public void certificationPage_Test() { String methodName = Thread.currentThread() .getStackTrace()[1] .getMethodName(); System.out.println("********Execution of "+methodName+" has been started********"); System.out.println("Launching LambdaTest website started.."); driver.get(urlToTest); driver.manage().window().maximize(); driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); WebElement resources = driver.findElement(By.xpath("//*[text()='Resources ']")); List options_under_resources = driver.findElements(By.xpath("//*[text()='Resources ']/../ul/a")); boolean flag = resources.isDisplayed(); if(flag) { System.out.println("Resources header is visible in the webpage"); Actions action = new Actions(driver); action.moveToElement(resources).build().perform(); WebDriverWait wait = new WebDriverWait(driver, 20); wait.until(ExpectedConditions.visibilityOfAllElements(options_under_resources)); for (int i = 0; i < options_under_resources.size(); i++) { String value = options_under_resources.get(i).getText(); if (value.equals("Certifications")) { System.out.println("Clicking Certifications option has started"); action.moveToElement(options_under_resources.get(i)).build().perform(); options_under_resources.get(i).click(); System.out.println("Clicking Certifications option has ended"); driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS); String expectedCertificationPageTitle = "LambdaTest Selenium Certifications - Best Certifications For Automation Testing Professionals"; String actualCertificationPageTitle = driver.getTitle(); Assertions.assertEquals(expectedCertificationPageTitle, actualCertificationPageTitle); break; } } } System.out.println("********Execution of "+methodName+" has ended********"); } @ Test @ DisplayName("Support_Test") public void supportPage_Test() { String methodName = Thread.currentThread() .getStackTrace()[1] .getMethodName(); System.out.println("********Execution of "+methodName+" has been started********"); System.out.println("Launching LambdaTest website started.."); driver.get(urlToTest); driver.manage().window().maximize(); driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); WebElement supportHeader = driver.findElement(By.xpath("(//div//*[text()='Support'])[1]")); boolean flag = supportHeader.isDisplayed(); if(flag) { System.out.println("support header is visible in the webpage"); supportHeader.click(); } else { Assertions.fail("support header is not visible"); } System.out.println("********Execution of "+methodName+" has ended********"); } @ AfterEach public void tearDown() { System.out.println("Quitting the browsers has started"); driver.quit(); System.out.println("Quitting the browsers has ended"); } @ AfterAll public static void end() { System.out.println("Tests ended"); } }

  • nightwatch-selenium-sample

    Run test automation on cloud with NightwatchJS and LambdaTest. This is a sample repo to help you execute NightwatchJS framework based test scripts in parallel with LambdaTest automation testing cloud

  • Php-PhpUnit-Selenium

    Run test automation on cloud with PHPUnit and LambdaTest. This is a sample repo to help you execute PHPUnit framework based test scripts in parallel with LambdaTest automation testing cloud

  • php-selenium-sample

    Run PHP and Selenium scripts on LambdaTest automation cloud. A sample repo to help you run PHP based test scripts in parallel with LambdaTest

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • allyviz

    This tool leverages the power of axe-core and Google Lighthouse to offer a straightforward, free resource for identifying and addressing over 50 web accessibility issues. Designed for ease of use, it aims to make the web more accessible to all, including those with disabilities.

  • Project mention: Show HN: Open-Source Accessibility Issue Visualization | news.ycombinator.com | 2024-03-28

    Hi, I created a tool based on Google Lighthouse and axe-core, which helps to visualize and share accessibility (a11y) issues. Just submit any URL and test it; you can share the unique link afterwards. Or, type allyviz.com/ in front of any URL to access the tool even easier. GitHub: https://github.com/jcmpagel/allyviz

  • alien

    A programmable web server stress testing and benchmarking tool (by redskyit)

  • Oxygen

    Functional-style C# Selenium wrapper for automated UI testing. (by karel66)

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

web-testing related posts

  • Are there any existing modules or 3rd party libraries that can reliably read text on a screen into a PSObject or string?

    1 project | /r/PowerShell | 22 May 2023
  • Hoe to monitor a website displays a report

    1 project | /r/sysadmin | 10 May 2023
  • Using Powershell to access website behind Cloudflare

    1 project | /r/PowerShell | 12 Feb 2023
  • Login to website to download a file (credential required, session_id required, javascript form)

    1 project | /r/PowerShell | 12 Jan 2023
  • Help with automation.

    1 project | /r/sysadmin | 20 Sep 2022
  • Best way to automate saving webpage as PDF?

    2 projects | /r/PowerShell | 28 Jul 2022
  • Interacting with UI element in browser

    1 project | /r/PowerShell | 21 Jul 2022
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 21 May 2024
    Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →

Index

What are some of the best open-source web-testing projects? This list will help you:

Project Stars
1 testsigma 836
2 selenium-powershell 433
3 gitlab-cypress 82
4 NodeJs-Cucumber-Selenium 20
5 nightwatch-selenium-sample 16
6 Php-PhpUnit-Selenium 12
7 php-selenium-sample 5
8 allyviz 2
9 alien 1
10 Oxygen 0

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com