演练:创建一个需要登录和注销的 Web 性能测试

在本演练中,您将创建一个简单的 Web 应用程序,其中包含一个登录步骤和一个注销步骤。 该应用程序模拟一个购物应用程序,但不包含功能性代码。 最后,您将创建一个 Web 性能测试来测试该应用程序。

在本演练中,您将执行以下任务:

  • 创建一个简单 Web 应用程序。

  • 创建 Web 性能测试。

  • 从现有 Web 性能测试中提取新 Web 性能测试。

  • 从现有 Web 性能测试组合新 Web 性能测试。

系统必备

本演练需要:

  • Visual Studio 2010 旗舰版

创建 Web 应用程序

创建 Web 应用程序

  1. 在 Visual Studio 2010 旗舰版中的**“文件”菜单上,单击“文件”,然后单击“项目”**。

    此时将出现**“新建项目”**对话框。

  2. 在**“已安装的模板”下,展开所需的编程语言,然后单击“Web”**。

  3. 在 Web 项目类型的列表中,选择**“空 ASP.NET 应用程序”**。

    提示

    在本演练中,您将编写少量的代码。

  4. 在“名称”框中键入 ShoppingWebApp。

  5. 在**“位置”**框中,指定要用于创建 Web 应用程序的文件夹。

  6. 选择**“创建解决方案的目录”**。

  7. 单击**“确定”**。

  8. 在**“项目”**菜单上选择“添加新项”。

    将显示**“添加新项”**对话框。

  9. 在项列表中选择**“Web 窗体”**。

  10. 在**“名称”文本框中,键入 Default.aspx,然后单击“添加”**。

为 Web 应用程序创建主页

  1. 在**“解决方案资源管理器”中右击 Default.aspx,并单击“视图设计器”**。

    随即显示一个空白页。

  2. 如果工具箱不可见,请单击**“视图”,再单击“工具箱”**。

  3. 从**“标准”**组中,将五个按钮拖放到页上。 使用下表完成此步骤。

    提示

    双击每个按钮打开按钮单击事件并添加代码。

    控件

    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");
  4. 在**“文件”菜单上,单击“全部保存”**。

向 Web 应用程序添加页

  1. 在**“网站”菜单上单击“添加新项”**。

  2. 在**“添加新项”对话框中单击“Web 窗体”模板,将其命名为 Login.aspx,再单击“添加”**。

  3. 在文档窗口的底部,单击**“设计”**选项卡以切换到设计视图。

  4. 将一个按钮拖放到该页上。

  5. 将一个文本框拖放到该页上。

  6. 重复步骤 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 应用程序不包含真正的功能。 提交每一页都将用户返回主页。 但此功能足以实现本演练的目的。

  7. 在**“文件”菜单上,单击“全部保存”**。

手动测试 Web 应用程序

  1. 在**“解决方案资源管理器”中右击 Default.aspx,再单击“设为起始页”**。

  2. 按 Ctrl+F5 在浏览器中运行该 Web 应用程序。 您将看到主页 Default.aspx。

    提示

    这将启动 ASP.NET Development Server,它会运行 Web 性能测试将要测试的 Web 应用程序。 您将在任务栏最右侧的通知区域中看到 ASP.NET Development Server 图标。

  3. 将 Web 应用程序的地址复制到剪贴板或记事本文件中。 本演练后面的步骤中需要用到该地址。 例如,该地址可能如下所示:https://localhost:<端口号>/ShoppingWebApp/Default.aspx

  4. 单击**“Go to Log In”**(转至登录)。 将打开 Login.aspx 页。

  5. 在文本框中键入您的姓名,然后单击**“登录”**。 将打开主页。

  6. 单击**“Product 1”**(产品 1)。 将打开 Product1.aspx 页。

  7. 单击**“Add to Cart”**(放入购物车)。 将打开主页。

  8. 单击**“Product 2”**(产品 2)。 将打开 Product2.aspx 页。

  9. 单击**“Add to Cart”**(放入购物车)。 将打开主页。

  10. 单击**“Shopping Cart”**(购物车)。 将打开 Cart.aspx 页。

  11. 单击**“购买”**。 将打开主页。

  12. 单击**“Go to Log Out”**(转至注销)。 将打开 Logout.aspx 页。

  13. 单击**“注销”**。 将打开主页。

  14. 关闭 Web 浏览器。

创建 Web 性能测试

接下来可以创建一个 Web 性能测试,以测试此应用程序。

创建 Web 性能测试应用程序

  1. 在 Visual Studio 2010 旗舰版的新实例中,在**“文件”菜单上指向“新建”,然后单击“项目”**。

    此时将出现**“新建项目”**对话框。

  2. 在**“已安装的模板”下,根据您的喜好展开“Visual Basic”“Visual C#”,然后选择“测试”**节点。

  3. 在模板列表中单击**“测试项目”**。

  4. 在**“名称”**框中键入 ShoppingWebAppTest。

  5. 在**“位置”**框中,键入保存 Web 应用程序的文件夹的名称。 例如,键入文件夹名称 C:\WebSites\ShoppingWebApp。

  6. 单击**“确定”**。

    测试项目即创建完毕。

    提示

    默认情况下,Visual Studio 将添加一个单元测试文件和一个文本文件,其中包含有关创作测试的信息。 本演练不需要这些文件。 所以,您可以将它们删除。 如果您不删除这些文件,它们也不会影响演练。

  7. 在**“测试”菜单上,单击“新建测试”**。

    随即出现**“添加新测试”**对话框。

  8. 在**“添加新测试”对话框中,选择“Web 性能测试”,将该测试命名为 WebTest1.webtest,然后单击“确定”**。

    名为 WebTest1.webtest 的新 Web 性能测试文件即添加到您的项目中,并且**“Web 性能测试记录器”**在 Internet Explorer 的一个新实例中打开。

  9. 在浏览器的地址栏中,键入在上一步中复制的 Web 应用程序的地址,然后按 Enter。

    提示

    Visual Studio 会在记录 Web 性能测试的同时开始将它的 URL 显示在“Web 性能测试记录器”中。

  10. 单击**“Go to Log In”**(转至登录)。 将打开 Login.aspx 页。

  11. 在文本框中键入您的姓名,然后单击**“登录”**。 将打开主页。

  12. 单击**“Product 1”**(产品 1)。 将打开 Product1.aspx 页。

  13. 单击**“Add to Cart”**(放入购物车)。 将打开主页。

  14. 单击**“Product 2”**(产品 2)。 将打开 Product2.aspx 页。

  15. 单击**“Add to Cart”**(放入购物车)。 将打开主页。

  16. 单击**“Shopping Cart”**(购物车)。 将打开 Cart.aspx 页。

  17. 单击**“购买”**。 将打开主页。

  18. 单击**“Go to Log Out”**(转至注销)。 将打开 Logout.aspx 页。

  19. 单击**“注销”**。 将打开主页。

  20. 在**“Web 性能测试记录器”中单击“停止”**以停止记录。

    Internet Explorer 将关闭,您将在**“Web 性能测试编辑器”**中看到 URL 列表形式的 Web 性能测试。 停止记录之后,可以修改测试。

  21. 在**“文件”菜单上,单击“全部保存”**。

运行 Web 性能测试应用程序

  1. 在**“Web 性能测试编辑器”中,单击工具栏上的“运行测试”**。

    测试开始运行,并且**“Web 性能测试结果查看器”会显示测试中的每个请求。 整个测试的结果显示在“测试结果”**窗口中。

  2. 在**“测试结果”**窗口中,验证是否通过了测试。

  3. 在**“Web 性能测试结果查看器”**中,选择列表中的某些请求,然后检查 Web 浏览器下面窗格中显示的结果。 验证测试是否运行正常。

提取新 Web 性能测试

可以通过从现有 Web 性能测试中提取各个请求来创建新的 Web 性能测试。 有关更多信息,请参见如何:在一个 Web 性能测试中提取请求以创建新的 Web 性能测试

从现有 Web 性能测试中提取新 Web 性能测试

  1. 在**“Web 性能测试编辑器”**中打开 WebTest1。

  2. 在请求树中,右击“WebTest1”,再单击**“提取 Web 测试”**。

    随即出现**“提取 Web 测试”**对话框。

  3. 在**“Web 测试名”**中键入 Login。

  4. 在**“请对该 Web 测试选择第一项”**下拉列表中选择第一个请求。 该请求应如下所示:

    https://localhost:<端口号>/ShoppingWebApp/Default.aspx

  5. 在**“请对该 Web 测试选择最后一项”**下拉列表中选择第三个请求。 该请求应如下所示:

    https://localhost:<端口号>/ShoppingWebApp/Login.aspx

  6. 单击**“确定”**。

    即会创建名为 Login 的新 Web 性能测试。 在**“Web 性能测试编辑器”中,Login 被添加到请求树中,以代替您提取的单个请求。 在“解决方案资源管理器”**中,Login.webtest 被添加到项目列表中。

  7. 在请求树中,右击“WebTest1”,再单击**“提取 Web 测试”**。

    随即出现**“提取 Web 测试”**对话框。

  8. 在**“Web 测试名”**中键入 BrowseAndBuy。

  9. 在**“请对该 Web 测试选择第一项”**下拉列表中选择 Login 之后的第一个请求。 该请求应如下所示:

    https://localhost:<端口号>/ShoppingWebApp/Default.aspx

  10. 在**“请对该 Web 测试选择最后一项”**列表中选择第六个请求。 该请求应如下所示:

    https://localhost:<端口号>/ShoppingWebApp/Cart.aspx

  11. 单击**“确定”**。

    即会创建名为 BrowseAndBuy 的新 Web 性能测试。 在**“Web 性能测试编辑器”中,BrowseAndBuy 被添加到请求树中,以代替您提取的单个请求。 在“解决方案资源管理器”**中,BrowseAndBuy.webtest 被添加到项目列表中。

  12. 在请求树中,右击“WebTest1”,再单击**“提取 Web 测试”**。

    随即出现**“提取 Web 测试”**对话框。

  13. 在**“Web 测试名”**中键入 Logout。

  14. 在**“请对该 Web 测试选择第一项”**列表中选择 BrowseAndBuy 之后的第一个请求。 该请求应如下所示:

    https://localhost:<端口号>/ShoppingWebApp/Default.aspx

  15. 在**“请对该 Web 测试选择最后一项”**列表中选择最后一个请求。 该请求应如下所示:

    https://localhost:<端口号>/ShoppingWebApp/Logout.aspx

  16. 单击**“确定”**。

    即会创建名为 Logout 的新 Web 性能测试。 在**“Web 性能测试编辑器”中,Logout 被添加到请求树中,以代替您提取的单个请求。 在“解决方案资源管理器”**中,Logout.webtest 被添加到项目列表中。

  17. 确认 Web 性能测试请求树中没有剩余的单个请求。 即,WebTest1 现在只包含对其他 Web 性能测试的调用。

  18. 在**“文件”菜单上,单击“全部保存”**。

运行 Web 性能测试应用程序

  1. 在**“Web 性能测试编辑器”中,单击工具栏上的“运行测试”**。

    测试开始运行,并且**“Web 性能测试结果查看器”会显示测试中的每个请求。 整个测试的结果显示在“测试结果”**窗口中。

  2. 在**“测试结果”**窗口中,验证是否通过了测试。

  3. 在**“Web 性能测试结果查看器”**中,选择列表中的某些请求,然后检查 Web 浏览器下面窗格中显示的结果。 验证测试是否运行正常。

    提示

    “Web 性能测试结果查看器”中,现在树中存在名为 WebTest1.Login、WebTest1.BrowseAndBuy 和 WebTest1.Logout 的可折叠节点。 这样可以帮助您更轻松地复查测试的各部分。

组合新 Web 性能测试

可以通过组合现有 Web 性能测试来创建新的 Web 性能测试。 有关更多信息,请参见如何:在一个 Web 性能测试中插入对另一个 Web 性能测试的调用

从现有 Web 性能测试组合新 Web 性能测试

  1. 在**“测试”菜单上,单击“新建测试”**。

    随即出现**“添加新测试”**对话框。

  2. 在**“添加新测试”对话框中,选择“Web 性能测试”,将该测试命名为 AllTest.webtest,然后单击“确定”**。

    名为 AllTest.webtest 的新 Web 性能测试文件即添加到您的项目中,并且**“Web 性能测试记录器”**在 Internet Explorer 的一个新实例中打开。

  3. 在**“Web 性能测试记录器”中,单击“停止”**以停止记录而不进行浏览。

    Internet Explorer 将关闭,您将在**“Web 性能测试编辑器”**中看到该 Web 性能测试。 因为您未进行浏览,所以该测试是空的。

  4. 在请求树中,右击**“AllTest”,然后单击“向 Web 测试中添加调用”**。

    随即出现**“请选择测试”**对话框。

  5. 单击“Login”,再单击**“确定”**。 “Login”Web 性能测试即添加到请求树中。

  6. 在请求树中,右击**“AllTest”,然后单击“向 Web 测试中添加调用”**。

    随即出现**“请选择测试”**对话框。

  7. 单击“BrowseAndBuy”,再单击**“确定”**。 “BrowseAndBuy”Web 性能测试即添加到请求树中。

  8. 在请求树中,右击“AllTest”,然后单击**“向 Web 测试中添加调用”**。

    随即出现**“请选择测试”**对话框。

  9. 单击“Logout”,再单击**“确定”**。 “Logout”Web 性能测试即添加到请求树中。

  10. 在**“文件”菜单上,单击“全部保存”**。

运行 Web 性能测试应用程序

  1. 在**“Web 性能测试编辑器”中,单击工具栏上的“运行测试”**。

    测试开始运行,并且**“Web 性能测试结果查看器”会显示测试中的每个请求。 整个测试的结果显示在“测试结果”**窗口中。

  2. 在**“测试结果”**窗口中,验证是否通过了测试。

  3. 在**“Web 性能测试结果查看器”**中,选择列表中的某些请求,然后检查 Web 浏览器下面窗格中显示的结果。 验证测试是否运行正常。

后续步骤

有了 Web 性能测试后,可以将其添加到负载测试中。 您可以创建一个负载测试,对每个虚拟用户,仅执行 Login 和 Logout 步骤一次,而对每个虚拟用户,测试 BrowseAndBuy 步骤多次。

请参见

任务

如何:使用 Web 性能测试记录器创建新的 Web 性能测试

如何:使用 Web 性能测试编辑器编辑现有 Web 性能测试

概念

运行 Web 性能测试

Web 性能测试演练