This document discusses continuous integration and continuous delivery practices. It defines continuous integration as integrating work frequently, usually daily, and verifying integrated changes through automated builds and tests. The key principles of continuous integration include maintaining a single source repository, automating builds and self-testing, committing to the mainline daily, and immediately fixing broken builds. Continuous delivery aims to reliably and quickly deploy integrated changes to production. It involves continuous integration, testing in environments that match production, and automating deployments.
This document introduces Cypress, an end-to-end testing framework for web applications. It discusses why Cypress is useful for testing, how to get started by installing Cypress and writing test scripts, and provides tips for selecting elements and handling dynamic content. Key aspects covered include planning test cases, writing tests for common pages like login and article creation, and using the Cypress testing library to write robust tests.
Selenoid is a tool for running Selenium tests in isolated browser containers. It allows running thousands of browsers across multiple data centers with high throughput. Selenoid containers include pre-installed browser versions and drivers so tests can be run with a single command. This simplifies setup and allows easy maintenance of browser versions and compatibility. Selenoid is lightweight, scalable, and provides centralized logging and usage statistics which makes it suitable for large test clusters running 24/7.
Cypress framework is a JavaScript-based end-to-end testing framework built on top of Mocha – a feature-rich JavaScript test framework running on and in the browser, making asynchronous testing simple and convenient. Cypress is like Protractor for Angular. In this talk, we will talk about how to write cypress test from scratch and some best practice.
This presentation introduces several modern features of the ProtractorJS framework, including async/await, TypeScript support, and the blocking proxy. It notes that control flow is being deprecated in favor of async/await. It also discusses features of webdriver-manager like installing mobile apps and drivers, and blocking proxy for automatically waiting for Angular across tests.
This document discusses CI/CD workflows and best practices using Jenkins. It explains that Jenkins helps automate the software development process by building code whenever commits are pushed to version control. Good CI practices include integrating with source control, running all tests, and providing feedback via chat systems. The document provides examples of basic, agile team, and advanced CI workflows and recommendations for configuring Jenkins, including using plugins, securing authentication, and proxying Jenkins within a VPN.
It is a presentation to help software developers get started with a testing platform Cypress. I have created it personally and given the most basics of explanation regarding the new concepts.
https://www.meetup.com/ja-JP/Tokyo-Jenkins-Area-Meetup/events/240833004/ 『第10回 Jenkins勉強会』の発表資料です。 Jenkinsfileのlintと自作npmパッケージ "jflint" について話しました。 https://www.npmjs.com/package/jflint
Best practices for writing end-to-end testing in Cypress including organizing tests, testing logging in through authorization, and controlling state.
An overview of Selenium, including Selenium IDE, Selenium RC, Selenium Grid, and Sauce OnDemand (A cloud-hosted Selenium test infrastructure service). Also covers an overview of upcoming features in Selenium 2, and how to best use Selenium: use of the Page Object patter, and how to use with continuous integration.
This document provides steps to set up Jenkins for continuous integration, including installing Java, Git, and configuring a GitHub account. It then explains how to create a Jenkins job that will build a project from a GitHub repository, run tests, and generate code coverage reports on each commit. The job is configured to pull code from GitHub, run Maven goals to build and test the project, and publish JUnit test reports, JavaDocs, and a Cobertura code coverage report.
This document discusses using JavaScript for testing and addresses some of its challenges like callback hell and the pyramid of doom. It presents solutions like promise managers and async/await that help simplify asynchronous code. It also provides examples of using WebDriverJs with promises and async/await in tests to make the code more readable and maintainable.
Cypress is an open-source JavaScript-based test automation framework built on NodeJS. It operates directly in the browser so developers can easily work with it. Cypress runs tests written in JavaScript in an interactive window and supports various types of testing including end-to-end, unit, integration, visual, and API testing. Since it is based on NodeJS, Cypress requires the Node runtime to execute tests.