如何使用内部测试框架对动态生成的服务器内容进行功能测试

斯蒂芬·克雷恩(Stephen Crane)

我是Intern框架的新手,正在尝试了解如何对服务器生成的代码执行功能测试。实习生文档前面说过这是可能的,但是对此没有提供更多解释。我不知道如何设置项目,以便当内部测试运行器加载我的页面时执行我的php代码。

我有推荐的实习生文件结构,在src目录中有两个文件:test.php和test.html。如果我使用test-runner在test.html上运行功能测试,它就可以通过;但是,如果我针对test.php运行它,则浏览器只会下载该文件而导致测试失败。

我的实习生配置文件:

// tests/intern.js

define({
  capabilities: {
    'browserstack.selenium_version': '2.45.0'
  },

  // Maximum number of simultaneous integration tests that should be executed on the remote WebDriver service
  maxConcurrency: 2,

  tunnel: 'NullTunnel',
  environments: [ { browserName: 'chrome' } ],

  loaderOptions: {
    // Packages that should be registered with the loader in each testing environment
    packages: [ { name: 'myPackage', location: '.' } ]
  },

  // Functional test suite(s) to execute against each browser once non-functional tests are completed
  functionalSuites: [  'tests/functional/index.js'  ],

  // A regular expression matching URLs to files that should not be included in code coverage analysis
  excludeInstrumentation: /^(?:tests|node_modules)\//
});

我的功能测试:

// tests/functional/index.js

define(function (require) {
var registerSuite = require('intern!object');
var assert = require('intern/chai!assert');

registerSuite({
name: 'index',

'get Header': function () {
  return this.remote
    .get(require.toUrl('src/index.php'))
    .setFindTimeout(5000)
    .findByTagName('h1')
    .setFindTimeout(5000)
    .getVisibleText()
    .then(function(text) {
      assert.equal(text, "Home",
            'calling getHeader for home page should return Home');
    });
}
});
});

我的PHP页面:

// src/test.php

<?php

   // do php stuff

   if (isset($_GET["returnJson"])) {
     // return php stuff
   } else {
?>
  <!DOCTYPE html>
  <!--[if lte IE 8]> <html class="lte-ie8"> <![endif]-->
  <!--[if IE 9]> <html class="lte-ie9"> <![endif]-->
  <!--[if gt IE 9]><!--> <html> <!--<![endif]-->
  <head></head>

  <body>

    <h1>Home</h1>

  </body>
  </html>
}

我的HTML页面:

// src/test.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Intern And Server Generated Content</title> 
</head>
<body>
  <h1>Home</h1>
</body>
</html>
杰森0x43

制作get上无论是提供URL的远程加载简单的通话,就像一个网页浏览器会。这里的问题是您require.toUrl用来引用PHP文件。src/index.php相对于测试文件本身加载测试文件和其他与Intern相关的资产是通过Intern的测试服务器(称为“代理”)加载的,该服务器不处理PHP,因此浏览器最终只会显示的原始内容index.php

要测试PHP应用程序,您需要给get调用提供支持PHP的服务器的URL。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建本地内部测试Web服务器

来自分类Dev

我如何验证已使用内部测试框架调用方法?

来自分类Dev

如何从Docker容器内部测试外部服务?

来自分类Dev

如何从Docker容器内部测试外部服务?

来自分类Dev

如何使用Gradle测试服务器?

来自分类Dev

如何对grpc-java服务器实现功能进行单元测试?

来自分类Dev

如何运行Jetty服务器进行Java Junit测试

来自分类Dev

如何对服务器发送的事件进行负载测试

来自分类Dev

使用json服务器模拟进行角度测试

来自分类Dev

使用jMeter对SFTP服务器进行性能测试

来自分类Dev

如何使用JMeter进行数据库服务器性能测试?

来自分类Dev

如何使用 Spock 对 Java 套接字服务器/客户端对进行单元测试?

来自分类Dev

使用Web服务对服务器进行负载测试是否与基于负载测试方案相同?

来自分类Dev

带框架的内部功能测试

来自分类Dev

如何使用Robolectric 3.0从服务器测试ListView项目

来自分类Dev

如何使用Selenium服务器运行Selenium IDE测试

来自分类Dev

如何使用php通过服务器测试cronjob执行

来自分类Dev

如何使用 cURL 修补 Django 测试服务器

来自分类Dev

如何在控制器内部测试$ scope.method?

来自分类Dev

带有testflight的iOS内部测试-如何在没有“技术”角色的情况下进行测试?

来自分类Dev

是否可以使用同一帐户在Google Play中对应用进行内部测试和封闭测试

来自分类Dev

模拟对象内部测试方法测试

来自分类Dev

如何测试nodejs的TCP服务器

来自分类Dev

如何测试Mosquitto服务器?

来自分类Dev

如何测试与mysql服务器的连接?

来自分类Dev

如何测试Coturn服务器?

来自分类Dev

如何测试 SMTP 服务器?

来自分类Dev

在方法级别隔离内部测试和对内部方法调用进行存根测试是否正确?

来自分类Dev

如何在函数内部测试一个函数?

Related 相关文章

  1. 1

    创建本地内部测试Web服务器

  2. 2

    我如何验证已使用内部测试框架调用方法?

  3. 3

    如何从Docker容器内部测试外部服务?

  4. 4

    如何从Docker容器内部测试外部服务?

  5. 5

    如何使用Gradle测试服务器?

  6. 6

    如何对grpc-java服务器实现功能进行单元测试?

  7. 7

    如何运行Jetty服务器进行Java Junit测试

  8. 8

    如何对服务器发送的事件进行负载测试

  9. 9

    使用json服务器模拟进行角度测试

  10. 10

    使用jMeter对SFTP服务器进行性能测试

  11. 11

    如何使用JMeter进行数据库服务器性能测试?

  12. 12

    如何使用 Spock 对 Java 套接字服务器/客户端对进行单元测试?

  13. 13

    使用Web服务对服务器进行负载测试是否与基于负载测试方案相同?

  14. 14

    带框架的内部功能测试

  15. 15

    如何使用Robolectric 3.0从服务器测试ListView项目

  16. 16

    如何使用Selenium服务器运行Selenium IDE测试

  17. 17

    如何使用php通过服务器测试cronjob执行

  18. 18

    如何使用 cURL 修补 Django 测试服务器

  19. 19

    如何在控制器内部测试$ scope.method?

  20. 20

    带有testflight的iOS内部测试-如何在没有“技术”角色的情况下进行测试?

  21. 21

    是否可以使用同一帐户在Google Play中对应用进行内部测试和封闭测试

  22. 22

    模拟对象内部测试方法测试

  23. 23

    如何测试nodejs的TCP服务器

  24. 24

    如何测试Mosquitto服务器?

  25. 25

    如何测试与mysql服务器的连接?

  26. 26

    如何测试Coturn服务器?

  27. 27

    如何测试 SMTP 服务器?

  28. 28

    在方法级别隔离内部测试和对内部方法调用进行存根测试是否正确?

  29. 29

    如何在函数内部测试一个函数?

热门标签

归档