在C#中验证获取和添加Cookie

时间:2018-08-07 14:22:34

标签: c# selenium cookies

对于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是否在第一次测试中被收集并用于第二次测试?

1 个答案:

答案 0 :(得分:0)

第一个测试可能正确运行并获取了cookie,但似乎第二个测试就完成了

public EntitlementsMaintenance AddCookie()
{
    DriverProvider.GetDriver().Manage().Cookies.AddCookie(cookies);
    return this;
}

变量cookies可能为null?我不知道如何将变量(是类变量还是局部变量)传递到下一个测试。也许您应该尝试查看何时AddCookie(cookies);变量确实具有信息。