对于Web应用程序,我尝试了以下方法来检索cookie并将其添加到以后的测试中。
第一个测试由以下内容组成:
public void HomePage_Should_Route_To_EntitlementMaintenance_Page()
{
WaitFor<HomePage>()
.EnterBusinessID(Keywords.Keywords.EntitlementsMaintenanceBusinesses.BusinessError)
.SetSchemeYear(Keywords.Keywords.SchemeYears.2017)
.ClickGetDataButton()
.SelectEntitlementMaintenanceAndVerifyOnPage()
.GetCookie();
}
我已经调用GetCookie方法来检索此页面的cookie
然后我按如下步骤进行第二次测试
{
WaitFor<EntitlementsMaintenance>()
.AddCookie()
.EnterBusinessID(Keywords.Keywords.EntitlementsMaintenanceBusinesses.BusinessWithENTError)
.SetSchemeYear(Keywords.Keywords.SchemeYears.SchemeYear2017)
.ClickGetDataButton()
.IsENTWarningDisplayed()
.Should()
.BeTrue();
}
对于第二个测试,我调用了添加cookie方法来添加在第一个测试中检索到的cookie。
两种cookie方法如下制作
public Cookie GetCookie()
{
cookies = DriverProvider.GetDriver().Manage().Cookies.GetCookieNamed ("entitlementsmaintenance");
return cookies;
}
添加cookie方法是:
public EntitlementsMaintenance AddCookie()
{
DriverProvider.GetDriver().Manage().Cookies.AddCookie(cookies);
return this;
}
运行测试后,我仍然会看到行为,好像没有正确添加cookie。
有没有一种方法可以验证cookie是否在第一次测试中被收集并用于第二次测试?
答案 0 :(得分:0)
第一个测试可能正确运行并获取了cookie,但似乎第二个测试就完成了
public EntitlementsMaintenance AddCookie()
{
DriverProvider.GetDriver().Manage().Cookies.AddCookie(cookies);
return this;
}
变量cookies
可能为null?我不知道如何将变量(是类变量还是局部变量)传递到下一个测试。也许您应该尝试查看何时AddCookie(cookies);
变量确实具有信息。