Take a look at our Browsers books. Shulph carries a great selection of Browsers books, and we are always adding more.
Get to grips with the Cypress framework and learn how to best implement end-to-end automation testing with JavaScript with the help of expert tips, best practices, and real-world testing examplesKey FeaturesWrite your first end-to-end test and find out how to modernize your testing environmentExecute test-driven web development and cross-browser testing using CypressDiscover the advantages of using Cypress over Selenium and refactor testing for modern web appsBook DescriptionCypress is a modern test automation framework for web-based frontend apps. Learning Cypress will help you overcome the shortcomings of conventional testing solutions such as dependency graph problems, the steep learning curve in setting up end-to-end testing packages, and difficulties in writing explicit time waits for your tests. In End-to-End Web Testing with Cypress, you'll learn how to use different Cypress tools, including time travel, snapshots, errors, and console output, to write fail-safe and non-flaky tests. You'll discover techniques for performing test-driven development (TDD) with Cypress and write cross-browser tests for your web applications. As you advance, you'll implement tests for a sample application and work with a variety of tools and features within the Cypress ecosystem. Finally, this Cypress book will help you grasp advanced testing concepts such as visual testing and networking. By the end of this book, you'll have the skills you need to be able to set up Cypress for any web app and understand how to use it to its full potential.What you will learnGet to grips with Cypress and understand its advantages over SeleniumExplore common Cypress commands, tools, and techniques for writing complete tests for web appsSet up and configure Cypress for cross-browser testingUnderstand how to work with elements and animation to write non-flaky testsDiscover techniques for implementing and handling navigation requests in testsImplement visual regression tests with Applitools eyesWho this book is forThis book is for automation testing professionals, software and web testers, and frontend web developers who have intermediate-level JavaScript and beginner-level test automation knowledge, as well as for complete beginners who are looking to get started with Cypress and learn how it works. You'll also find this book useful if you are a Selenium tester who wants to migrate to Cypress and leverage its capabilities. An intermediate-level understanding of JavaScript programming and beginner-level knowledge of web testing are required.
Leverage Jamstack principles, techniques, and best practices to build dynamic websites and web apps focused on speed, security, and accessibilityKey FeaturesUnderstand how JavaScript integrates with reusable application program interfaces (APIs) and browser markup to build a serverless web applicationGain a solid understanding of static site development with Gatsby and its importance in JamstackFind out how to deploy a Jamstack event website directly from GitHub using NetlifyBook DescriptionJamstack (JavaScript, API, and Markup) enables web developers to create and publish modern and maintainable websites and web apps focused on speed, security, and accessibility by using tools such as Gatsby, Sanity, and Netlify. Developers working with Jamstack will be able to put their knowledge to good use with this practical guide to static site generation and content management. This Jamstack book takes a hands-on approach to implementation and related methodologies that will have you up and running with modern web development in no time.Complete with step-by-step explanations of essential concepts, practical examples, and self-assessment questions, you'll begin by building an event and venue schema structure, and then expand the functionality, exploring all that the Jamstack has to offer. You'll learn how an example Jamstack is built, build structured content using Sanity to create a schema, use GraphQL to expose the content, and employ Gatsby to build an event website using page and template components and Tailwind CSS Framework. Lastly, you'll deploy the website to both, a Netlify server and the Microsoft Static Web Apps Service, and interact with it using Amazon Alexa.By the end of this book, you'll have gained the knowledge and skills you need to install, configure, build, extend, and deploy a simple events website using Jamstack.What you will learnDiscover the Jamstack approach and build speedy, secure, and accessible websites and web apps with its component technologiesBuild an events website by using the Jamstack and the Gatsby static site generatorCreate and modify your templates and pages to build creative web appsBuild, modify, and extend structured content schemas in SanityUnderstand Gatsby plugins, project structure, and files, and how it can be used to build Jamstack appsFind out how GatsbyJS uses GraphQL to source contentWho this book is forThis book is for web developers looking to implement Jamstack practically. JavaScript developers who want to build modern speedy and secure web apps will also find this book useful. Familiarity with JavaScript and Database programming is assumed.
Develop your JavaScript programming skills by learning strategies and techniques commonly used in modern full-stack application development Key Features Write and deploy full-stack applications efficiently with JavaScript Delve into JavaScript's multiple programming paradigms Get up to speed with core concepts such as modularity and functional programming to write efficient code Book Description In depth knowledge of JavaScript makes it easier to learn a variety of other frameworks, including React, Angular, and related tools and libraries. This book is designed to help you cover the core JavaScript concepts you need to build modern applications. You'll start by learning how to represent an HTML document in the Document Object Model (DOM). Then, you'll combine your knowledge of the DOM and Node.js to create a web scraper for practical situations. As you read through further lessons, you'll create a Node.js-based RESTful API using the Express library for Node.js. You'll also understand how modular designs can be used for better reusability and collaboration with multiple developers on a single project. Later lessons will guide you through building unit tests, which ensure that the core functionality of your program is not affected over time. The book will also demonstrate how constructors, async/await, and events can load your applications quickly and efficiently. Finally, you'll gain useful insights into functional programming concepts such as immutability, pure functions, and higher-order functions. By the end of this book, you'll have the skills you need to tackle any real-world JavaScript development problem using a modern JavaScript approach, both for the client and server sides. What you will learn Apply the core concepts of functional programming Build a Node.js project that uses the Express.js library to host an API Create unit tests for a Node.js project to validate it Use the Cheerio library with Node.js to create a basic web scraper Develop a React interface to build processing flows Use callbacks as a basic way to bring control back Who this book is for If you want to advance from being a frontend developer to a full-stack developer and learn how Node.js can be used for hosting full-stack applications, this is an ideal book for you. After reading this book, you'll be able to write better JavaScript code and learn about the latest trends in the language. To easily grasp the concepts explained here, you should know the basic syntax of JavaScript and should've worked with popular frontend libraries such as jQuery. You should have also used JavaScript with HTML and CSS but not necessarily Node.js.
Get writing tests and learn to design your own testing framework with Selenium WebDriver API Key Features Learn Selenium from the ground up Design your own testing framework Create reusable functionality in your framework Book Description Selenium WebDriver is a platform-independent API for automating the testing of both browser and mobile applications. It is also a core technology in many other browser automation tools, APIs, and frameworks. This book will guide you through the WebDriver APIs that are used in automation tests. Chapter by chapter, we will construct the building blocks of a page object model framework as you learn about the required Java and Selenium methods and terminology. The book starts with an introduction to the same-origin policy, cross-site scripting dangers, and the Document Object Model (DOM). Moving ahead, we'll learn about XPath, which allows us to select items on a page, and how to design a customized XPath. After that, we will be creating singleton patterns and drivers. Then you will learn about synchronization and handling pop-up windows. You will see how to create a factory for browsers and understand command design patterns applicable to this area. At the end of the book, we tie all this together by creating a framework and implementing multi-browser testing with Selenium Grid. What you will learn Understand what an XPath is and how to design a customized XPath Learn how to create a Maven project and build Create a Singleton driver Get to grips with Jenkins integration Create a factory for browsers Implement multi-browser testing with Selenium Grid Create a sample pop-up window and JavaScript alert Report using Extent Reports Who this book is for This book is for software testers or developers.
A fast-paced, practical guide to helping you leverage React Testing Library to test the DOM output of componentsKey FeaturesGet to grips with React Testing Library and create tests that don't break with changes in implementationLearn how to put RTL into practice by implementing it in real-world scenariosTest apps to be more accessible and ensure your tests will work with actual DOM nodesBook DescriptionReact Testing Library (RTL) is a lightweight and easy-to-use tool for testing the document object model (DOM) output of components. This book will show you how to use this modern, user-friendly tool to test React components, reducing the risk that your application will not work as expected in production. The book demonstrates code snippets that will allow you to implement RTL easily, helping you to understand the guiding principles of the DOM Testing Library to write tests from the perspective of the user. You'll explore the advantages of testing components from the perspective of individuals who will actually use your components, and use test-driven development (TDD) to drive the process of writing tests. As you advance, you'll discover how to add RTL to React projects, test components using the Context API, and also learn how to write user interface (UI) end-to-end tests using the popular Cypress library. Throughout this book, you'll work with practical examples and useful explanations to be able to confidently create tests that don't break when changes are made. By the end of this React book, you will have learned all you need to be able to test React components confidently.What you will learnExplore React Testing Library and its use casesGet to grips with the RTL ecosystemApply jest-dom to enhance your tests using RTLGain the confidence you need to create tests that don't break with changes using RTLIntegrate Cucumber and Cypress into your test suiteUse TDD to drive the process of writing testsApply your existing React knowledge for using RTLWho this book is forThis book is for software engineers, quality engineers and React developers who want to learn about modern practices used for testing React components using the latest testing tool, RTL. Basic knowledge of React development is required to get the most out of this book.
Write fail-safe automation tests, device emulation, and browser automation using Puppeteer's Google-powered APIKey FeaturesGet up and running with Puppeteer and discover best practices for automation testingAutomate your modern web applications using Jest and Mocha with PuppeteerGenerate screenshots using Puppeteer and find out how they can be used for UI regression testsBook DescriptionPuppeteer is an open source web automation library created by Google to perform tasks such as end-to-end testing, performance monitoring, and task automation with ease. Using real-world use cases, this book will take you on a pragmatic journey, helping you to learn Puppeteer and implement best practices to take your automation code to the next level!Starting with an introduction to headless browsers, this book will take you through the foundations of browser automation, showing you how far you can get using Puppeteer to automate Google Chrome and Mozilla Firefox. You'll then learn the basics of end-to-end testing and understand how to create reliable tests. You'll also get to grips with finding elements using CSS selectors and XPath expressions. As you progress through the chapters, the focus shifts to more advanced browser automation topics such as executing JavaScript code inside the browser. You'll learn various use cases of Puppeteer, such as mobile devices or network speed testing, gauging your site's performance, and using Puppeteer as a web scraping tool.By the end of this UI testing book, you'll have learned how to make the most of Puppeteer's API and be able to apply it in your real-world projects.What you will learnUnderstand browser automation fundamentalsExplore end-to-end testing with Puppeteer and its best practicesApply CSS Selectors and XPath expressions to web automationDiscover how you can leverage the power of web automation as a developerEmulate different use cases of Puppeteer such as network speed tests and geolocationGet to grips with techniques and best practices for web scraping and web content generationWho this book is forThe book is for QA engineers, testing professionals, and frontend web developers alike who want to perform end-to-end testing using Google's developer tools. Web developers who want to learn how to use Puppeteer for generating content, scraping websites, and evaluating website performance will also find this book useful. Although knowledge of Node.js isn't necessary, basic JavaScript knowledge will assist with understanding the concepts covered.