разные параметры onPrepare в зависимости от возможностей

#android #protractor

#Android #транспортир

Вопрос:

Я хотел бы запускать разные функции в моей функции onPrepare в зависимости от того, какие возможности я использую. Я также хотел бы иметь возможность устанавливать возможности из командной строки. Например, в данный момент я запускаю каждый набор тестов, набирая «транспортир». Что-то вроде «protract -android» или «транспортир DirectConnect = true» или что-то, что функционирует аналогичным образом, — это то, что я ищу.

Затем в onPrepare у меня есть функция, которая максимизирует мое окно, которое не будет работать при запуске моих тестов Android. Я ищу решение, чтобы при запуске тестов на Android он просто игнорировал этот блок кода.

Ответ №1:

В транспортире вы можете использовать global variables использование params объекта в config.js досье. Попробуйте приведенное ниже решение, чтобы решить вашу проблему.

В config.js файл создает params объект с новой переменной as android .Ниже будет приведен демонстрационный конфигурационный файл.

 exports.config = {

  seleniumAddress: 'http://localhost:4444/wd/hub',
  capabilities: {
    'browserName': 'chrome'
  },

  onPrepare: function () {
    if(browser.params.android == 'true'){
        //do whatever code you need to execute
     }else{

     }
  },
   params: {
    android: 'false',
  }
}
  

Теперь вы можете передавать значение android переменной в качестве общего аргумента строки при запуске теста транспортира.

 protractor config.js --params.android true