1.概述

在本文中,我们会快速看如何使用cookie硒韦伯里夫在Java。

我们会谈谈一些用例,然后我们将直接金宝搏官网188be跳到代码中。

2.使用cookie

用于操纵cookie的日常用例是持续到测试之间的会话。

甚至更简单的方案是我们想要测试我们的后端是否正确设置Cookie。

在下一节中,我们将简要介绍处理简单代码示例的同时处理cookie。金宝搏官网188be

2.1。设置

我们需要添加Selenium-Java.依赖我们的项目:

<依赖>  org.seleniumhq.selenium   SELENIUM-JAVA   3.14.0  

让我们设置我们的测试课程:

公共类SeleniumCookiesJunitlivetest {私人Webdriver驱动程序;私有字符串Navurl;@Before public void setup(){capabilities capabilities = lausencecapabilities.firefox();司机=新的FirefoxDriver(能力);navurl =“https://b金宝搏188体育aeldung.com”;}}

2.2。读饼干

接下来,我们将实现一个简单的测试,以验证我们的驱动程序在我们导航到网页后是否存在cookie:

@test public void whennavige_thencookiesexist(){driver.navigate()。到(navurl);set  cookie = driver.Manage()。GetCookies();assertthat(饼干,(不是(空()))));}

通常,我们可能想搜索特定的cookie

@Test public void whenNavigate_thenLpCookieIsHasCorrectValue(){驱动程序导航().to(navUrl);Cookie lpCookie = driver.manage().getCookieNamed(“lp_120073”);为了(lpCookie.getValue (), containsString (" www.baeld金宝搏188体育ung.com "));}

2.3。cookie属性

Cookie可以与域相关联,有一个到期日,还有更多。

让我们来看看一些常见的cookie属性:

@test public void whennavige_thenlpcookiehascorRectprops(){driver.navigate()。至(invurl);Cookie lpCookie = driver.manage().getCookieNamed(“lp_120073”);assertthat(lpcookie.getdomain(),等于(“baeldun金宝搏188体育g.com”));asserthat(lpcookie.getpath(),等于(“/”));assertthat(lpcookie.getexpiry(),是(不是(nullvalue()))))));assertthat(lpcookie.issecure(),等于(false));assertthat(lpcookie.ishttponly(),等于(false));}

2.4。添加cookie.

添加cookie是一个简单的过程。

我们创建cookie并使用它将其添加到驱动程序中addcookie.方法:

@Test public void whenaddingcookie_thenitipresent () {driver.navigate().to(navUrl);Cookie Cookie = new Cookie(“foo”,“bar”);driver.manage () .addCookie(饼干);Cookie driverCookie = driver.manage().getCookieNamed(“foo”);为了(driverCookie.getValue(),等于(“酒吧”));}

2.5。删除cookie.

正如我们可能会预期的那样,我们还可以使用使用的cookiedeletecookie方法:

@test公共void whendeletingcookie_thenitaabsent(){driver.navigate()。至(invurl);Cookie lpCookie = driver.manage().getCookieNamed(“lp_120073”);assertthat(lpcookie,是(不是(nullvalue()))));Driver.Manage()。Deletecookie(LPCookie);cookie deletedcookie = driver.Manage()。GetCookienamed(“LP_120073”);assertthat(deletedcookie,是(nullvalue()));}

2.6。覆盖饼干

虽然没有明确的方法来覆盖饼干,但有一种简单的方法。

我们可以删除cookie并添加一个具有相同名称的新一个,但值不同:

@test公共void whootoveringcookie_thenityupdated(){driver.navigate()。到(navurl);Cookie lpCookie = driver.manage().getCookieNamed(“lp_120073”);Driver.Manage()。Deletecookie(LPCookie);cookie newlpcookie = new cookie(“lp_120073”,“foo”);driver.Manage()。AddCookie(NewLpcookie);cookie overriddencookie = driver.Manage()。GetCookienamed(“LP_120073”);assertthat(overriddencookie.getValue(),等于(“foo”));}

3.结论

在此快速教程中,我们学会了如何通过快速实际的示例在Java中使用Selenium WebDriver使用Cookie。

一如既往,代码可用在GitHub

通用底部

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程
评论在本文上关闭!