StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. DevOps
  3. Testing Frameworks
  4. Javascript Testing Framework
  5. Jasmine vs Selenium

Jasmine vs Selenium

OverviewDecisionsComparisonAlternatives

Overview

Jasmine
Jasmine
Stacks4.8K
Followers1.5K
Votes187
Selenium
Selenium
Stacks16.2K
Followers12.6K
Votes527
GitHub Stars33.6K
Forks8.6K

Jasmine vs Selenium: What are the differences?

Key Differences Between Jasmine and Selenium

Jasmine and Selenium are two popular testing tools used for different purposes. While Jasmine is primarily used for testing JavaScript code, Selenium is used for testing web applications. Here are the key differences between the two:

  1. Syntax: Jasmine uses a behavior-driven development (BDD) syntax, which allows developers to write tests in a more human-readable format. On the other hand, Selenium uses a different syntax that is more focused on interacting with web elements and simulating user actions.

  2. Execution Environment: Jasmine runs tests in a standalone JavaScript environment, such as a web browser or Node.js, allowing tests to be executed independently without the need for any specific browser or setup. Selenium, on the other hand, requires the use of a web browser and relies on a WebDriver to interact with the browser and execute tests.

  3. Scope of Testing: Jasmine is primarily focused on unit testing, where individual units of code are tested in isolation. It provides a rich set of features for mocking and stubbing resources to facilitate unit testing. Selenium, on the other hand, is more suited for functional and end-to-end testing of web applications, where the entire application is tested as a whole, including user interactions and page navigation.

  4. Integration: Jasmine can be easily integrated with other JavaScript testing frameworks and build tools, allowing developers to incorporate it seamlessly into their development workflow. Selenium, on the other hand, requires additional setup and customization to integrate with different testing frameworks and tools, making it less flexible in terms of integration.

  5. Supported Languages: Jasmine is primarily designed for testing JavaScript code and works well with JavaScript-based frameworks like Angular and React. Selenium, on the other hand, supports multiple programming languages like Java, Python, C#, and Ruby, making it more versatile in terms of language support.

  6. Parallel Testing: Selenium provides built-in support for parallel testing, where multiple tests can be executed concurrently across different browsers or test environments. This allows for faster execution and better utilization of testing resources. Jasmine, on the other hand, does not have native support for parallel testing, although it can be achieved using external tools or libraries.

In summary, Jasmine is a JavaScript testing framework focused on unit testing and has a more human-readable syntax, while Selenium is a web application testing framework that supports multiple programming languages and is more suited for functional and end-to-end testing.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Jasmine, Selenium

Shivam
Shivam

Mar 5, 2020

Needs advice

we are having one web application developed in Reacts.js. in the application, we have only 4 to 5 pages that we need to test. I am having experience in selenium with java. Please suggets which tool I should use. and why ............................ ............................ .............................

241k views241k
Comments
Abigail
Abigail

Dec 6, 2019

Decided

As bioinformaticists, we regularly get asked to develop apps or websites which are HIPAA compliant, connect to an EHR, or are ready for FDA regulation.

Regarding the last, the FDA has built up best practices over the past 40 or 50 years regarding "validation and verification" testing. Without going into a lengthy history of FDA regulations, suffice it to say that there are two important distinctions about validation and verification testing - the first of which is that there has to be more than one testing methodology, so that manufacturers or developers don't get a sort of biased tunnel vision; and the second is that at least one of the testing methodologies has to be user-centric. So, it's not enough to test the engine of a car, a manufacturer also must have crash test dummies.

In the world of software written for hospitals and clinical environments, we interpret the verification and validation testing requirements in terms of requiring more than one testing framework, one of which is an end-to-end testing harness using a technology like Selenium. It's not enough to have unit testing, but we also need e2e acceptance testing. Selenium has traditionally been the only game in town, and has been a struggle to work with at times. But it's a tank, and keeps on rolling. We particularly like recent incarnations using Chromedriver and WebDriver protocols, which is slowly reducing the reliance on the legacy Java server.

6.88k views6.88k
Comments
Abigail
Abigail

Dec 10, 2019

Decided

We use Mocha for our FDA verification testing. It's integrated into Meteor, our upstream web application framework. We like how battle tested it is, its' syntax, its' options of reporters, and countless other features. Most everybody can agree on mocha, and that gets us half-way through our FDA verification and validation (V&V) testing strategy.

231k views231k
Comments

Detailed Comparison

Jasmine
Jasmine
Selenium
Selenium

Jasmine is a Behavior Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, Node.js projects, or anywhere that JavaScript can run.

Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.

Statistics
GitHub Stars
-
GitHub Stars
33.6K
GitHub Forks
-
GitHub Forks
8.6K
Stacks
4.8K
Stacks
16.2K
Followers
1.5K
Followers
12.6K
Votes
187
Votes
527
Pros & Cons
Pros
  • 64
    Can also be used for tdd
  • 49
    Open source
  • 19
    Originally from RSpec
  • 15
    Great community
  • 14
    No dependencies, not even DOM
Cons
  • 2
    Unfriendly error logs
Pros
  • 177
    Automates browsers
  • 154
    Testing
  • 101
    Essential tool for running test automation
  • 24
    Record-Playback
  • 24
    Remote Control
Cons
  • 8
    Flaky tests
  • 4
    Slow as needs to make browser (even with no gui)
  • 2
    Update browser drivers

What are some alternatives to Jasmine, Selenium?

BrowserStack

BrowserStack

BrowserStack is the leading test platform built for developers & QAs to expand test coverage, scale & optimize testing with cross-browser, real device cloud, accessibility, visual testing, test management, and test observability.

Sauce Labs

Sauce Labs

Cloud-based automated testing platform enables developers and QEs to perform functional, JavaScript unit, and manual tests with Selenium or Appium on web and mobile apps. Videos and screenshots for easy debugging. Secure and CI-ready.

Mocha

Mocha

Mocha is a feature-rich JavaScript test framework running on node.js and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.

LambdaTest

LambdaTest

LambdaTest platform provides secure, scalable and insightful test orchestration for website, and mobile app testing. Customers at different points in their DevOps lifecycle can leverage Automation and/or Manual testing on LambdaTest.

Karma

Karma

Karma is not a testing framework, nor an assertion library. Karma just launches a HTTP server, and generates the test runner HTML file you probably already know from your favourite testing framework. So for testing purposes you can use pretty much anything you like.

Jest

Jest

Jest provides you with multiple layers on top of Jasmine.

Cypress

Cypress

Cypress is a front end automated testing application created for the modern web. Cypress is built on a new architecture and runs in the same run-loop as the application being tested. As a result Cypress provides better, faster, and more reliable testing for anything that runs in a browser. Cypress works on any front-end framework or website.

Playwright

Playwright

It is a Node library to automate the Chromium, WebKit and Firefox browsers with a single API. It enables cross-browser web automation that is ever-green, capable, reliable and fast.

Rainforest QA

Rainforest QA

Rainforest gives you the reliability of a QA team and the speed of automation, without the hassle of managing a team or the pain of writing automated tests.

CodeceptJS

CodeceptJS

It is a modern end to end testing framework with a special BDD-style syntax. The test is written as a linear scenario of user's action on a site. Each test is described inside a Scenario function with I object passed into it.

Related Comparisons

GitHub
Bitbucket

Bitbucket vs GitHub vs GitLab

GitHub
Bitbucket

AWS CodeCommit vs Bitbucket vs GitHub

Kubernetes
Rancher

Docker Swarm vs Kubernetes vs Rancher

gulp
Grunt

Grunt vs Webpack vs gulp

Graphite
Kibana

Grafana vs Graphite vs Kibana