Тестирование угловых форм - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь проверить угловое приложение в протраторе, и я что-то не понимаю.Я поставил эту строку там

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, в его папку, поэтому этот тест ищет во всем проекте идентификатор gobutton или он ищет идентификатор gobutton , который относится конкретно к ссылке, которую я поместил на browser.get () ??

И мой следующий вопрос: хочу ли я страницу?Для теста требуется вход в систему. Могу ли я просто использовать URL-адрес browser.get этой страницы и тестировать элементы, или я должен выполнить регистрацию во время теста?

И нормально ли, если мой браузер закрывает себя после выполнения одного теста?или он должен оставаться открытым?

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Вот так выглядит мой 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);
      });
    }
0 голосов
/ 11 июня 2018

Это много вопросов;)

  • Транспортир будет искать во всем DOM идентификатор элемента.Даже если вы работаете с упомянутыми файлами * .po.ts в папках компонентов, они в конечном итоге доставят только идентификатор элемента, представленный строкой, которую вы затем просматриваете с помощью element(by.id()).
  • Если требуется вход в систему, вам придется рассмотреть это во время теста.Я сомневаюсь, что вы можете обойти механизм входа в систему, за исключением того, что вход в систему можно отключить на этапе тестирования и включить на этапе производства.
  • Да, это стандартное поведение Protractor - закрывать браузер послезакончил тест.Это потому, что у вас есть файл протокола впоследствии.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...