Как передать значение из команды execute в другую команду, используя intern и leadfoot - PullRequest
0 голосов
/ 11 апреля 2019

В основном я пытаюсь изменить размер экрана до полной высоты и ширины, используя значения, возвращаемые функцией execute.Я изо всех сил пытаюсь выяснить, как передать значения из функции execute в мою функцию изменения размера, и надеялся, что кто-то может взглянуть на мой код и показать, где я ошибаюсь?когда я проверяю выполнение команды saucelabs, я не вижу, чтобы команда resize была запущена перед снимком экрана.Так что я точно не знаю, где именно разбивка (был ли размер передан неправильно или время неверно. Когда я жестко кодирую размер вместо того, чтобы пытаться получить его из 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 Ответ

0 голосов
/ 11 апреля 2019

Я действительно смог решить эту проблему, выполнив 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
                })
            );
    }
});


...