通过Selenium2处理程序访问的站点地图上的安全修整

时间:2012-04-19 19:49:08

标签: sitemap selenium-webdriver

我使用NUnit和Selenium2的组合成功测试了一个ASP.NET网站。我没有问题。我正在对测试网站进行测试;测试系统和测试过的站点是分开的,尽管它们可能在同一台机器上 - 它们通过HTTP进行通信。

我想要做的一件事是从我的测试目标站点拉出站点地图(有几个)并按顺序自动点击每个页面,只检查异常等。

显然.sitemap文件无法通过HTTP提取。但我已经为GoogleSitemaps提供了一个小的ashx处理程序,它通过HTTP返回ASP.NET版本的ASP.NET .sitemap文件。如果您尚未登录,则会获得站点地图的“安全修整”版本。但是,如果您登录,此处理程序将返回您根据角色可以看到的站点地图。

问题是:   - 我可以从Selenium2登录并注销,安全修整工作完美:Selenium2可以看到它应该是什么,看不到它应该是什么。   - 但是即使我登录时,我也看到了未登录用户的站点地图版本:它已经被修剪了!然而,我已登录并且测试用户有权查看已经修剪过的东西。

我正在考虑...... ASP.NET“知道”我通过HTTP“登录”的方式必须是那些包含(通过它的外观)一些安全令牌和会话ID的cookie。这就是网页“知道”测试用户是谁以及他们是否经过身份验证的方式。处理程序, ashx ,这个野兽大概不会得到cookie。我想我可以用Fiddler给它足够的时间来嗅它,但即使我证明饼干丢失了,我也不知道怎么去那里。很明显,我的new FirefoxDriver();正在将cookie传递给aspx页面,那么ashx页面有什么用呢?

无论如何,也许我错了树吠。有没有人设法让这种类型的东西工作?请注意,我的站点地图工作正常,甚至来自Selenium2:这个问题特别是关于Selenium2和使用处理程序时的站点地图修剪。

0 个答案:

没有答案