【问题标题】:Testing angular forms测试角度形式
【发布时间】:2018-06-11 12:22:14
【问题描述】:

我正在尝试在量角器中测试一个角度应用程序,但我不明白一些东西。 我把这条线放在那里

beforeEach(function() {
    browser.get('http://juliemr.github.io/protractor-demo/');
  });

我想使用这一行来引用 HTML 表单的元素:

fdescribe('Protractor Demo App', function() {

  var goButton = element(by.id('gobutton'));
  
  ...and test its result

在量角器中,我们不会将与特定 .ts 文件对应的测试文件放在其文件夹中,因此该测试在整个项目中搜索 id gobutton 或搜索 id gobutton 专门属于我放在 browser.get() 上的链接??

我的下一个问题是,如果我要测试的页面需要登录,我可以只使用 browser.get 该页面的 url 并测试元素,还是应该在测试期间进行日志记录?

如果我的浏览器在执行一项测试后自行关闭是否正常,还是应该保持打开状态?

【问题讨论】:

    标签: javascript html angular testing


    【解决方案1】:

    这是很多问题;)

    • Protractor 将在整个 DOM 中搜索元素的 ID。即使您使用组件文件夹中提到的 *.po.ts 文件,它们最终也只会提供由字符串表示的元素 id,然后您可以通过 element(by.id()) 搜索。
    • 如果需要登录,您必须在测试期间考虑它。我怀疑你可以绕过登录机制,除了登录可以在测试阶段关闭并在生产阶段打开。
    • 是的,完成测试后关闭浏览器是 Protractor 的标准行为。这是因为您之后有了协议文件。

    【讨论】:

    • 谢谢!如果 seleniumServer 自行关闭,我如何查看它的结果?
    【解决方案2】:

    这就是我的 protractor.conf.js 的样子。给定的路径target 位于/src 的级别。

    let HtmlScreenshotReporter = require('protractor-jasmine2-screenshot-reporter');
    
    // always create test-report.html, screen shots only in case of failures
    let reporter = new HtmlScreenshotReporter({
      dest: 'target/test-screenshots',
      filename: 'test-report.html',
      reportOnlyFailedSpecs: false,
      captureOnlyFailedSpecs: true,
      pathBuilder: function (currentSpec, suites, browserCapabilities) {
        // will return chrome/your-spec-name.png
        return browserCapabilities.get('browserName') + '/' + currentSpec.fullName;
      }
    });
    
    exports.config = {
    
    ...
    
        beforeLaunch: function () {
          return new Promise(function (resolve) {
            reporter.beforeLaunch(resolve);
          });
        }
    

    【讨论】:

    • 这是 protractor.conf.js 中重要的配置块。您可以在此处定义报告的放置位置和情况。
    • 我怎样才能禁用这个日志记录部分?如果我想直接在表单中输入但不登录?
    • 对不起,伙计,但这不适用于 Protractor。这必须由您的开发人员完成。他们必须实现一种开关,以检测您要测试的应用程序当前在哪个阶段运行。根据这个,登录页面是否是强制性的。
    猜你喜欢
    • 2016-12-19
    • 2015-04-29
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多