Firefox игнорирует глобальные пользовательские параметры Firefox при запуске сценариев Selenium - PullRequest
0 голосов
/ 12 февраля 2019

Вот что я пытаюсь сделать: 1. У меня есть сценарий использования, когда мне нужно изменить пользовательский агент по умолчанию в Firefox и зайти на сайт, чтобы что-то проверить.Я знаю, когда используется правильный useragent, потому что он не будет отображать капчу.

Вот что я делаю, чтобы добиться этого (согласно этому сайту: https://www.howtogeek.com/113439/how-to-change-your-browsers-user-agent-without-installing-any-extensions/_): 1. Создана новая глобальная переменная Firefox: general.useragent.override со значением «Special_UA» 2. Когда я открываю Firefox вручную, переменная учитывается, и я не вижу капчи при открытии сайта, я также могу подтвердить это с помощью wireshark / fiddler

Тем не менее, когда я пытаюсь сделать то же самое с Selenium, я вижу капчу, поскольку Firefox использует Firefox UserAgent по умолчанию (подтверждено wireshark / fiddler), поэтому кажется, что Selenium каким-то образом игнорирует созданную мной глобальную переменную.

Вот мой помп:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>Automation</groupId>
  <artifactId>SeleniumAutomation</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
  <!-- Selenium -->
  <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.59</version>
</dependency>
  <!-- TestNG -->
  <dependency>
     <groupId>org.testng</groupId>
     <artifactId>testng</artifactId>
     <version>6.8</version>
     <scope>compile</scope>
  </dependency>	
  <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-ie-driver</artifactId>
    <version>3.12.0</version>
</dependency>
<dependency>
    <groupId>io.github.seleniumquery</groupId>
    <artifactId>seleniumquery</artifactId>
    <version>0.20.0</version>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-remote-driver</artifactId>
    <version>3.141.59</version>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-firefox-driver</artifactId>
    <version>3.141.59</version>
</dependency>
</dependencies>
</project>

А вот мой код:

@BeforeClass(alwaysRun = true)
	public void setUp() throws Exception {
				driver = new FirefoxDriver();
		driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
	}

	@Test
	public void TestCase() throws Exception {
		driver.get("https://samplesite.com/a.action");
    
    }
    
...