Вопрос из разряда “Помогите зеленому новичку, который ничего в этом не понимает”.
Задача состоит в следующем: открывается браузер, открывается сайт, который может запрашивать подтверждение геолокации. При этом сам попап с разрешением не появляется, геолокация автоматом разрешена.
Надо же сделать так, чтобы либо появлялся попап (который можно проигнорировать), либо геолокация автоматом запрещалась.
Были попытки задать запрет на геолокацию через:
Configuration.browserCapabilities new DesiredCapabilities();
Configuration.browserCapabilities.setCapability("locationContextEnabled", false);
Так же создавался отдельный профиль в хроме с отключенной локацией:
ChromeOptions profile = new ChromeOptions();
profile.addArguments("/workspace/project/chrome-profile/WithoutGeo");
Но то ли лыжи не едут (с)…
В общем, каждый раз хром все равно запускается дефолтный, геолокация включена.
Подозреваю, что я либо не тот метод использую, либо другие конфигурации как-то конфликтуют с этими.
Исходный тест (без запрета локации) выглядит так:
import com.codeborne.selenide.Configuration;
import com.codeborne.selenide.junit.TextReport;
import org.junit.*;
import org.junit.rules.TestRule;
import org.openqa.selenium.By;
import utils.ConfigProperties;
import static com.codeborne.selenide.Selenide.*;
import static com.codeborne.selenide.Condition.*;
import static com.codeborne.selenide.WebDriverRunner.closeWebDriver;
public class AuthorizationValidTest {
@Before
public void setUp() throws Exception {
Configuration.browser = ConfigProperties.getTestProperty("browser");
Configuration.browserSize = ConfigProperties.getTestProperty("browserSize");
Configuration.timeout = 10000;
Configuration.collectionsTimeout = 10000;
}
@Rule
public TestRule report = new TextReport()
.onFailedTest(true)
.onSucceededTest(true);
@Test
public void Test() throws Exception {
//открыть сайт, с авторизацией
open(ConfigProperties.getTestProperty("url"));
}
Собственно, и что с этим со всем делать?