All Projects → salesforce → codeceptjs-bdd

salesforce / codeceptjs-bdd

Licence: MIT license
Javascript BDD UI Automation Framework. Exclusive LWC Shadow DOM Support. Playwright, Webdriver.io, Appium, Saucelabs.

Programming Languages

javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
typescript
32286 projects
shell
77523 projects
Gherkin
971 projects
Batchfile
5799 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to codeceptjs-bdd

codeceptjs-bdd
⭐️ ⭐️⭐️ Migrated to Salesforce Open Source Platform - https://github.com/salesforce/codeceptjs-bdd
Stars: ✭ 24 (-31.43%)
Mutual labels:  bdd, parallel, cucumber, saucelabs, multi-browsers
Karate
Test Automation Made Simple
Stars: ✭ 5,497 (+15605.71%)
Mutual labels:  bdd, assertions, cucumber
karate
Test Automation Made Simple
Stars: ✭ 6,384 (+18140%)
Mutual labels:  bdd, assertions, cucumber
docs
Cucumber user documentation
Stars: ✭ 110 (+214.29%)
Mutual labels:  bdd, cucumber
material-webcomponents
Material Design implemented in Web Components (Custom Elements v1)
Stars: ✭ 110 (+214.29%)
Mutual labels:  webcomponents, shadow-dom
e2e-testing
Formal verification of Elastic-Agent and more using BDD
Stars: ✭ 22 (-37.14%)
Mutual labels:  bdd, cucumber
chai
BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.
Stars: ✭ 7,842 (+22305.71%)
Mutual labels:  bdd, assertions
crab
JavaScript library for building user interfaces with Custom Elements, Shadow DOM and React like API
Stars: ✭ 22 (-37.14%)
Mutual labels:  webcomponents, shadow-dom
timeline-component-lwc
This component enables timeline view for Salesforce Record history.
Stars: ✭ 18 (-48.57%)
Mutual labels:  salesforce, lwc
cucumber6-ts-starter
Starter project to write and debug cucumber-js features in TypeScript language
Stars: ✭ 62 (+77.14%)
Mutual labels:  bdd, cucumber
kekiri
A .NET framework that supports writing low-ceremony BDD tests using Gherkin language
Stars: ✭ 19 (-45.71%)
Mutual labels:  bdd, cucumber
lwc-test
LWC plugins and utilities for testing
Stars: ✭ 39 (+11.43%)
Mutual labels:  shadow-dom, lwc
sfdx-lwc-jest
Run Jest against LWC components in SFDX workspace environment
Stars: ✭ 136 (+288.57%)
Mutual labels:  salesforce, lwc
apex-rollup
Fast, configurable, elastically scaling custom rollup solution. Apex Invocable action, one-liner Apex trigger/CMDT-driven logic, and scheduled Apex-ready.
Stars: ✭ 133 (+280%)
Mutual labels:  salesforce, lwc
mocha-cakes-2
A BDD plugin for Mocha testing framework
Stars: ✭ 44 (+25.71%)
Mutual labels:  bdd, cucumber
one-pub-sub-lwc
One PubSub: A Declarative PubSub Library for Lightning Web Component and Aura Component
Stars: ✭ 19 (-45.71%)
Mutual labels:  salesforce, lwc
justtestlah
Dynamic test framework for web and mobile applications
Stars: ✭ 43 (+22.86%)
Mutual labels:  bdd, cucumber
Hybrids
Extraordinary JavaScript framework with unique declarative and functional architecture
Stars: ✭ 2,529 (+7125.71%)
Mutual labels:  webcomponents, shadow-dom
Ioing
Implement the solutions of performance improvement and componentization for your SPA (single page application) products with this Progressive Web App Development Engine.
Stars: ✭ 224 (+540%)
Mutual labels:  webcomponents, shadow-dom
cucumber-performance
A performance testing framework for cucumber
Stars: ✭ 28 (-20%)
Mutual labels:  bdd, cucumber

CodeceptJS BDD

UI/API Test Automation Framework: WebdriverIO & Playwright with Cucumber & Mocha-stylig features/scenarios

CircleCI lerna License

  • Webdriver and Playwright parity: Write one test, Run on both drivers
  • BDD Cucumber and traditional Mocha-styled
  • SauceLabs and Selenoid integrations
  • Applitools, Appium integrations
  • Ease of Automating Salesforce Apps
    • Exclusive Shadow DOM support for LWC/LWR applications, WebComponents
    • WebdriverIO parity with Playwright to work with Shadow Elements
  • and many more features
Website: Codeceptjs-BDD Framework Documentations

Get Started

One line Setup,

npx create-codeceptjs-bdd-tests

Supported Node engine,

 "engines": {
        "yarn": ">=3.1.0",
        "node": ">=14.3.0 <15.0.0"
    },

This Interactive CLI walks you through the step-step setup. It will setup,

  • Executions on both Webdriver & Playwright.
  • Create the framework structure with page objects, helpers, plugins, test env files etc.
  • Integrate Sauce Labs with framework
  • Provides default BDD & Mocha-style example scenarios to start with
  • Setup Parallel executions, and many more

Above command will also add Webdriver parity with Playwright to work with Shadow elements.

Example of out-of-the-box ShadowDOM support for WebComponents (LWC for Salesforce) & Applitools

Take a look at here

Execute

Webdriver
yarn acceptance --profile webdriver:chrome
Playwright
yarn acceptance --profile playwright:chrome
yarn acceptance --profile playwright:safari
yarn acceptance --profile playwright:firefox
yarn acceptance --profile playwright:google:chrome
Mobile or Tablets
yarn acceptance --profile device:'iPhone 11':safari

List of devices

Sauce Labs
yarn acceptance --profile sauce:chrome
yarn acceptance --profile sauce:"macOS 11.00":firefox:80
Parallel
yarn acceptance:parallel --profile playwright:chrome
Headless
HEADLESS=true yarn acceptance:parallel --profile playwright:chrome
For more info about the framework visit CodeceptJS BDD Docs & https://codecept.io/

Ease of working with Shadow Elements. Webdriver & Playwright Parity

Assuming you've enabled the Shadow DOM Support thru the CLI framework setup.

Let's say you want to fill-field on the Shadow element on this Lighting Web Components page: https://recipes.lwc.dev/. You aren't required to provide the DOM Hierarchy in this framework and still, it will find the elements thru Webdriver (Playwright has default support). Meaning, it provides the Playwright parity with Webdriver.

Means, same tests can run on both: Webdriver & Playwright.

So, all you need to provide unique CSS as shown below,

I.fillField('ui-input input','codeceptjs-bdd')

There may be cases that doesn't require you to deal with Shadow Element, e.g. plain login page, you can disable the Shadow Locators finder by providing CSS objects, e.g.

I.fillField({css: 'div.username'},'myusername');
I.fillField({css: 'div.password'},'******');

Have any questions? Join Slack community for more help

Slack Chat and join channel #codeceptjs-bdd for any specific questions about this framework

🚚 Changelog

Link to Changelog

🎥 How to Videos

YouTube How To Videos

Contributors

Thanks goes to these wonderful people who are and will have contributing to this awesome project!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].