Skip to content

Commit

Permalink
Merge pull request #151 from dariaVasileva/feature/selenoid-session-name
Browse files Browse the repository at this point in the history
added capability for selenoid session name
  • Loading branch information
ivanboklach authored Apr 15, 2020
2 parents 9d632c2 + 947fcc0 commit 46b9668
Showing 1 changed file with 11 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.safari.SafariDriver;
import org.openqa.selenium.safari.SafariOptions;
import ru.alfabank.alfatest.cucumber.api.AkitaScenario;
import ru.alfabank.tests.core.helpers.BlackList;
import ru.alfabank.tests.core.helpers.PropertyLoader;

Expand All @@ -58,15 +59,18 @@
* Провайдер драйверов, который позволяет запускать тесты локально или удаленно, используя Selenoid
* Параметры запуска можно задавать, как системные переменные.
*
* Например, можно указать браузер, версию браузера, remote Url(где будут запущены тесты), ширину и высоту окна браузера:
* -Dbrowser=chrome -DbrowserVersion=63.0 -DremoteUrl=http://some/url -Dwidth=1200 -Dheight=800 -Doptions=--load-extension=my-custom-extension
* Например, можно указать браузер, версию браузера, remote Url(где будут запущены тесты), ширину и высоту окна браузера,
* при удаленном запуске имя сессии в Selenoid UI:
* -Dbrowser=chrome -DbrowserVersion=63.0 -DremoteUrl=http://some/url -Dwidth=1200 -Dheight=800
* -DselenoidSessionName=MyProjectName -Doptions=--load-extension=my-custom-extension
* Если параметр remoteUrl не указан - тесты будут запущены локально в заданном браузере последней версии.
* Все необходимые опции можно прописывать в переменную options, разделяя их пробелом.
* Если указан параметр remoteUrl и browser, но версия браузера не указана,
* по умолчанию будет установлена версия latest
* Если браузер не указан - по умолчанию будет запущен chrome
* По умолчанию размер окна браузера при remote запуске равен 1920x1080
* Предусмотрена возможность запуска в режиме мобильного браузера (-Dbrowser=mobile)
* Если selenoidSessionName не указан - имя сессии в Selenoid UI отображаться не будет
* С указанием устройства, на котором будем эмулироваться запуск мобильного chrome браузера (-Ddevice=iPhone 6)
* Если указан параметр headless, то браузеры firefox и chrome будут запускаться без GUI (-Dheadless=true)
*/
Expand All @@ -83,6 +87,7 @@ public class CustomDriverProvider implements WebDriverProvider {
public final static String TRUST_ALL_SERVERS = "trustAllServers";
public final static String NEW_HAR = "har";
public final static String SELENOID = "selenoid";
private final static String SELENOID_SESSION_NAME = "selenoidSessionName";
public final static int DEFAULT_WIDTH = 1920;
public final static int DEFAULT_HEIGHT = 1080;

Expand Down Expand Up @@ -161,6 +166,10 @@ private WebDriver getRemoteDriver(MutableCapabilities capabilities, String remot
capabilities.setCapability("enableVNC", true);
capabilities.setCapability("screenResolution", String.format("%sx%s", loadSystemPropertyOrDefault(WINDOW_WIDTH, DEFAULT_WIDTH),
loadSystemPropertyOrDefault(WINDOW_HEIGHT, DEFAULT_HEIGHT)));
String sessionName = loadSystemPropertyOrDefault(SELENOID_SESSION_NAME, "");
if (!sessionName.isEmpty()) {
capabilities.setCapability("name", String.format("%s %s", sessionName, AkitaScenario.getInstance().getScenario().getName()));
}
}
try {
RemoteWebDriver remoteWebDriver = new RemoteWebDriver(
Expand Down

0 comments on commit 46b9668

Please sign in to comment.