Login 使用WatiN验证登录的理想方法是什么?

Login 使用WatiN验证登录的理想方法是什么?,login,automated-tests,watin,membership,status,Login,Automated Tests,Watin,Membership,Status,我正在试图找到最好的方法来验证用户是否登录以及他们所扮演的角色,我正在考虑一些方法来处理这个问题 1:将登录状态和角色存储在不可见控件中并读取。 2:使用WatiN可以指向的web服务,该服务将返回方法调用 还有其他想法吗?登录是否会在您的UI中产生可见的更改?如果有,我将测试这些更改背后的标记是否存在。如果没有,我会问自己一个问题,“从用户的角度来看,登录会产生什么变化?”然后我会测试是否存在一个或多个这些变化。这可能类似于正确加载只有登录用户才能访问的页面,或者存在一个按钮或链接来访问仅提供

我正在试图找到最好的方法来验证用户是否登录以及他们所扮演的角色,我正在考虑一些方法来处理这个问题

1:将登录状态和角色存储在不可见控件中并读取。
2:使用WatiN可以指向的web服务,该服务将返回方法调用


还有其他想法吗?

登录是否会在您的UI中产生可见的更改?如果有,我将测试这些更改背后的标记是否存在。如果没有,我会问自己一个问题,“从用户的角度来看,登录会产生什么变化?”然后我会测试是否存在一个或多个这些变化。这可能类似于正确加载只有登录用户才能访问的页面,或者存在一个按钮或链接来访问仅提供给经过身份验证的用户的内容


这就是WatiN的设计目的:从实际用户的角度测试应用程序功能的正确性。我不希望看到您不得不添加隐藏字段或额外的web服务来支持您的测试工具。

登录是否会在您的UI中产生可见的更改?如果有,我将测试这些更改背后的标记是否存在。如果没有,我会问自己一个问题,“从用户的角度来看,登录会产生什么变化?”然后我会测试是否存在一个或多个这些变化。这可能类似于正确加载只有登录用户才能访问的页面,或者存在一个按钮或链接来访问仅提供给经过身份验证的用户的内容


这就是WatiN的设计目的:从实际用户的角度测试应用程序功能的正确性。我不希望看到您不得不添加隐藏字段或额外的web服务来支持您的测试工具。

我们完全按照Waylon建议的方式进行检查

public bool IsLoggedIn
{
    get { return !this.loginLink.Exists && this.logoutLink.Exists; }
}

我们完全按照韦伦建议的方式检查这一点

public bool IsLoggedIn
{
    get { return !this.loginLink.Exists && this.logoutLink.Exists; }
}