как выполнить e2e по проверке html5 [дублировать]

Другой способ:

Файл test1.py:

print "test1.py"

Файл service.py:

import subprocess

subprocess.call("test1.py", shell=True)

Преимущество этого метода заключается в том, что вам не нужно редактировать существующий скрипт Python, чтобы поместить весь его код в подпрограмму.

Документация: Python 2 , Python 3

2
задан user3743222 14 December 2016 в 16:09
поделиться

1 ответ

Я смог сделать это, используя пользовательское утверждение.

В файле test/e2e/custom-assertions/isValidInput.js:

exports.assertion = function (selector, stateAttr, stateValue) {
  this.message = 'Testing if element <' + selector + '> has ValidityState ' + stateAttr + ': ' + stateValue
  this.expected = stateValue

  this.pass = function (val) {
    return val === this.expected
  }

  this.value = function (res) {
    return res.value[stateAttr]
  }

  this.command = function (cb) {
    var self = this
    return this.api.execute(
      function (selector) {
        return document.querySelector(selector).validity
      },
      [selector],
      function (res) {
        cb.call(self, res)
      }
    )
  }
}

Тогда вы можете использовать его таким образом, например, для требуемая пустая форма ввода:

browser
  .assert.isValidInput('#form-input-id', 'valid', false)
  .assert.isValidInput('#form-input-id', 'valueMissing', true)

Не забудьте загрузить пользовательское утверждение. Для меня мне пришлось добавить это в мой файл nightwatch.conf.js:

module.exports = {
  ...
  custom_assertions_path: ['test/e2e/custom-assertions'],
  ...
}
2
ответ дан jobou 19 August 2018 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: