Trabalhando com cookies
Um cookie é um pequeno pedaço de dado enviado de um site e armazenado no seu computador. Os cookies são usados principalmente para reconhecer o usuário e carregar as informações armazenadas.
A API WebDriver fornece uma maneira de interagir com cookies com métodos integrados:
Add Cookie
É usado para adicionar um cookie ao contexto de navegação atual. Add Cookie aceita apenas um conjunto de objetos JSON serializáveis definidos. Aqui é o link para a lista de valores-chave JSON aceitos.
Em primeiro lugar, você precisa estar no domínio para qual o cookie será valido. Se você está tentando predefinir cookies antes de começar a interagir com um site e sua página inicial é grande / demora um pouco para carregar uma alternativa é encontrar uma página menor no site (normalmente a página 404 é pequena, por exemplo http://example.com/some404page)
	@Test
	  public void addCookie() {
	      driver.get("https://www.selenium.dev/selenium/web/blank.html");/examples/java/src/test/java/dev/selenium/interactions/CookiesTest.java
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The SFC licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
package dev.selenium.interactions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Assertions;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.Set;
public class CookiesTest {
	WebDriver driver = new ChromeDriver();
	@Test
	  public void addCookie() {
	      driver.get("https://www.selenium.dev/selenium/web/blank.html");
	      // Add cookie into current browser context
	      driver.manage().addCookie(new Cookie("key", "value"));
	      driver.quit();
	}
	    @Test
	    public void getNamedCookie() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookie into current browser context
	        driver.manage().addCookie(new Cookie("foo", "bar"));
	        // Get cookie details with named cookie 'foo'
	        Cookie cookie = driver.manage().getCookieNamed("foo");
	        Assertions.assertEquals(cookie.getValue(), "bar");
	        driver.quit();
	      }
	    @Test
	    public void getAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Get cookies
	        Set<Cookie> cookies = driver.manage().getCookies();
	         for (Cookie cookie : cookies) {
	            if (cookie.getName().equals("test1")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie1");
	            }
	            if (cookie.getName().equals("test2")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie2");
	            }
	         }
	         driver.quit();
	      }
	    @Test
	    public void deleteCookieNamed() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        // delete cookie named
	        driver.manage().deleteCookieNamed("test1");
	        driver.quit();
	    }
	    @Test
	    public void deleteCookieObject() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        Cookie cookie = new Cookie("test2", "cookie2");
	        driver.manage().addCookie(cookie);
	        /*
	        Selenium Java bindings also provides a way to delete
	        cookie by passing cookie object of current browsing context
	        */
	        driver.manage().deleteCookie(cookie);
	        driver.quit();
	      }
	    @Test
	    public void deleteAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Delete All cookies
	        driver.manage().deleteAllCookies();
	        driver.quit();
	      }
		  @Test
		  public void sameSiteCookie() {
		    driver.get("http://www.example.com");
     	    Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build();
            Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build();
            driver.manage().addCookie(cookie);
            driver.manage().addCookie(cookie1);
            System.out.println(cookie.getSameSite());
            System.out.println(cookie1.getSameSite());
			driver.quit();
		  }
}
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "key", "value": "value"})/examples/python/tests/interactions/test_cookies.py
from selenium import webdriver
def test_add_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "key", "value": "value"})
def test_get_named_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "foo", "value": "bar"})
    # Get cookie details with named cookie 'foo'
    print(driver.get_cookie("foo"))
def test_get_all_cookies():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Get all available cookies
    print(driver.get_cookies())
def test_delete_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete cookie with name 'test1'
    driver.delete_cookie("test1")
def test_delete_all_cookies():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete all cookies
    driver.delete_all_cookies()
def test_same_side_cookie_attr():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax'
    driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"})
    driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"})
    cookie1 = driver.get_cookie("foo")
    cookie2 = driver.get_cookie("foo1")
    print(cookie1)
    print(cookie2)
         driver.Url="https://www.selenium.dev/selenium/web/blank.html";
         // Add cookie into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("key", "value"));/examples/dotnet/SeleniumDocs/Interactions/CookiesTest.cs
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The SFC licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace SeleniumDocs.Interactions{
[TestClass]
public class CookiesTest{
     
    WebDriver driver = new ChromeDriver();
     [TestMethod]
      public void addCookie(){
         driver.Url="https://www.selenium.dev/selenium/web/blank.html";
         // Add cookie into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("key", "value"));
         driver.Quit();
     }
     
     [TestMethod]
     public void getNamedCookie(){  
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookie into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("foo", "bar"));
         // Get cookie details with named cookie 'foo'
         Cookie cookie = driver.Manage().Cookies.GetCookieNamed("foo");
         Assert.AreEqual(cookie.Value, "bar");
         driver.Quit();
     }
     [TestMethod]
     public void getAllCookies(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookies into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2"));
         // Get cookies
         var cookies = driver.Manage().Cookies.AllCookies;
         foreach (var cookie in cookies){
             if (cookie.Name.Equals("test1")){
                 Assert.AreEqual("cookie1", cookie.Value);
             }
             if (cookie.Name.Equals("test2")){
                 Assert.AreEqual("cookie2", cookie.Value);
             }
         }
         driver.Quit();
     }
     
     [TestMethod]
     public void deleteCookieNamed(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         // delete cookie named
         driver.Manage().Cookies.DeleteCookieNamed("test1");
         driver.Quit();
     }
     [TestMethod]
     public void deleteCookieObject(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         Cookie cookie = new Cookie("test2", "cookie2");
         driver.Manage().Cookies.AddCookie(cookie);
         /*
      Selenium CSharp bindings also provides a way to delete
      cookie by passing cookie object of current browsing context
      */
         driver.Manage().Cookies.DeleteCookie(cookie);
         driver.Quit();
     }
     
     [TestMethod]
     public void deleteAllCookies(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookies into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2"));
         // Delete All cookies
         driver.Manage().Cookies.DeleteAllCookies();
         driver.Quit();
     }
    }
}    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookie into current browser context
    driver.manage.add_cookie(name: 'key', value: 'value')/examples/ruby/spec/interactions/cookies_spec.rb
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'Cookies' do
  let(:driver) { start_session }
  it 'adds a cookie' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookie into current browser context
    driver.manage.add_cookie(name: 'key', value: 'value')
    # Verify cookie was added
    expect(driver.manage.cookie_named('key')[:value]).to eq('value')
  end
  it 'gets a named cookie' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookie into current browser context
    driver.manage.add_cookie(name: 'foo', value: 'bar')
    # Get cookie details with named cookie 'foo'
    cookie = driver.manage.cookie_named('foo')
    expect(cookie[:value]).to eq('bar')
  end
  it 'gets all cookies' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookies into current browser context
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    driver.manage.add_cookie(name: 'test2', value: 'cookie2')
    # Get cookies
    cookies = driver.manage.all_cookies
    # Verify both cookies exist with correct values
    test1_cookie = cookies.find { |c| c[:name] == 'test1' }
    test2_cookie = cookies.find { |c| c[:name] == 'test2' }
    expect(test1_cookie[:value]).to eq('cookie1')
    expect(test2_cookie[:value]).to eq('cookie2')
  end
  it 'deletes a cookie by name' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    # Delete cookie named
    driver.manage.delete_cookie('test1')
    # Verify cookie is deleted
    expect { driver.manage.cookie_named('test1') }.to raise_error(Selenium::WebDriver::Error::NoSuchCookieError)
  end
  it 'deletes all cookies' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookies into current browser context
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    driver.manage.add_cookie(name: 'test2', value: 'cookie2')
    # Delete All cookies
    driver.manage.delete_all_cookies
    # Verify all cookies are deleted
    expect(driver.manage.all_cookies.size).to eq(0)
  end
end
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');/examples/javascript/test/interactions/cookies.spec.js
  const {Browser, Builder} = require("selenium-webdriver");
  const assert = require('assert')
  
  
  describe('Cookies', function() {
    let driver;
  
    before(async function() {
      driver = new Builder()
        .forBrowser(Browser.CHROME)
        .build();
    });
  
    after(async () => await driver.quit());
  
    it('Create a cookie', async function() {
      await driver.get('https://www.selenium.dev/selenium/web/blank.html');
  
      // set a cookie on the current domain
      await driver.manage().addCookie({ name: 'key', value: 'value' });
    });
  
    it('Create cookies with sameSite', async function() {
      await driver.get('https://www.selenium.dev/selenium/web/blank.html');
  
      // set a cookie on the current domain with sameSite 'Strict' (or) 'Lax'
      await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Strict' });
      await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Lax' });
    });
  
    it('Read cookie', async function() {
      await driver.get('https://www.selenium.dev/selenium/web/blank.html');
  
      // set a cookie on the current domain
      await driver.manage().addCookie({ name: 'foo', value: 'bar' });
  
      // Get cookie details with named cookie 'foo'
      await driver.manage().getCookie('foo').then(function(cookie) {
        assert.equal(cookie.value, 'bar');
      });
    });
  
    it('Read all cookies', async function() {
      await driver.get('https://www.selenium.dev/selenium/web/blank.html');
  
      // Add few cookies
      await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
      await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
  
      // Get all Available cookies
      await driver.manage().getCookies().then(function(cookies) {
        assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 2);
      });
    });
  
    it('Delete a cookie', async function() {
      await driver.get('https://www.selenium.dev/selenium/web/blank.html');
  
      // Add few cookies
      await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
      await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
  
      // Delete a cookie with name 'test1'
      await driver.manage().deleteCookie('test1');
  
      // Get all Available cookies
      await driver.manage().getCookies().then(function(cookies) {
        assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 1);
      });
    });
  
    it('Delete all cookies', async function() {
      await driver.get('https://www.selenium.dev/selenium/web/blank.html');
  
      // Add few cookies
      await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
      await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
  
      // Delete all cookies
      await driver.manage().deleteAllCookies();
    });
  });
  import org.openqa.selenium.Cookie
import org.openqa.selenium.chrome.ChromeDriver
fun main() {
    val driver = ChromeDriver()
    try {
        driver.get("https://example.com")
        // Adds the cookie into current browser context
        driver.manage().addCookie(Cookie("key", "value"))
    } finally {
        driver.quit()
    }
}
  Get Named Cookie
Retorna os dados do cookie serializado correspondentes ao nome do cookie entre todos os cookies associados.
	    public void getNamedCookie() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookie into current browser context
	        driver.manage().addCookie(new Cookie("foo", "bar"));/examples/java/src/test/java/dev/selenium/interactions/CookiesTest.java
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The SFC licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
package dev.selenium.interactions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Assertions;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.Set;
public class CookiesTest {
	WebDriver driver = new ChromeDriver();
	@Test
	  public void addCookie() {
	      driver.get("https://www.selenium.dev/selenium/web/blank.html");
	      // Add cookie into current browser context
	      driver.manage().addCookie(new Cookie("key", "value"));
	      driver.quit();
	}
	    @Test
	    public void getNamedCookie() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookie into current browser context
	        driver.manage().addCookie(new Cookie("foo", "bar"));
	        // Get cookie details with named cookie 'foo'
	        Cookie cookie = driver.manage().getCookieNamed("foo");
	        Assertions.assertEquals(cookie.getValue(), "bar");
	        driver.quit();
	      }
	    @Test
	    public void getAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Get cookies
	        Set<Cookie> cookies = driver.manage().getCookies();
	         for (Cookie cookie : cookies) {
	            if (cookie.getName().equals("test1")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie1");
	            }
	            if (cookie.getName().equals("test2")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie2");
	            }
	         }
	         driver.quit();
	      }
	    @Test
	    public void deleteCookieNamed() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        // delete cookie named
	        driver.manage().deleteCookieNamed("test1");
	        driver.quit();
	    }
	    @Test
	    public void deleteCookieObject() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        Cookie cookie = new Cookie("test2", "cookie2");
	        driver.manage().addCookie(cookie);
	        /*
	        Selenium Java bindings also provides a way to delete
	        cookie by passing cookie object of current browsing context
	        */
	        driver.manage().deleteCookie(cookie);
	        driver.quit();
	      }
	    @Test
	    public void deleteAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Delete All cookies
	        driver.manage().deleteAllCookies();
	        driver.quit();
	      }
		  @Test
		  public void sameSiteCookie() {
		    driver.get("http://www.example.com");
     	    Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build();
            Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build();
            driver.manage().addCookie(cookie);
            driver.manage().addCookie(cookie1);
            System.out.println(cookie.getSameSite());
            System.out.println(cookie1.getSameSite());
			driver.quit();
		  }
}
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "foo", "value": "bar"})
    # Get cookie details with named cookie 'foo'
    print(driver.get_cookie("foo"))/examples/python/tests/interactions/test_cookies.py
from selenium import webdriver
def test_add_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "key", "value": "value"})
def test_get_named_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "foo", "value": "bar"})
    # Get cookie details with named cookie 'foo'
    print(driver.get_cookie("foo"))
def test_get_all_cookies():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Get all available cookies
    print(driver.get_cookies())
def test_delete_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete cookie with name 'test1'
    driver.delete_cookie("test1")
def test_delete_all_cookies():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete all cookies
    driver.delete_all_cookies()
def test_same_side_cookie_attr():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax'
    driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"})
    driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"})
    cookie1 = driver.get_cookie("foo")
    cookie2 = driver.get_cookie("foo1")
    print(cookie1)
    print(cookie2)
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookie into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("foo", "bar"));
         // Get cookie details with named cookie 'foo'
         Cookie cookie = driver.Manage().Cookies.GetCookieNamed("foo");/examples/dotnet/SeleniumDocs/Interactions/CookiesTest.cs
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The SFC licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace SeleniumDocs.Interactions{
[TestClass]
public class CookiesTest{
     
    WebDriver driver = new ChromeDriver();
     [TestMethod]
      public void addCookie(){
         driver.Url="https://www.selenium.dev/selenium/web/blank.html";
         // Add cookie into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("key", "value"));
         driver.Quit();
     }
     
     [TestMethod]
     public void getNamedCookie(){  
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookie into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("foo", "bar"));
         // Get cookie details with named cookie 'foo'
         Cookie cookie = driver.Manage().Cookies.GetCookieNamed("foo");
         Assert.AreEqual(cookie.Value, "bar");
         driver.Quit();
     }
     [TestMethod]
     public void getAllCookies(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookies into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2"));
         // Get cookies
         var cookies = driver.Manage().Cookies.AllCookies;
         foreach (var cookie in cookies){
             if (cookie.Name.Equals("test1")){
                 Assert.AreEqual("cookie1", cookie.Value);
             }
             if (cookie.Name.Equals("test2")){
                 Assert.AreEqual("cookie2", cookie.Value);
             }
         }
         driver.Quit();
     }
     
     [TestMethod]
     public void deleteCookieNamed(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         // delete cookie named
         driver.Manage().Cookies.DeleteCookieNamed("test1");
         driver.Quit();
     }
     [TestMethod]
     public void deleteCookieObject(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         Cookie cookie = new Cookie("test2", "cookie2");
         driver.Manage().Cookies.AddCookie(cookie);
         /*
      Selenium CSharp bindings also provides a way to delete
      cookie by passing cookie object of current browsing context
      */
         driver.Manage().Cookies.DeleteCookie(cookie);
         driver.Quit();
     }
     
     [TestMethod]
     public void deleteAllCookies(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookies into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2"));
         // Delete All cookies
         driver.Manage().Cookies.DeleteAllCookies();
         driver.Quit();
     }
    }
}    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookie into current browser context
    driver.manage.add_cookie(name: 'foo', value: 'bar')
    # Get cookie details with named cookie 'foo'
    cookie = driver.manage.cookie_named('foo')/examples/ruby/spec/interactions/cookies_spec.rb
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'Cookies' do
  let(:driver) { start_session }
  it 'adds a cookie' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookie into current browser context
    driver.manage.add_cookie(name: 'key', value: 'value')
    # Verify cookie was added
    expect(driver.manage.cookie_named('key')[:value]).to eq('value')
  end
  it 'gets a named cookie' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookie into current browser context
    driver.manage.add_cookie(name: 'foo', value: 'bar')
    # Get cookie details with named cookie 'foo'
    cookie = driver.manage.cookie_named('foo')
    expect(cookie[:value]).to eq('bar')
  end
  it 'gets all cookies' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookies into current browser context
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    driver.manage.add_cookie(name: 'test2', value: 'cookie2')
    # Get cookies
    cookies = driver.manage.all_cookies
    # Verify both cookies exist with correct values
    test1_cookie = cookies.find { |c| c[:name] == 'test1' }
    test2_cookie = cookies.find { |c| c[:name] == 'test2' }
    expect(test1_cookie[:value]).to eq('cookie1')
    expect(test2_cookie[:value]).to eq('cookie2')
  end
  it 'deletes a cookie by name' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    # Delete cookie named
    driver.manage.delete_cookie('test1')
    # Verify cookie is deleted
    expect { driver.manage.cookie_named('test1') }.to raise_error(Selenium::WebDriver::Error::NoSuchCookieError)
  end
  it 'deletes all cookies' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookies into current browser context
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    driver.manage.add_cookie(name: 'test2', value: 'cookie2')
    # Delete All cookies
    driver.manage.delete_all_cookies
    # Verify all cookies are deleted
    expect(driver.manage.all_cookies.size).to eq(0)
  end
end
    // set a cookie on the current domain
    await driver.manage().addCookie({ name: 'foo', value: 'bar' });
    // Get cookie details with named cookie 'foo'
/examples/javascript/test/interactions/cookies.spec.js
const {Browser, Builder} = require("selenium-webdriver");
const assert = require('assert')
describe('Cookies', function() {
  let driver;
  before(async function() {
    driver = new Builder()
      .forBrowser(Browser.CHROME)
      .build();
  });
  after(async () => await driver.quit());
  it('Create a cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain
    await driver.manage().addCookie({ name: 'key', value: 'value' });
  });
  it('Create cookies with sameSite', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain with sameSite 'Strict' (or) 'Lax'
    await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Strict' });
    await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Lax' });
  });
  it('Read cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain
    await driver.manage().addCookie({ name: 'foo', value: 'bar' });
    // Get cookie details with named cookie 'foo'
    await driver.manage().getCookie('foo').then(function(cookie) {
      assert.equal(cookie.value, 'bar');
    });
  });
  it('Read all cookies', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Get all Available cookies
    await driver.manage().getCookies().then(function(cookies) {
      assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 2);
    });
  });
  it('Delete a cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Delete a cookie with name 'test1'
    await driver.manage().deleteCookie('test1');
    // Get all Available cookies
    await driver.manage().getCookies().then(function(cookies) {
      assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 1);
    });
  });
  it('Delete all cookies', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Delete all cookies
    await driver.manage().deleteAllCookies();
  });
});
import org.openqa.selenium.Cookie
import org.openqa.selenium.chrome.ChromeDriver
fun main() {
    val driver = ChromeDriver()
    try {
        driver.get("https://example.com")
        driver.manage().addCookie(Cookie("foo", "bar"))
        // Get cookie details with named cookie 'foo'
        val cookie = driver.manage().getCookieNamed("foo")
        println(cookie)
    } finally {
        driver.quit()
    }
}  
  Get All Cookies
Retorna ‘dados de cookie serializados com sucesso’ para o contexto de navegação atual. Se o navegador não estiver mais disponível, ele retornará um erro.
	    public void getAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Get cookies
	        Set<Cookie> cookies = driver.manage().getCookies();
	         for (Cookie cookie : cookies) {
	            if (cookie.getName().equals("test1")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie1");
	            }
	            if (cookie.getName().equals("test2")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie2");/examples/java/src/test/java/dev/selenium/interactions/CookiesTest.java
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The SFC licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
package dev.selenium.interactions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Assertions;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.Set;
public class CookiesTest {
	WebDriver driver = new ChromeDriver();
	@Test
	  public void addCookie() {
	      driver.get("https://www.selenium.dev/selenium/web/blank.html");
	      // Add cookie into current browser context
	      driver.manage().addCookie(new Cookie("key", "value"));
	      driver.quit();
	}
	    @Test
	    public void getNamedCookie() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookie into current browser context
	        driver.manage().addCookie(new Cookie("foo", "bar"));
	        // Get cookie details with named cookie 'foo'
	        Cookie cookie = driver.manage().getCookieNamed("foo");
	        Assertions.assertEquals(cookie.getValue(), "bar");
	        driver.quit();
	      }
	    @Test
	    public void getAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Get cookies
	        Set<Cookie> cookies = driver.manage().getCookies();
	         for (Cookie cookie : cookies) {
	            if (cookie.getName().equals("test1")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie1");
	            }
	            if (cookie.getName().equals("test2")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie2");
	            }
	         }
	         driver.quit();
	      }
	    @Test
	    public void deleteCookieNamed() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        // delete cookie named
	        driver.manage().deleteCookieNamed("test1");
	        driver.quit();
	    }
	    @Test
	    public void deleteCookieObject() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        Cookie cookie = new Cookie("test2", "cookie2");
	        driver.manage().addCookie(cookie);
	        /*
	        Selenium Java bindings also provides a way to delete
	        cookie by passing cookie object of current browsing context
	        */
	        driver.manage().deleteCookie(cookie);
	        driver.quit();
	      }
	    @Test
	    public void deleteAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Delete All cookies
	        driver.manage().deleteAllCookies();
	        driver.quit();
	      }
		  @Test
		  public void sameSiteCookie() {
		    driver.get("http://www.example.com");
     	    Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build();
            Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build();
            driver.manage().addCookie(cookie);
            driver.manage().addCookie(cookie1);
            System.out.println(cookie.getSameSite());
            System.out.println(cookie1.getSameSite());
			driver.quit();
		  }
}
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Get all available cookies
    print(driver.get_cookies())/examples/python/tests/interactions/test_cookies.py
from selenium import webdriver
def test_add_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "key", "value": "value"})
def test_get_named_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "foo", "value": "bar"})
    # Get cookie details with named cookie 'foo'
    print(driver.get_cookie("foo"))
def test_get_all_cookies():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Get all available cookies
    print(driver.get_cookies())
def test_delete_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete cookie with name 'test1'
    driver.delete_cookie("test1")
def test_delete_all_cookies():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete all cookies
    driver.delete_all_cookies()
def test_same_side_cookie_attr():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax'
    driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"})
    driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"})
    cookie1 = driver.get_cookie("foo")
    cookie2 = driver.get_cookie("foo1")
    print(cookie1)
    print(cookie2)
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookies into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2"));
         // Get cookies
         var cookies = driver.Manage().Cookies.AllCookies;
         foreach (var cookie in cookies){
             if (cookie.Name.Equals("test1")){
                 Assert.AreEqual("cookie1", cookie.Value);
             }
             if (cookie.Name.Equals("test2")){
                 Assert.AreEqual("cookie2", cookie.Value);
             }
         }/examples/dotnet/SeleniumDocs/Interactions/CookiesTest.cs
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The SFC licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace SeleniumDocs.Interactions{
[TestClass]
public class CookiesTest{
     
    WebDriver driver = new ChromeDriver();
     [TestMethod]
      public void addCookie(){
         driver.Url="https://www.selenium.dev/selenium/web/blank.html";
         // Add cookie into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("key", "value"));
         driver.Quit();
     }
     
     [TestMethod]
     public void getNamedCookie(){  
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookie into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("foo", "bar"));
         // Get cookie details with named cookie 'foo'
         Cookie cookie = driver.Manage().Cookies.GetCookieNamed("foo");
         Assert.AreEqual(cookie.Value, "bar");
         driver.Quit();
     }
     [TestMethod]
     public void getAllCookies(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookies into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2"));
         // Get cookies
         var cookies = driver.Manage().Cookies.AllCookies;
         foreach (var cookie in cookies){
             if (cookie.Name.Equals("test1")){
                 Assert.AreEqual("cookie1", cookie.Value);
             }
             if (cookie.Name.Equals("test2")){
                 Assert.AreEqual("cookie2", cookie.Value);
             }
         }
         driver.Quit();
     }
     
     [TestMethod]
     public void deleteCookieNamed(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         // delete cookie named
         driver.Manage().Cookies.DeleteCookieNamed("test1");
         driver.Quit();
     }
     [TestMethod]
     public void deleteCookieObject(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         Cookie cookie = new Cookie("test2", "cookie2");
         driver.Manage().Cookies.AddCookie(cookie);
         /*
      Selenium CSharp bindings also provides a way to delete
      cookie by passing cookie object of current browsing context
      */
         driver.Manage().Cookies.DeleteCookie(cookie);
         driver.Quit();
     }
     
     [TestMethod]
     public void deleteAllCookies(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookies into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2"));
         // Delete All cookies
         driver.Manage().Cookies.DeleteAllCookies();
         driver.Quit();
     }
    }
}    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookies into current browser context
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    driver.manage.add_cookie(name: 'test2', value: 'cookie2')
    # Get cookies
    cookies = driver.manage.all_cookies/examples/ruby/spec/interactions/cookies_spec.rb
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'Cookies' do
  let(:driver) { start_session }
  it 'adds a cookie' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookie into current browser context
    driver.manage.add_cookie(name: 'key', value: 'value')
    # Verify cookie was added
    expect(driver.manage.cookie_named('key')[:value]).to eq('value')
  end
  it 'gets a named cookie' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookie into current browser context
    driver.manage.add_cookie(name: 'foo', value: 'bar')
    # Get cookie details with named cookie 'foo'
    cookie = driver.manage.cookie_named('foo')
    expect(cookie[:value]).to eq('bar')
  end
  it 'gets all cookies' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookies into current browser context
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    driver.manage.add_cookie(name: 'test2', value: 'cookie2')
    # Get cookies
    cookies = driver.manage.all_cookies
    # Verify both cookies exist with correct values
    test1_cookie = cookies.find { |c| c[:name] == 'test1' }
    test2_cookie = cookies.find { |c| c[:name] == 'test2' }
    expect(test1_cookie[:value]).to eq('cookie1')
    expect(test2_cookie[:value]).to eq('cookie2')
  end
  it 'deletes a cookie by name' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    # Delete cookie named
    driver.manage.delete_cookie('test1')
    # Verify cookie is deleted
    expect { driver.manage.cookie_named('test1') }.to raise_error(Selenium::WebDriver::Error::NoSuchCookieError)
  end
  it 'deletes all cookies' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookies into current browser context
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    driver.manage.add_cookie(name: 'test2', value: 'cookie2')
    # Delete All cookies
    driver.manage.delete_all_cookies
    # Verify all cookies are deleted
    expect(driver.manage.all_cookies.size).to eq(0)
  end
end
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Get all Available cookies
/examples/javascript/test/interactions/cookies.spec.js
const {Browser, Builder} = require("selenium-webdriver");
const assert = require('assert')
describe('Cookies', function() {
  let driver;
  before(async function() {
    driver = new Builder()
      .forBrowser(Browser.CHROME)
      .build();
  });
  after(async () => await driver.quit());
  it('Create a cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain
    await driver.manage().addCookie({ name: 'key', value: 'value' });
  });
  it('Create cookies with sameSite', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain with sameSite 'Strict' (or) 'Lax'
    await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Strict' });
    await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Lax' });
  });
  it('Read cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain
    await driver.manage().addCookie({ name: 'foo', value: 'bar' });
    // Get cookie details with named cookie 'foo'
    await driver.manage().getCookie('foo').then(function(cookie) {
      assert.equal(cookie.value, 'bar');
    });
  });
  it('Read all cookies', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Get all Available cookies
    await driver.manage().getCookies().then(function(cookies) {
      assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 2);
    });
  });
  it('Delete a cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Delete a cookie with name 'test1'
    await driver.manage().deleteCookie('test1');
    // Get all Available cookies
    await driver.manage().getCookies().then(function(cookies) {
      assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 1);
    });
  });
  it('Delete all cookies', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Delete all cookies
    await driver.manage().deleteAllCookies();
  });
});
import org.openqa.selenium.Cookie
import org.openqa.selenium.chrome.ChromeDriver
fun main() {
    val driver = ChromeDriver()
    try {
        driver.get("https://example.com")
        driver.manage().addCookie(Cookie("test1", "cookie1"))
        driver.manage().addCookie(Cookie("test2", "cookie2"))
        // Get All available cookies
        val cookies = driver.manage().cookies
        println(cookies)
    } finally {
        driver.quit()
    }
}  
  Delete Cookie
Exclui os dados do cookie que correspondem ao nome do cookie fornecido.
	    public void deleteCookieNamed() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));/examples/java/src/test/java/dev/selenium/interactions/CookiesTest.java
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The SFC licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
package dev.selenium.interactions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Assertions;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.Set;
public class CookiesTest {
	WebDriver driver = new ChromeDriver();
	@Test
	  public void addCookie() {
	      driver.get("https://www.selenium.dev/selenium/web/blank.html");
	      // Add cookie into current browser context
	      driver.manage().addCookie(new Cookie("key", "value"));
	      driver.quit();
	}
	    @Test
	    public void getNamedCookie() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookie into current browser context
	        driver.manage().addCookie(new Cookie("foo", "bar"));
	        // Get cookie details with named cookie 'foo'
	        Cookie cookie = driver.manage().getCookieNamed("foo");
	        Assertions.assertEquals(cookie.getValue(), "bar");
	        driver.quit();
	      }
	    @Test
	    public void getAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Get cookies
	        Set<Cookie> cookies = driver.manage().getCookies();
	         for (Cookie cookie : cookies) {
	            if (cookie.getName().equals("test1")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie1");
	            }
	            if (cookie.getName().equals("test2")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie2");
	            }
	         }
	         driver.quit();
	      }
	    @Test
	    public void deleteCookieNamed() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        // delete cookie named
	        driver.manage().deleteCookieNamed("test1");
	        driver.quit();
	    }
	    @Test
	    public void deleteCookieObject() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        Cookie cookie = new Cookie("test2", "cookie2");
	        driver.manage().addCookie(cookie);
	        /*
	        Selenium Java bindings also provides a way to delete
	        cookie by passing cookie object of current browsing context
	        */
	        driver.manage().deleteCookie(cookie);
	        driver.quit();
	      }
	    @Test
	    public void deleteAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Delete All cookies
	        driver.manage().deleteAllCookies();
	        driver.quit();
	      }
		  @Test
		  public void sameSiteCookie() {
		    driver.get("http://www.example.com");
     	    Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build();
            Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build();
            driver.manage().addCookie(cookie);
            driver.manage().addCookie(cookie1);
            System.out.println(cookie.getSameSite());
            System.out.println(cookie1.getSameSite());
			driver.quit();
		  }
}
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete cookie with name 'test1'
    driver.delete_cookie("test1")/examples/python/tests/interactions/test_cookies.py
from selenium import webdriver
def test_add_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "key", "value": "value"})
def test_get_named_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "foo", "value": "bar"})
    # Get cookie details with named cookie 'foo'
    print(driver.get_cookie("foo"))
def test_get_all_cookies():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Get all available cookies
    print(driver.get_cookies())
def test_delete_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete cookie with name 'test1'
    driver.delete_cookie("test1")
def test_delete_all_cookies():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete all cookies
    driver.delete_all_cookies()
def test_same_side_cookie_attr():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax'
    driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"})
    driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"})
    cookie1 = driver.get_cookie("foo")
    cookie2 = driver.get_cookie("foo1")
    print(cookie1)
    print(cookie2)
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         // delete cookie named
         driver.Manage().Cookies.DeleteCookieNamed("test1");/examples/dotnet/SeleniumDocs/Interactions/CookiesTest.cs
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The SFC licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace SeleniumDocs.Interactions{
[TestClass]
public class CookiesTest{
     
    WebDriver driver = new ChromeDriver();
     [TestMethod]
      public void addCookie(){
         driver.Url="https://www.selenium.dev/selenium/web/blank.html";
         // Add cookie into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("key", "value"));
         driver.Quit();
     }
     
     [TestMethod]
     public void getNamedCookie(){  
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookie into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("foo", "bar"));
         // Get cookie details with named cookie 'foo'
         Cookie cookie = driver.Manage().Cookies.GetCookieNamed("foo");
         Assert.AreEqual(cookie.Value, "bar");
         driver.Quit();
     }
     [TestMethod]
     public void getAllCookies(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookies into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2"));
         // Get cookies
         var cookies = driver.Manage().Cookies.AllCookies;
         foreach (var cookie in cookies){
             if (cookie.Name.Equals("test1")){
                 Assert.AreEqual("cookie1", cookie.Value);
             }
             if (cookie.Name.Equals("test2")){
                 Assert.AreEqual("cookie2", cookie.Value);
             }
         }
         driver.Quit();
     }
     
     [TestMethod]
     public void deleteCookieNamed(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         // delete cookie named
         driver.Manage().Cookies.DeleteCookieNamed("test1");
         driver.Quit();
     }
     [TestMethod]
     public void deleteCookieObject(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         Cookie cookie = new Cookie("test2", "cookie2");
         driver.Manage().Cookies.AddCookie(cookie);
         /*
      Selenium CSharp bindings also provides a way to delete
      cookie by passing cookie object of current browsing context
      */
         driver.Manage().Cookies.DeleteCookie(cookie);
         driver.Quit();
     }
     
     [TestMethod]
     public void deleteAllCookies(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookies into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2"));
         // Delete All cookies
         driver.Manage().Cookies.DeleteAllCookies();
         driver.Quit();
     }
    }
}    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    # Delete cookie named
    driver.manage.delete_cookie('test1')/examples/ruby/spec/interactions/cookies_spec.rb
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'Cookies' do
  let(:driver) { start_session }
  it 'adds a cookie' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookie into current browser context
    driver.manage.add_cookie(name: 'key', value: 'value')
    # Verify cookie was added
    expect(driver.manage.cookie_named('key')[:value]).to eq('value')
  end
  it 'gets a named cookie' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookie into current browser context
    driver.manage.add_cookie(name: 'foo', value: 'bar')
    # Get cookie details with named cookie 'foo'
    cookie = driver.manage.cookie_named('foo')
    expect(cookie[:value]).to eq('bar')
  end
  it 'gets all cookies' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookies into current browser context
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    driver.manage.add_cookie(name: 'test2', value: 'cookie2')
    # Get cookies
    cookies = driver.manage.all_cookies
    # Verify both cookies exist with correct values
    test1_cookie = cookies.find { |c| c[:name] == 'test1' }
    test2_cookie = cookies.find { |c| c[:name] == 'test2' }
    expect(test1_cookie[:value]).to eq('cookie1')
    expect(test2_cookie[:value]).to eq('cookie2')
  end
  it 'deletes a cookie by name' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    # Delete cookie named
    driver.manage.delete_cookie('test1')
    # Verify cookie is deleted
    expect { driver.manage.cookie_named('test1') }.to raise_error(Selenium::WebDriver::Error::NoSuchCookieError)
  end
  it 'deletes all cookies' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookies into current browser context
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    driver.manage.add_cookie(name: 'test2', value: 'cookie2')
    # Delete All cookies
    driver.manage.delete_all_cookies
    # Verify all cookies are deleted
    expect(driver.manage.all_cookies.size).to eq(0)
  end
end
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });/examples/javascript/test/interactions/cookies.spec.js
const {Browser, Builder} = require("selenium-webdriver");
const assert = require('assert')
describe('Cookies', function() {
  let driver;
  before(async function() {
    driver = new Builder()
      .forBrowser(Browser.CHROME)
      .build();
  });
  after(async () => await driver.quit());
  it('Create a cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain
    await driver.manage().addCookie({ name: 'key', value: 'value' });
  });
  it('Create cookies with sameSite', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain with sameSite 'Strict' (or) 'Lax'
    await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Strict' });
    await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Lax' });
  });
  it('Read cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain
    await driver.manage().addCookie({ name: 'foo', value: 'bar' });
    // Get cookie details with named cookie 'foo'
    await driver.manage().getCookie('foo').then(function(cookie) {
      assert.equal(cookie.value, 'bar');
    });
  });
  it('Read all cookies', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Get all Available cookies
    await driver.manage().getCookies().then(function(cookies) {
      assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 2);
    });
  });
  it('Delete a cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Delete a cookie with name 'test1'
    await driver.manage().deleteCookie('test1');
    // Get all Available cookies
    await driver.manage().getCookies().then(function(cookies) {
      assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 1);
    });
  });
  it('Delete all cookies', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Delete all cookies
    await driver.manage().deleteAllCookies();
  });
});
import org.openqa.selenium.Cookie
import org.openqa.selenium.chrome.ChromeDriver
fun main() {
    val driver = ChromeDriver()
    try {
        driver.get("https://example.com")
        driver.manage().addCookie(Cookie("test1", "cookie1"))
        val cookie1 = Cookie("test2", "cookie2")
        driver.manage().addCookie(cookie1)
        // delete a cookie with name 'test1'
        driver.manage().deleteCookieNamed("test1")
        
        // delete cookie by passing cookie object of current browsing context.
        driver.manage().deleteCookie(cookie1)
    } finally {
        driver.quit()
    }
}  
  Delete All Cookies
Exclui todos os cookies do contexto de navegação atual.
	    public void deleteAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));/examples/java/src/test/java/dev/selenium/interactions/CookiesTest.java
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The SFC licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
package dev.selenium.interactions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Assertions;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.Set;
public class CookiesTest {
	WebDriver driver = new ChromeDriver();
	@Test
	  public void addCookie() {
	      driver.get("https://www.selenium.dev/selenium/web/blank.html");
	      // Add cookie into current browser context
	      driver.manage().addCookie(new Cookie("key", "value"));
	      driver.quit();
	}
	    @Test
	    public void getNamedCookie() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookie into current browser context
	        driver.manage().addCookie(new Cookie("foo", "bar"));
	        // Get cookie details with named cookie 'foo'
	        Cookie cookie = driver.manage().getCookieNamed("foo");
	        Assertions.assertEquals(cookie.getValue(), "bar");
	        driver.quit();
	      }
	    @Test
	    public void getAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Get cookies
	        Set<Cookie> cookies = driver.manage().getCookies();
	         for (Cookie cookie : cookies) {
	            if (cookie.getName().equals("test1")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie1");
	            }
	            if (cookie.getName().equals("test2")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie2");
	            }
	         }
	         driver.quit();
	      }
	    @Test
	    public void deleteCookieNamed() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        // delete cookie named
	        driver.manage().deleteCookieNamed("test1");
	        driver.quit();
	    }
	    @Test
	    public void deleteCookieObject() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        Cookie cookie = new Cookie("test2", "cookie2");
	        driver.manage().addCookie(cookie);
	        /*
	        Selenium Java bindings also provides a way to delete
	        cookie by passing cookie object of current browsing context
	        */
	        driver.manage().deleteCookie(cookie);
	        driver.quit();
	      }
	    @Test
	    public void deleteAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Delete All cookies
	        driver.manage().deleteAllCookies();
	        driver.quit();
	      }
		  @Test
		  public void sameSiteCookie() {
		    driver.get("http://www.example.com");
     	    Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build();
            Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build();
            driver.manage().addCookie(cookie);
            driver.manage().addCookie(cookie1);
            System.out.println(cookie.getSameSite());
            System.out.println(cookie1.getSameSite());
			driver.quit();
		  }
}
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete all cookies
    driver.delete_all_cookies()/examples/python/tests/interactions/test_cookies.py
from selenium import webdriver
def test_add_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "key", "value": "value"})
def test_get_named_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "foo", "value": "bar"})
    # Get cookie details with named cookie 'foo'
    print(driver.get_cookie("foo"))
def test_get_all_cookies():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Get all available cookies
    print(driver.get_cookies())
def test_delete_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete cookie with name 'test1'
    driver.delete_cookie("test1")
def test_delete_all_cookies():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete all cookies
    driver.delete_all_cookies()
def test_same_side_cookie_attr():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax'
    driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"})
    driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"})
    cookie1 = driver.get_cookie("foo")
    cookie2 = driver.get_cookie("foo1")
    print(cookie1)
    print(cookie2)
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookies into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2"));
         // Delete All cookies
         driver.Manage().Cookies.DeleteAllCookies();/examples/dotnet/SeleniumDocs/Interactions/CookiesTest.cs
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The SFC licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace SeleniumDocs.Interactions{
[TestClass]
public class CookiesTest{
     
    WebDriver driver = new ChromeDriver();
     [TestMethod]
      public void addCookie(){
         driver.Url="https://www.selenium.dev/selenium/web/blank.html";
         // Add cookie into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("key", "value"));
         driver.Quit();
     }
     
     [TestMethod]
     public void getNamedCookie(){  
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookie into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("foo", "bar"));
         // Get cookie details with named cookie 'foo'
         Cookie cookie = driver.Manage().Cookies.GetCookieNamed("foo");
         Assert.AreEqual(cookie.Value, "bar");
         driver.Quit();
     }
     [TestMethod]
     public void getAllCookies(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookies into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2"));
         // Get cookies
         var cookies = driver.Manage().Cookies.AllCookies;
         foreach (var cookie in cookies){
             if (cookie.Name.Equals("test1")){
                 Assert.AreEqual("cookie1", cookie.Value);
             }
             if (cookie.Name.Equals("test2")){
                 Assert.AreEqual("cookie2", cookie.Value);
             }
         }
         driver.Quit();
     }
     
     [TestMethod]
     public void deleteCookieNamed(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         // delete cookie named
         driver.Manage().Cookies.DeleteCookieNamed("test1");
         driver.Quit();
     }
     [TestMethod]
     public void deleteCookieObject(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         Cookie cookie = new Cookie("test2", "cookie2");
         driver.Manage().Cookies.AddCookie(cookie);
         /*
      Selenium CSharp bindings also provides a way to delete
      cookie by passing cookie object of current browsing context
      */
         driver.Manage().Cookies.DeleteCookie(cookie);
         driver.Quit();
     }
     
     [TestMethod]
     public void deleteAllCookies(){
         driver.Url = "https://www.selenium.dev/selenium/web/blank.html";
         // Add cookies into current browser context
         driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1"));
         driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2"));
         // Delete All cookies
         driver.Manage().Cookies.DeleteAllCookies();
         driver.Quit();
     }
    }
}    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookies into current browser context
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    driver.manage.add_cookie(name: 'test2', value: 'cookie2')
    # Delete All cookies
    driver.manage.delete_all_cookies/examples/ruby/spec/interactions/cookies_spec.rb
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'Cookies' do
  let(:driver) { start_session }
  it 'adds a cookie' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookie into current browser context
    driver.manage.add_cookie(name: 'key', value: 'value')
    # Verify cookie was added
    expect(driver.manage.cookie_named('key')[:value]).to eq('value')
  end
  it 'gets a named cookie' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookie into current browser context
    driver.manage.add_cookie(name: 'foo', value: 'bar')
    # Get cookie details with named cookie 'foo'
    cookie = driver.manage.cookie_named('foo')
    expect(cookie[:value]).to eq('bar')
  end
  it 'gets all cookies' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookies into current browser context
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    driver.manage.add_cookie(name: 'test2', value: 'cookie2')
    # Get cookies
    cookies = driver.manage.all_cookies
    # Verify both cookies exist with correct values
    test1_cookie = cookies.find { |c| c[:name] == 'test1' }
    test2_cookie = cookies.find { |c| c[:name] == 'test2' }
    expect(test1_cookie[:value]).to eq('cookie1')
    expect(test2_cookie[:value]).to eq('cookie2')
  end
  it 'deletes a cookie by name' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    # Delete cookie named
    driver.manage.delete_cookie('test1')
    # Verify cookie is deleted
    expect { driver.manage.cookie_named('test1') }.to raise_error(Selenium::WebDriver::Error::NoSuchCookieError)
  end
  it 'deletes all cookies' do
    driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html'
    # Add cookies into current browser context
    driver.manage.add_cookie(name: 'test1', value: 'cookie1')
    driver.manage.add_cookie(name: 'test2', value: 'cookie2')
    # Delete All cookies
    driver.manage.delete_all_cookies
    # Verify all cookies are deleted
    expect(driver.manage.all_cookies.size).to eq(0)
  end
end
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });/examples/javascript/test/interactions/cookies.spec.js
const {Browser, Builder} = require("selenium-webdriver");
const assert = require('assert')
describe('Cookies', function() {
  let driver;
  before(async function() {
    driver = new Builder()
      .forBrowser(Browser.CHROME)
      .build();
  });
  after(async () => await driver.quit());
  it('Create a cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain
    await driver.manage().addCookie({ name: 'key', value: 'value' });
  });
  it('Create cookies with sameSite', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain with sameSite 'Strict' (or) 'Lax'
    await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Strict' });
    await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Lax' });
  });
  it('Read cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain
    await driver.manage().addCookie({ name: 'foo', value: 'bar' });
    // Get cookie details with named cookie 'foo'
    await driver.manage().getCookie('foo').then(function(cookie) {
      assert.equal(cookie.value, 'bar');
    });
  });
  it('Read all cookies', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Get all Available cookies
    await driver.manage().getCookies().then(function(cookies) {
      assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 2);
    });
  });
  it('Delete a cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Delete a cookie with name 'test1'
    await driver.manage().deleteCookie('test1');
    // Get all Available cookies
    await driver.manage().getCookies().then(function(cookies) {
      assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 1);
    });
  });
  it('Delete all cookies', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Delete all cookies
    await driver.manage().deleteAllCookies();
  });
});
import org.openqa.selenium.Cookie
import org.openqa.selenium.chrome.ChromeDriver
fun main() {
    val driver = ChromeDriver()
    try {
        driver.get("https://example.com")
        driver.manage().addCookie(Cookie("test1", "cookie1"))
        driver.manage().addCookie(Cookie("test2", "cookie2"))
        // deletes all cookies
        driver.manage().deleteAllCookies()
    } finally {
        driver.quit()
    }
}  
  Same-Site Cookie Attribute
Permite que um usuário instrua os navegadores a controlar se os cookies são enviados junto com a solicitação iniciada por sites de terceiros. É usado para evitar ataques CSRF (Cross-Site Request Forgery).
O atributo de cookie Same-Site aceita dois parâmetros como instruções
Strict:
Quando o atributo sameSite é definido como Strict, o cookie não será enviado junto com solicitações iniciadas por sites de terceiros.
Lax:
Quando você define um atributo cookie sameSite como Lax, o cookie será enviado junto com uma solicitação GET iniciada por um site de terceiros.
Nota: a partir de agora, esse recurso está disponível no Chrome (versão 80+), Firefox (versão 79+) e funciona com Selenium 4 e versões posteriores.
		  @Test
		  public void sameSiteCookie() {
		    driver.get("http://www.example.com");
     	    Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build();
            Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build();
            driver.manage().addCookie(cookie);
            driver.manage().addCookie(cookie1);
/examples/java/src/test/java/dev/selenium/interactions/CookiesTest.java
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The SFC licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
package dev.selenium.interactions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Assertions;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.Set;
public class CookiesTest {
	WebDriver driver = new ChromeDriver();
	@Test
	  public void addCookie() {
	      driver.get("https://www.selenium.dev/selenium/web/blank.html");
	      // Add cookie into current browser context
	      driver.manage().addCookie(new Cookie("key", "value"));
	      driver.quit();
	}
	    @Test
	    public void getNamedCookie() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookie into current browser context
	        driver.manage().addCookie(new Cookie("foo", "bar"));
	        // Get cookie details with named cookie 'foo'
	        Cookie cookie = driver.manage().getCookieNamed("foo");
	        Assertions.assertEquals(cookie.getValue(), "bar");
	        driver.quit();
	      }
	    @Test
	    public void getAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Get cookies
	        Set<Cookie> cookies = driver.manage().getCookies();
	         for (Cookie cookie : cookies) {
	            if (cookie.getName().equals("test1")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie1");
	            }
	            if (cookie.getName().equals("test2")) {
	                Assertions.assertEquals(cookie.getValue(), "cookie2");
	            }
	         }
	         driver.quit();
	      }
	    @Test
	    public void deleteCookieNamed() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        // delete cookie named
	        driver.manage().deleteCookieNamed("test1");
	        driver.quit();
	    }
	    @Test
	    public void deleteCookieObject() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        Cookie cookie = new Cookie("test2", "cookie2");
	        driver.manage().addCookie(cookie);
	        /*
	        Selenium Java bindings also provides a way to delete
	        cookie by passing cookie object of current browsing context
	        */
	        driver.manage().deleteCookie(cookie);
	        driver.quit();
	      }
	    @Test
	    public void deleteAllCookies() {
	        driver.get("https://www.selenium.dev/selenium/web/blank.html");
	        // Add cookies into current browser context
	        driver.manage().addCookie(new Cookie("test1", "cookie1"));
	        driver.manage().addCookie(new Cookie("test2", "cookie2"));
	        // Delete All cookies
	        driver.manage().deleteAllCookies();
	        driver.quit();
	      }
		  @Test
		  public void sameSiteCookie() {
		    driver.get("http://www.example.com");
     	    Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build();
            Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build();
            driver.manage().addCookie(cookie);
            driver.manage().addCookie(cookie1);
            System.out.println(cookie.getSameSite());
            System.out.println(cookie1.getSameSite());
			driver.quit();
		  }
}
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax'
    driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"})
    driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"})
    cookie1 = driver.get_cookie("foo")
    cookie2 = driver.get_cookie("foo1")
    print(cookie1)
    print(cookie2)/examples/python/tests/interactions/test_cookies.py
from selenium import webdriver
def test_add_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "key", "value": "value"})
def test_get_named_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context
    driver.add_cookie({"name": "foo", "value": "bar"})
    # Get cookie details with named cookie 'foo'
    print(driver.get_cookie("foo"))
def test_get_all_cookies():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Get all available cookies
    print(driver.get_cookies())
def test_delete_cookie():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete cookie with name 'test1'
    driver.delete_cookie("test1")
def test_delete_all_cookies():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    driver.add_cookie({"name": "test1", "value": "cookie1"})
    driver.add_cookie({"name": "test2", "value": "cookie2"})
    # Delete all cookies
    driver.delete_all_cookies()
def test_same_side_cookie_attr():
    driver = webdriver.Chrome()
    driver.get("http://www.example.com")
    # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax'
    driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"})
    driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"})
    cookie1 = driver.get_cookie("foo")
    cookie2 = driver.get_cookie("foo1")
    print(cookie1)
    print(cookie2)
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace SameSiteCookie {
  class SameSiteCookie {
    static void Main(string[] args) {
      IWebDriver driver = new ChromeDriver();
      try {
        driver.Navigate().GoToUrl("http://www.example.com");
        var cookie1Dictionary = new System.Collections.Generic.Dictionary<string, object>() {
          { "name", "test1" }, { "value", "cookie1" }, { "sameSite", "Strict" } };
        var cookie1 = Cookie.FromDictionary(cookie1Dictionary);
        var cookie2Dictionary = new System.Collections.Generic.Dictionary<string, object>() {
          { "name", "test2" }, { "value", "cookie2" }, { "sameSite", "Lax" } };
        var cookie2 = Cookie.FromDictionary(cookie2Dictionary);
        driver.Manage().Cookies.AddCookie(cookie1);
        driver.Manage().Cookies.AddCookie(cookie2);
        System.Console.WriteLine(cookie1.SameSite);
        System.Console.WriteLine(cookie2.SameSite);
      } finally {
        driver.Quit();
      }
    }
  }
}
  require 'selenium-webdriver'
driver = Selenium::WebDriver.for :chrome
begin
  driver.get 'https://www.example.com'
  # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax'
  driver.manage.add_cookie(name: "foo", value: "bar", same_site: "Strict")
  driver.manage.add_cookie(name: "foo1", value: "bar", same_site: "Lax")
  puts driver.manage.cookie_named('foo')
  puts driver.manage.cookie_named('foo1')
ensure
  driver.quit
end
    it('Create cookies with sameSite', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
/examples/javascript/test/interactions/cookies.spec.js
const {Browser, Builder} = require("selenium-webdriver");
const assert = require('assert')
describe('Cookies', function() {
  let driver;
  before(async function() {
    driver = new Builder()
      .forBrowser(Browser.CHROME)
      .build();
  });
  after(async () => await driver.quit());
  it('Create a cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain
    await driver.manage().addCookie({ name: 'key', value: 'value' });
  });
  it('Create cookies with sameSite', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain with sameSite 'Strict' (or) 'Lax'
    await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Strict' });
    await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Lax' });
  });
  it('Read cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // set a cookie on the current domain
    await driver.manage().addCookie({ name: 'foo', value: 'bar' });
    // Get cookie details with named cookie 'foo'
    await driver.manage().getCookie('foo').then(function(cookie) {
      assert.equal(cookie.value, 'bar');
    });
  });
  it('Read all cookies', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Get all Available cookies
    await driver.manage().getCookies().then(function(cookies) {
      assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 2);
    });
  });
  it('Delete a cookie', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Delete a cookie with name 'test1'
    await driver.manage().deleteCookie('test1');
    // Get all Available cookies
    await driver.manage().getCookies().then(function(cookies) {
      assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 1);
    });
  });
  it('Delete all cookies', async function() {
    await driver.get('https://www.selenium.dev/selenium/web/blank.html');
    // Add few cookies
    await driver.manage().addCookie({ name: 'test1', value: 'cookie1' });
    await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });
    // Delete all cookies
    await driver.manage().deleteAllCookies();
  });
});
import org.openqa.selenium.Cookie
import org.openqa.selenium.chrome.ChromeDriver
fun main() {
    val driver = ChromeDriver()
    try {
        driver.get("http://www.example.com")
        val cookie = Cookie.Builder("key", "value").sameSite("Strict").build()
        val cookie1 = Cookie.Builder("key", "value").sameSite("Lax").build()
        driver.manage().addCookie(cookie)
        driver.manage().addCookie(cookie1)
        println(cookie.getSameSite())
        println(cookie1.getSameSite())
    } finally {
        driver.quit()
    }
}
  



