В настоящее время я немного застрял с функциями behat + responsive, которые появляются / исчезают в заданных точках останова на экране.
Первым делом нужно создать теги для фильтрации функций для устройств. Например, @iphone или @mobile и так далее.
Это становится очень грязным, если вы тестируете на нескольких устройствах с разными размерами экрана / ориентацией. Тогда мы получим: @iphone5c_hor @iphone5c_vert @iphone5s_hor @iphone5s_vert @samsung..._vert
Моя вторая попытка заключалась в том, чтобы пометить функции тегом минимальной ширины, например. min-width:700 и использовать контекст функции и веб-драйвер, чтобы определить, поддерживает ли текущий браузер функцию, которую я пытаюсь выполнить. Это работает до этого момента:
/**
* @BeforeFeature
*
* @param \Behat\Behat\Hook\Scope\BeforeFeatureScope|BeforeScenarioScope $scope
*/
public function prepareForTheScenario(BeforeScenarioScope $scope)
{
if (!$this->checkWindowWidth($scope)) {
// TODO: skip scenario here
}
}
Есть ли у кого-нибудь опыт с такими динамическими тестами, я иду совершенно неправильным путем, и если нет, то как я могу заставить это работать?