【问题标题】:How to perf test page with embedded pages (jMeter / angular)如何使用嵌入式页面执行测试页面(jMeter / angular)
【发布时间】:2016-10-28 04:02:45
【问题描述】:

我正在尝试对使用 angularjs 的页面进行 jMeter 测试。问题是主页只是一个组合了其他几个页面的容器。

不知道怎么解释,但是页面的来源是这样的:

<div ng-if="isAuthenticated() && !isTokenRequest">
    <nav id="navBarId" class="row main" ng-include="'App/Views/Shared/navbar.html'" ng-show="showNavbar"></nav>
    <nav id="navSettingsId" class="row main" ng-include="'App/Views/Shared/settingsnavbar.html'" ng-show="showSettingsNavbar"></nav>
    <main id="mainQueryListId" class="row" ng-include="'App/Views/QueryList/QueryList.html'" ng-show="showQueryListTab"></main>
    <main id="mainQueryBuilderId" class="row" ng-include="'App/Views/QueryBuilder/QueryBuilder.html'" ng-show="showQueryBuilderTab"></main>
    <main id="mainDataCardId" class="row" ng-include="'App/Views/DataCard/DataCard.html'" ng-show="showDataCardTab"></main>
    <main id="mainHomeId" class="row" ng-include="'App/Views/Home/Home.html'" ng-show="showTestPageTab"></main>
    <main id="mainBackgroundQueryListId" class="row" ng-include="'App/Views/BackgroundQuery/BackgroundQueryList.html'" ng-show="showBackgroundQueryListTab"></main>
    <main id="mainUsersId" class="row" ng-include="'App/Views/Settings/Users.html'" ng-show="showUsersManagementTab"></main>
    <main id="mainAppSettingsId" class="row" ng-include="'App/Views/Settings/AppSettings.html'" ng-show="showAppSettingsManagementTab"></main>
    <main id="mainAccessDeniedId" class="row" ng-include="'App/Views/Shared/AccessDenied.html'" ng-show="showAccessDenied"></main>
</div>

当我运行录制的场景时,一切都像闪电一样运行,因为 jMeter 验证的唯一页面是主页,它不会加载实际页面。如何让 jMeter 加载所有内容?

【问题讨论】:

    标签: angularjs jmeter


    【解决方案1】:

    至少有 3 个选项:

    1. 使用 JMeter 的 HTTP(S) Test Script Recorder 记录所有这些请求,重放它们,单独收集和分析指标
    2. 使用Transaction Controller 将请求合并到一个事务中,查看一起执行需要多长时间
    3. 更接近地模拟 AJAX 行为,即一个主 HTTP 请求触发 10 个并行子请求。不幸的是,没有合适的测试元素或插件,您必须开发自己的实现,请参阅How to Load Test AJAX/XHR Enabled Sites With JMeter 指南了解更多详细信息和一些示例

    【讨论】:

    • ad.1) jMeter 似乎没有记录这些请求,当我手动添加它们时,由于 isAuthenticated() 和 !isTokenRequest 没有看到任何内容(它们也在嵌入页面上)在没有加载任何内容的情况下失败并返回一些基本元素; ad.2) 由于上述原因不能做; ad.3) 会读到的,谢谢
    • 可以使用,但是如何使用呢?您在哪里放置事务控制器以使其工作?你有没有做过它或者它只是假设?
    • 我的 angularJS 应用程序嵌入在战争中,它与 jmeter 正常工作......我将在 nodeJS 服务器中测试
    猜你喜欢
    • 1970-01-01
    • 2017-03-14
    • 2016-11-10
    • 1970-01-01
    • 2021-02-06
    • 2012-04-01
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    相关资源
    最近更新 更多