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 →
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.
-
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.
-
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
-
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.
-
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: 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-22There is a powershell module for it as well Selenium-powershell
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"); } }
Project mention: Show HN: Open-Source Accessibility Issue Visualization | news.ycombinator.com | 2024-03-28Hi, 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
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?
-
Hoe to monitor a website displays a report
-
Using Powershell to access website behind Cloudflare
-
Login to website to download a file (credential required, session_id required, javascript form)
-
Help with automation.
-
Best way to automate saving webpage as PDF?
-
Interacting with UI element in browser
-
A note from our sponsor - InfluxDB
www.influxdata.com | 21 May 2024
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