---
title: "cy.blog()"
url: "https://www.cypress.io/blog/page/49"
description: "Cypress Blog – Page 49. Releases, AI-assisted testing, and quality guides from the Cypress team. See what changed, whether it affects you, and how teams ship with confidence."
---

cy.get()

cy.find()

cy.debug()

cy.visit()

cy.mount()

cy.click()

cy.type()

cy.pause()

cy.within()

cy.contains()

cy.each()

cy.dblclick()

cy.get()

cy.find()

cy.debug()

cy.filter()

cy.eq()

cy.clearCookie()

cy.pause()

cy.end()

cy.within()

cy.contains()

cy.each()

cy.within()

cy.contains()

cy.eq()

cy.end()

cy.filter()

cy.clearCookie()

cy.visit()

cy.mount()

cy.click()

cy.type()

cy.within()

cy.contains()

cy.eq()

cy.end()

cy.each()

cy.dblclick()

cy.get()

cy.find()

cy.debug()

cy.each()

cy.dblclick()

cy.eq()

cy.end()

cy.within()

cy.contains()

cy.each()

cy.dblclick()

cy.pause()

cy.visit()

cy.mount()

cy.click()

cy.type()

cy.get()

cy.find()

cy.debug()

cy.filter()

cy.clearCookie()

cy.get()

cy.find()

cy.debug()

cy.within()

cy.mount()

cy.contains()

cy.visit()

cy.type()

cy.click()

cy.within()

cy.contains()

cy.visit()

cy.mount()

cy.click()

cy.type()

cy.filter()

cy.filter()

cy.clearCookie()

cy.pause()

cy.contains()

cy.filter()

cy.eq()

cy.end()

cy.eq()

cy.end()

cy.each()

cy.filter()

cy.dblclick()

cy.clearCookie()

cy.each()

cy.dblclick()

cy.eq()

cy.end()

cy.get()

cy.find()

cy.debug()

cy.pause()

cy.filter()

cy.clearCookie()

cy.pause()

cy.eq()

cy.end()

# cy.blog()

Releases, AI-assisted testing, and quality guides from the Cypress team. See what changed, whether it affects you, and how teams ship with confidence.

[Meet cypress tap: give your AI agent the context the Cypress app shows you Cypress AIcypress tap is a new set of CLI command to pull Cypress app context into your terminal. It lets AI agent drive a Cypress open session from the terminal, so it can author new tests, extend existing ones, and read failures the way the Cypress app shows them.Read more](/blog/cypress-tap-cli)

[All](/blog)[Releases](/blog/category/Releases) [Community](/blog/category/Community) [Education](/blog/category/Education) [Customer Stories](</blog/category/Customer Stories>) [Company](/blog/category/Company)

[Extending Cypress With Plugins One of the greatest (and unique) advantages of Cypress is that all of your test code runs in the browser. This provides us a significant architectural advantage over every other testing tool out there. While this makes for a much more reliable testing experience, and enables you to write tests much easier - it does make communicating outside of the browser more difficult. Users have expressed a desire \[https://github.com/cypress-io/cypress/issues/684#issuecomment-331736178\] to be able to custo Read more](/blog/extending-cypress-with-plugins)

[Control an AngularJS Application From E2E Tests Cypress runs close to your application. Only a thin iframe separates the production code from the testing code. Thus Cypress can take shortcuts and control your application code directly, bypassing always going through the DOM. For example imagine you are developing an AngularJS 1.x TodoMVC application such as http://todomvc.com/examples/angularjs/; how could you take advantage of this? AngularJS from DevTools You can change the data in the application’s model directly from the DevTools \[https: Read more](/blog/control-angular-application-from-e2e-tests)

[Add GUI to your E2E API tests We like to pretend there are two disjointed end-to-end test types: API and browser automation tests. And that the tools used are very different; the API tests are executed by a CLI test runner, while automation tests all fire up a browser. Yet, a good E2E automation test runner, in my opinion, should be really good at working with a remote server API via HTTP. After all, this is what every useful website does. Every website exchanges data with remote servers through HTTP requests. What if the s Read more](/blog/add-gui-to-your-e2e-api-tests)

[Conditional testing and control flow in Cypress Conditional testing refers to the common programming pattern where you perform one action, or a different one. It’s also known as control flow. Typically this is expressed as: If X, then Y, else Z. Many of our users come into our chat asking how they can do “conditional testing” in Cypress. The question is usually something like this: I want to do something if the element exists, and do something different if the element doesn’t exist. How do I do that in Cypress? This question may seem Read more](/blog/conditional-testing)

[Joining Cypress As a developer, I am always on the lookout for tools and practices that will improve my productivity, help me write higher quality software and increase the enjoyment I get out of my work. When I had the opportunity to use Cypress \[https://cypress-io.ghost.io/blog/\] for the first time, it immediately checked off all 3 boxes for me. When the opportunity arose to interview for a developer role \[https://www.cypress.io/jobs/\] with Cypress, there was no way I was going to pass it up. The idea of b Read more](/blog/joining-cypress)

[Cypress is now public beta The first commit on Cypress happened on June 5th, 2014 - exactly 3 years, 4 months, and 5 days ago. Since then we have had 20,000+ commits across all of our projects, we have created 100+ repos, and received 10,000+ early adopter submissions. We’ve funded Cypress by raising money, and with that built a solid team of some of brightest talent in JavaScript. Cypress has come a long way since the early days. We’ve overcome seemingly insurmountable technical challenges. We’ve solved some of the har Read more](/blog/cypress-is-now-public-beta)

[Good error messages If I can paraphrase a cliché: bad things happen to good programs Things go wrong, even in the most carefully coded and thoroughly tested applications. In my opinion, a sign of a good app is if it gives meaningful and useful error messages when things go wrong. At Cypress we spend a lot of time trying to make every type of error we display to the user as useful as possible. These include failed assertions during tests (after all, Cypress is an end to end test runner), and crashes insid Read more](/blog/good-error-messages)

[10 ways we improved our docs As part of our strategy towards going open source, we wanted to make several improvements to our documentation. There were a few problems we wanted to address: 1. There was no clear explanation of why you would want to use Cypress. 2. There were no clear “Getting Started” guides that introduced you to Cypress. 3. Most API commands were missing explanations of critical core concepts. 4. We found many users were confused by the Cypress ✨ magic ✨. 5. Our users asked the same questions o Read more](/blog/10-ways-we-improved-our-docs)

[Immutable deploys and Cypress It is simple to run Cypress both locally and on CI. And it is simple to point your tests to a different server. If you are using immutable deploys, Cypress can be the ultimate “health check”. If the tests pass locally, then on CI, and then at a newly deployed environment - the chances are very high that you can point production DNS record at the new deployment and it will work. Here is an example. Let us take a “stock” React TodoMVC app \[https://gitlab.com/bahmutov/todomvc\] and see all the mome Read more](/blog/cypress-and-immutable-deploys)

[Newer posts](/blog/page/48) [Older posts](/blog/page/50)