2009-07-07 75 views
1

我有一个用ASP.Net 3.5 SP1编写的网页的简单序列。如何模拟一系列网页的使用情况?

  • 1页 - 登录表单.... txtUsername,txtPassword和cmdLogon
  • 第2页 - (使用的DevExpress ASP.Net控件创建)一个菜单
  • 第3页 - 通过在服务器重定向到页事件,用户选择了正确的菜单选项页面2

我想创建一个线程化程序来模拟很多用户试图使用这个页面序列。

我设法创建了一个主机Winforms应用程序,它为每个“用户”启动一个新线程。我进一步设法解决了WebRequest的基本知识,足以执行检索登录页面本身的请求。

Dim Request As HttpWebRequest = TryCast(WebRequest.Create("http://MyURL/Logon.aspx"), HttpWebRequest) 
    Dim Response As HttpWebResponse = TryCast(Request.GetResponse(), HttpWebResponse) 
    Dim ResponseStream As StreamReader = New StreamReader(Response.GetResponseStream(), Encoding.GetEncoding(1252)) 
    Dim HTMLResponse As String = ResponseStream.ReadToEnd() 
    Response.Close() 
    ResponseStream.Close() 

接下来,我需要有模拟到2个文本框输入的信息,按下登录用户....我有一种预感,这需要我补充“POSTDATA”权排序请求。提交之前。

但是我也担心“ViewState”可能是一个问题。

我对PostData是否正确? 如何将postData添加到请求中?

我需要关注Viewstate吗?

更新:尽管我很欣赏Selenium或类似的产品对验收测试有用,但我发现它们对于什么样的加载测试都相当笨拙。

我会不喜欢加载100个Firefox或IE实例为了模拟100个用户击中我的网站。

这就是我希望采用ASPNet HttpWebRequest路由的原因。

回答

0

Will Selinium - http://seleniumhq.org/将会有用吗?

+0

我一定会去看看。虽然我不知道这样的系统在浏览器中工作,但我希望将并行用户数量提高到100。我还需要能够将自定义数据提供给每个用户的登录框。 – 2009-07-07 10:51:00

+0

看起来像Selenium更适合接受测试....我需要写些东西来锤击我的服务器只有这几页。如果我尝试在selenium下启动100个线程,它看起来像硒将启动100个firefox实例...这似乎是一个坏主意。 – 2009-07-07 12:09:03

0

我会选择Selenium。使用Selenium IDE,您只需点击想要的序列即可生成测试。

您也可以使用Selenium Remote Control并自己编写测试程序 - 或者您可以将它们由Selenium IDE生成并粘贴到您的Selenium RC项目中。

硒是值得的! (然而,你可以看看Watir作为替代)享受!

0

在我的公司,我们正在使用Jmeter。 JMeter可以模拟Web请求并提供非常详细的统计信息。另外,我从你的一条评论中注意到,你想要模拟多个用户,以及我们正在配置jmeter来做到这一点。

相关问题