Определите тест транспортира операционной системы/пользовательского агента

У меня есть последовательность мыши/клавиши в тесте Protractor, которая отличается в зависимости от ОС (Mac и все остальное). Я хотел бы изменить, какая клавиша удерживается во время щелчка мыши, в зависимости от ОС или пользовательского агента.

В зависимости от того, где я тестирую (локальный Mac OSx + Chrome или безголовый PhantomJS в Linux), нужна клавиша Command или клавиша Ctrl.

Текущий тест выглядит так:

describe('my test', function() {

  //get elements with code not shown
   ptor.actions()
                        .sendKeys(protractor.Key.CONTROL)  //mac protrator.Key.COMMAND non mac protractor.Key.CONTROL
                        .mouseDown(trs[0])
                        .mouseUp(trs[0])
                        .sendKeys(protractor.Key.NULL)
                        .perform();
                    trs[0].evaluate('selectedItems.length')
                        .then(function(count) {
                            expect(count).toBe(0);
                        })

});

person binarygiant    schedule 02.09.2014    source источник


Ответы (1)


Сначала хедз-ап, используя клавишу COMMAND веб-драйвера , вероятно, не сработает в ОС X.

Что касается способа определить текущую ОС браузера, я использую некоторые вспомогательные функции.

Использование — файл конфигурации

onPrepare: require('./capabilities.js'),

Использование — тестовые файлы

if (browser.inOSX()) {
  // in Mac...
} else if (browser.inWindows()) {
  // in Windows...
} else {
  // likely in Linux...
}

Расширения возможностей браузера

См. capabilities.js в этом списке.

person Leo Gallucci    schedule 02.09.2014