我有一个用ASP.Net 3.5 SP1编写的简单网页序列。
我想创建一个线程程序来模拟许多试图使用这个页面序列的用户。
我设法创建了一个主机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个TextBox中输入信息并按下登录....我有一个预感,这要求我在请求中添加正确的“PostData”类型。在提交之前。
但是我也担心“ViewState”可能是一个问题。
关于PostData我是否正确? 如何将postData添加到请求中?
我是否需要关注Viewstate?
更新虽然我很欣赏Selenium或类似产品对于验收测试很有用,但我发现它们对于负载测试的数量而言相当笨拙。
我会不想加载100个Firefox或IE实例,以模拟100个用户访问我的网站。
这就是我希望采用ASPNet HttpWebRequest路由的原因。
答案 0 :(得分:0)
Selenium - http://seleniumhq.org/会有用吗?
答案 1 :(得分:0)
我会选择Selenium。使用Selenium IDE,您只需单击所需的序列即可生成测试。
您也可以使用Selenium Remote Control并自行编程测试 - 或者您可以将它们由Selenium IDE生成并粘贴到Selenium RC项目中。
硒值得一试! (但你可以看看Watir作为另一种选择)享受!
答案 2 :(得分:0)
在我的公司,我们正在使用Jmeter。 JMeter可以模拟Web请求并提供非常详细的统计信息。另外,我从你的一条评论中注意到,你想要模拟多个用户,我们正在配置jmeter来做到这一点。