Как передать значение из execute в другую команду с помощью intern и leadfoot

#typescript #intern #leadfoot

#typescript #стажер #leadfoot

Вопрос:

По сути, я пытаюсь изменить размер экрана на полную высоту и ширину, используя значения, возвращаемые функцией execute . Я изо всех сил пытаюсь понять, как передать значения из функции execute в мою функцию изменения размера, и надеялся, что кто-нибудь сможет взглянуть на мой код и показать мне, где я ошибаюсь? когда я проверяю выполнение команды saucelabs, я не вижу, чтобы команда изменения размера запускалась перед скриншотом. Поэтому я не уверен, где именно происходит разбивка (неправильно ли передается размер или неверно время. Когда я жестко кодирую размер вместо того, чтобы пытаться получить его из execute, он работает отлично. Спасибо!!

     registerSuite('homepage', {
  'homepage'() { 
    return this.remote.get('myurl') 
      .setWindowPosition(0,0)
      .maximizeWindow() 
      .execute(() => [
        document.documentElement.scrollWidth,
        document.documentElement.scrollHeight
      ])
      .then(([width, height]) => { return helpers.resizeWindow(width, height) }) 
      .takeScreenshot() 
      .then(assertVisuals(this, { missingBaseline: 'snapshot', regenerateBaselines: true }) );
  }
});
  

Ответ №1:

На самом деле я смог решить эту проблему, выполнив 2 вещи. Я удалил helper.resizeWindow и использовал обычную command.resizeWindow , и вместо того, чтобы встраивать его в функцию обратного вызова, я просто поместил его туда без фигурных скобок и без оператора return . Я не уверен, почему этот синтаксис работает, а другой — нет.

 registerSuite('homepage', {
    'homepage'() {
            return this.remote.get('mypage')
            .setWindowPosition(0,0)
            .maximizeWindow()
            .execute(() => [document.documentElement.scrollWidth, document.documentElement.scrollHeight])
            .then(([width, height]) => this.remote.setWindowSize(width, height))
            .takeScreenshot()
            .then(
                assertVisuals(this, {
                    missingBaseline: 'snapshot',
                    regenerateBaselines: true
                })
            );
    }
});