演练:创建一个需要登录和注销的 Web 性能测试
在本演练中,您将创建一个简单的 Web 应用程序,其中包含一个登录步骤和一个注销步骤。 该应用程序模拟一个购物应用程序,但不包含功能性代码。 最后,您将创建一个 Web 性能测试来测试该应用程序。
在本演练中,您将执行以下任务:
创建一个简单 Web 应用程序。
创建 Web 性能测试。
从现有 Web 性能测试中提取新 Web 性能测试。
从现有 Web 性能测试组合新 Web 性能测试。
系统必备
本演练需要:
- Visual Studio 2010 旗舰版
创建 Web 应用程序
创建 Web 应用程序
在 Visual Studio 2010 旗舰版中的**“文件”菜单上,单击“文件”,然后单击“项目”**。
此时将出现**“新建项目”**对话框。
在**“已安装的模板”下,展开所需的编程语言,然后单击“Web”**。
在 Web 项目类型的列表中,选择**“空 ASP.NET 应用程序”**。
提示
在本演练中,您将编写少量的代码。
在“名称”框中键入 ShoppingWebApp。
在**“位置”**框中,指定要用于创建 Web 应用程序的文件夹。
选择**“创建解决方案的目录”**。
单击**“确定”**。
在**“项目”**菜单上选择“添加新项”。
将显示**“添加新项”**对话框。
在项列表中选择**“Web 窗体”**。
在**“名称”文本框中,键入 Default.aspx,然后单击“添加”**。
为 Web 应用程序创建主页
在**“解决方案资源管理器”中右击 Default.aspx,并单击“视图设计器”**。
随即显示一个空白页。
如果工具箱不可见,请单击**“视图”,再单击“工具箱”**。
从**“标准”**组中,将五个按钮拖放到页上。 使用下表完成此步骤。
提示
双击每个按钮打开按钮单击事件并添加代码。
控件
Text 属性
按钮单击代码
Button1
转向登录
Response.Redirect("Login.aspx");
Button2
产品 1
Response.Redirect("Product1.aspx");
Button3
产品 2
Response.Redirect("Product2.aspx");
Button4
购物车
Response.Redirect("Cart.aspx");
Button5
转向注销
Response.Redirect("Logout.aspx");
在**“文件”菜单上,单击“全部保存”**。
向 Web 应用程序添加页
在**“网站”菜单上单击“添加新项”**。
在**“添加新项”对话框中单击“Web 窗体”模板,将其命名为 Login.aspx,再单击“添加”**。
在文档窗口的底部,单击**“设计”**选项卡以切换到设计视图。
将一个按钮拖放到该页上。
将一个文本框拖放到该页上。
重复步骤 1 到步骤 4 多次。 使用下表完成此步骤:
网页
控件
Text 属性
按钮单击代码
Login.aspx
TextBox1
-
-
Login.aspx
Button1
登录
Response.Redirect("Default.aspx");
Product1.aspx
Button1
放入购物车
Response.Redirect("Default.aspx");
Product2.aspx
Button1
放入购物车
Response.Redirect("Default.aspx");
Cart.aspx
Button1
购买
Response.Redirect("Default.aspx");
Logout.aspx
Button1
注销
Response.Redirect("Default.aspx");
提示
此 Web 应用程序不包含真正的功能。 提交每一页都将用户返回主页。 但此功能足以实现本演练的目的。
在**“文件”菜单上,单击“全部保存”**。
手动测试 Web 应用程序
在**“解决方案资源管理器”中右击 Default.aspx,再单击“设为起始页”**。
按 Ctrl+F5 在浏览器中运行该 Web 应用程序。 您将看到主页 Default.aspx。
提示
这将启动 ASP.NET Development Server,它会运行 Web 性能测试将要测试的 Web 应用程序。 您将在任务栏最右侧的通知区域中看到 ASP.NET Development Server 图标。
将 Web 应用程序的地址复制到剪贴板或记事本文件中。 本演练后面的步骤中需要用到该地址。 例如,该地址可能如下所示:https://localhost:<端口号>/ShoppingWebApp/Default.aspx
单击**“Go to Log In”**(转至登录)。 将打开 Login.aspx 页。
在文本框中键入您的姓名,然后单击**“登录”**。 将打开主页。
单击**“Product 1”**(产品 1)。 将打开 Product1.aspx 页。
单击**“Add to Cart”**(放入购物车)。 将打开主页。
单击**“Product 2”**(产品 2)。 将打开 Product2.aspx 页。
单击**“Add to Cart”**(放入购物车)。 将打开主页。
单击**“Shopping Cart”**(购物车)。 将打开 Cart.aspx 页。
单击**“购买”**。 将打开主页。
单击**“Go to Log Out”**(转至注销)。 将打开 Logout.aspx 页。
单击**“注销”**。 将打开主页。
关闭 Web 浏览器。
创建 Web 性能测试
接下来可以创建一个 Web 性能测试,以测试此应用程序。
创建 Web 性能测试应用程序
在 Visual Studio 2010 旗舰版的新实例中,在**“文件”菜单上指向“新建”,然后单击“项目”**。
此时将出现**“新建项目”**对话框。
在**“已安装的模板”下,根据您的喜好展开“Visual Basic”或“Visual C#”,然后选择“测试”**节点。
在模板列表中单击**“测试项目”**。
在**“名称”**框中键入 ShoppingWebAppTest。
在**“位置”**框中,键入保存 Web 应用程序的文件夹的名称。 例如,键入文件夹名称 C:\WebSites\ShoppingWebApp。
单击**“确定”**。
测试项目即创建完毕。
提示
默认情况下,Visual Studio 将添加一个单元测试文件和一个文本文件,其中包含有关创作测试的信息。 本演练不需要这些文件。 所以,您可以将它们删除。 如果您不删除这些文件,它们也不会影响演练。
在**“测试”菜单上,单击“新建测试”**。
随即出现**“添加新测试”**对话框。
在**“添加新测试”对话框中,选择“Web 性能测试”,将该测试命名为 WebTest1.webtest,然后单击“确定”**。
名为 WebTest1.webtest 的新 Web 性能测试文件即添加到您的项目中,并且**“Web 性能测试记录器”**在 Internet Explorer 的一个新实例中打开。
在浏览器的地址栏中,键入在上一步中复制的 Web 应用程序的地址,然后按 Enter。
提示
Visual Studio 会在记录 Web 性能测试的同时开始将它的 URL 显示在“Web 性能测试记录器”中。
单击**“Go to Log In”**(转至登录)。 将打开 Login.aspx 页。
在文本框中键入您的姓名,然后单击**“登录”**。 将打开主页。
单击**“Product 1”**(产品 1)。 将打开 Product1.aspx 页。
单击**“Add to Cart”**(放入购物车)。 将打开主页。
单击**“Product 2”**(产品 2)。 将打开 Product2.aspx 页。
单击**“Add to Cart”**(放入购物车)。 将打开主页。
单击**“Shopping Cart”**(购物车)。 将打开 Cart.aspx 页。
单击**“购买”**。 将打开主页。
单击**“Go to Log Out”**(转至注销)。 将打开 Logout.aspx 页。
单击**“注销”**。 将打开主页。
在**“Web 性能测试记录器”中单击“停止”**以停止记录。
Internet Explorer 将关闭,您将在**“Web 性能测试编辑器”**中看到 URL 列表形式的 Web 性能测试。 停止记录之后,可以修改测试。
在**“文件”菜单上,单击“全部保存”**。
运行 Web 性能测试应用程序
在**“Web 性能测试编辑器”中,单击工具栏上的“运行测试”**。
测试开始运行,并且**“Web 性能测试结果查看器”会显示测试中的每个请求。 整个测试的结果显示在“测试结果”**窗口中。
在**“测试结果”**窗口中,验证是否通过了测试。
在**“Web 性能测试结果查看器”**中,选择列表中的某些请求,然后检查 Web 浏览器下面窗格中显示的结果。 验证测试是否运行正常。
提取新 Web 性能测试
可以通过从现有 Web 性能测试中提取各个请求来创建新的 Web 性能测试。 有关更多信息,请参见如何:在一个 Web 性能测试中提取请求以创建新的 Web 性能测试。
从现有 Web 性能测试中提取新 Web 性能测试
在**“Web 性能测试编辑器”**中打开 WebTest1。
在请求树中,右击“WebTest1”,再单击**“提取 Web 测试”**。
随即出现**“提取 Web 测试”**对话框。
在**“Web 测试名”**中键入 Login。
在**“请对该 Web 测试选择第一项”**下拉列表中选择第一个请求。 该请求应如下所示:
https://localhost:<端口号>/ShoppingWebApp/Default.aspx
在**“请对该 Web 测试选择最后一项”**下拉列表中选择第三个请求。 该请求应如下所示:
https://localhost:<端口号>/ShoppingWebApp/Login.aspx
单击**“确定”**。
即会创建名为 Login 的新 Web 性能测试。 在**“Web 性能测试编辑器”中,Login 被添加到请求树中,以代替您提取的单个请求。 在“解决方案资源管理器”**中,Login.webtest 被添加到项目列表中。
在请求树中,右击“WebTest1”,再单击**“提取 Web 测试”**。
随即出现**“提取 Web 测试”**对话框。
在**“Web 测试名”**中键入 BrowseAndBuy。
在**“请对该 Web 测试选择第一项”**下拉列表中选择 Login 之后的第一个请求。 该请求应如下所示:
https://localhost:<端口号>/ShoppingWebApp/Default.aspx
在**“请对该 Web 测试选择最后一项”**列表中选择第六个请求。 该请求应如下所示:
https://localhost:<端口号>/ShoppingWebApp/Cart.aspx
单击**“确定”**。
即会创建名为 BrowseAndBuy 的新 Web 性能测试。 在**“Web 性能测试编辑器”中,BrowseAndBuy 被添加到请求树中,以代替您提取的单个请求。 在“解决方案资源管理器”**中,BrowseAndBuy.webtest 被添加到项目列表中。
在请求树中,右击“WebTest1”,再单击**“提取 Web 测试”**。
随即出现**“提取 Web 测试”**对话框。
在**“Web 测试名”**中键入 Logout。
在**“请对该 Web 测试选择第一项”**列表中选择 BrowseAndBuy 之后的第一个请求。 该请求应如下所示:
https://localhost:<端口号>/ShoppingWebApp/Default.aspx
在**“请对该 Web 测试选择最后一项”**列表中选择最后一个请求。 该请求应如下所示:
https://localhost:<端口号>/ShoppingWebApp/Logout.aspx
单击**“确定”**。
即会创建名为 Logout 的新 Web 性能测试。 在**“Web 性能测试编辑器”中,Logout 被添加到请求树中,以代替您提取的单个请求。 在“解决方案资源管理器”**中,Logout.webtest 被添加到项目列表中。
确认 Web 性能测试请求树中没有剩余的单个请求。 即,WebTest1 现在只包含对其他 Web 性能测试的调用。
在**“文件”菜单上,单击“全部保存”**。
运行 Web 性能测试应用程序
在**“Web 性能测试编辑器”中,单击工具栏上的“运行测试”**。
测试开始运行,并且**“Web 性能测试结果查看器”会显示测试中的每个请求。 整个测试的结果显示在“测试结果”**窗口中。
在**“测试结果”**窗口中,验证是否通过了测试。
在**“Web 性能测试结果查看器”**中,选择列表中的某些请求,然后检查 Web 浏览器下面窗格中显示的结果。 验证测试是否运行正常。
提示
在“Web 性能测试结果查看器”中,现在树中存在名为 WebTest1.Login、WebTest1.BrowseAndBuy 和 WebTest1.Logout 的可折叠节点。 这样可以帮助您更轻松地复查测试的各部分。
组合新 Web 性能测试
可以通过组合现有 Web 性能测试来创建新的 Web 性能测试。 有关更多信息,请参见如何:在一个 Web 性能测试中插入对另一个 Web 性能测试的调用。
从现有 Web 性能测试组合新 Web 性能测试
在**“测试”菜单上,单击“新建测试”**。
随即出现**“添加新测试”**对话框。
在**“添加新测试”对话框中,选择“Web 性能测试”,将该测试命名为 AllTest.webtest,然后单击“确定”**。
名为 AllTest.webtest 的新 Web 性能测试文件即添加到您的项目中,并且**“Web 性能测试记录器”**在 Internet Explorer 的一个新实例中打开。
在**“Web 性能测试记录器”中,单击“停止”**以停止记录而不进行浏览。
Internet Explorer 将关闭,您将在**“Web 性能测试编辑器”**中看到该 Web 性能测试。 因为您未进行浏览,所以该测试是空的。
在请求树中,右击**“AllTest”,然后单击“向 Web 测试中添加调用”**。
随即出现**“请选择测试”**对话框。
单击“Login”,再单击**“确定”**。 “Login”Web 性能测试即添加到请求树中。
在请求树中,右击**“AllTest”,然后单击“向 Web 测试中添加调用”**。
随即出现**“请选择测试”**对话框。
单击“BrowseAndBuy”,再单击**“确定”**。 “BrowseAndBuy”Web 性能测试即添加到请求树中。
在请求树中,右击“AllTest”,然后单击**“向 Web 测试中添加调用”**。
随即出现**“请选择测试”**对话框。
单击“Logout”,再单击**“确定”**。 “Logout”Web 性能测试即添加到请求树中。
在**“文件”菜单上,单击“全部保存”**。
运行 Web 性能测试应用程序
在**“Web 性能测试编辑器”中,单击工具栏上的“运行测试”**。
测试开始运行,并且**“Web 性能测试结果查看器”会显示测试中的每个请求。 整个测试的结果显示在“测试结果”**窗口中。
在**“测试结果”**窗口中,验证是否通过了测试。
在**“Web 性能测试结果查看器”**中,选择列表中的某些请求,然后检查 Web 浏览器下面窗格中显示的结果。 验证测试是否运行正常。
后续步骤
有了 Web 性能测试后,可以将其添加到负载测试中。 您可以创建一个负载测试,对每个虚拟用户,仅执行 Login 和 Logout 步骤一次,而对每个虚拟用户,测试 BrowseAndBuy 步骤多次。
请参见
任务
如何:使用 Web 性能测试记录器创建新的 Web 性能测试
如何:使用 Web 性能测试编辑器编辑现有 Web 性能测试