мой вопрос касается сквозного сценария тестирования с использованием адаптивного веб-приложения.Я написал свой сценарий тестирования для страниц для тестирования с различными тестовыми случаями в зависимости от разрешения экрана.Я использую переменные массива для хранения различных селекторов, связанных с одним и тем же элементом, например:
it('should display the log in page', function () {
gVar.signInButton = element(by.css(gVar.signInButtonSelector[gVar.SelectedMode]));
gVar.signInButton.click().then(function(){
expect(element(by.css(gVar.titleLoginPageSelector[gVar.SelectedMode])).getText()).toEqual(gVar.titleLoginPage[i]);
});
Здесь я пытаюсь выбрать заголовок страницы входа, чтобы проверить его.В зависимости от разрешения, различается только селектор, и я сохранял их в массивах ...
В моем файле conf.js есть переменная параметра, которую я использую в командной строке для установки конфигурации, которую я хочуиспользуйте:
exports.config = {
//...
params:{
resolutionConfig:'default'
},
//...
}
команда запуска может идти:
protractor conf.js --params.resolutionConfig=Classic
или
protractor conf.js --params.resolutionConfig=Mobile
или
protractor conf.js --params.resolutionConfig=Tablet
...
(Тогда у меня есть таблица соответствия, чтобы связать этот параметр с вышеуказанным целочисленным значением: gVar.SelectedMode)
Что я хотел бы сделать сейчас, это установить различные значения разрешения для моего браузера,разные для каждого значения параметра ResolutionConfig, который я тестирую.До сих пор я знаю, как установить это разрешение с помощью жестко закодированных значений:
exports.config = {
//...
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: ['--window-size=100,100'] // THIS!
}
//...
}
Я слышал о "мульти-возможностях" для запуска параллельных тестов, но это не совсем то, что я хочу ... возможно ли получитьразрешение параметров в переменной и добавление к ней логики?Что-то вроде:
if(resolutionConfig) is "mobile" then: ['--window-size=xx,xx'];
if(resolutionConfig) is "tablet" then: ['--window-size=yy,yy'];