当前位置: 首页 > 知识库问答 >
问题:

火狐浏览器打开后一秒关闭,忽略场景

幸阳波
2023-03-14
private static WebDriver createConfiguredDriver() {

        final String driverName = TestData.getBrowser();   //BrowserType.FIREFOX
        final boolean remote = TestData.isRemoteMode();    //"webdriver.isremote";
        DesiredCapabilities desiredCapabilites = new DesiredCapabilities(driverName, "", Platform.ANY);
        desiredCapabilites.setCapability("marionette", false);
        if (remote) {
            final String host = TestData.getBrowserHost();
            final int port = TestData.getBrowserPort();
            logger.info("Remote browser host: " + host);
            logger.info("Remote browser port: " + port);
            try {
                URL remoteAddress = new URL("http", host, port, "/wd/hub");
                return new RemoteWebDriver(remoteAddress, desiredCapabilites);
            } catch (MalformedURLException mue) {
                throw new IllegalArgumentException("Failed to create remote URL using host: " + host, mue);
            }
        }
        else if (BrowserType.FIREFOX.equalsIgnoreCase(driverName)) {
            System.setProperty("webdriver.gecko.driver",
                    "src\\main\\resources\\geckodriver\\geckodriver.exe");
            logger.info("Using local FireFox WebDriver.");
//            desiredCapabilites.setCapability("firefox_binary", "C:\\Program Files\\Mozilla Firefox\\firefox.exe");
            return new FirefoxDriver(desiredCapabilites);
<dependencies>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.0</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.4.0</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium.fluent</groupId>
            <artifactId>fluent-selenium</artifactId>
            <version>1.14.5</version>
            <exclusions>
                <exclusion>
                    <groupId>org.seleniumhq.selenium</groupId>
                    <artifactId>selenium-java</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java</artifactId>
            <scope>test</scope>
            <version>1.2.5</version>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-jvm</artifactId>
            <version>1.0.11</version>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-picocontainer</artifactId>
            <version>1.1.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.2.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <version>1.3</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>gherkin</artifactId>
            <version>2.12.2</version>
            <scope>provided</scope>
        </dependency>
         </dependencies>
         <profile>
            <id>firefox</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <webdriver.driver>firefox</webdriver.driver>
            </properties>
        </profile>
         <profile>
            <id>remote</id>
            <properties>
                <webdriver.isremote>true</webdriver.isremote>
                <webdriver.host>vwbnode01</webdriver.host>
                <webdriver.port>4444</webdriver.port>
            </properties>
        </profile>
    </profiles>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20.1</version>
                <configuration>
                    <skip>false</skip>
                    <forkCount>1</forkCount>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.15</version>
                <configuration>
                    <includes>
                        <include>**/*Test.java</include>
                        <include>**/Test*.java</include>
                        <include>**/*Steps.java</include>
                        <include>**/*TestRunner.java</include>
                    </includes>
                    <executions>
                    <execution>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>9</source>
                    <target>9</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.9</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.2</version>
            </plugin>
        </plugins>
    </build>

我的控制台:

RG.OpenQA.Selenium.Remote.UnreachableBrowserException:无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。生成信息:版本:“3.4.0”,修订版:“Unknown”,时间:“Unknown”系统信息:主机:“WS00MU016”,IP:“”,OS.Name:“Windows 10”,OS.ARCH:“AMD64”,OS.Version:“10.0”,Java.Version:“9.0.1”驱动程序信息:Driver.Version:FirefoxDriver

共有1个答案

艾自强
2023-03-14

您可以在下面找到推荐的版本。我看到你的Selenium和Gecko驱动程序已经升级了,但是你也应该检查属性“marionette”是否设置为true。

GeckoDriver v0.19.0:Firefox 55.0(及更高版本)和Selenium 3.5(及更高版本)

GeckoDriver v0.18.0:Firefox 53.0(及更高版本)

 类似资料:
  • 需要指导和帮助在下面一个。 当下面的代码执行时,我得到了错误。我使用的是最新版本的java、eclipse、火狐和WebDrive jar文件。 错误 线程"main"java.lang.IllegalStateExcture中的异常:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置;有关详细信息,请参阅https://github.com/mozilla/g

  • 我在配置文件中将浏览器名设置为firefox。 我启动selenium服务器:webdriver-Manager--gecko start。我有gecko驱动版本0.26.0和火狐版本65。当我运行量角器conf.js时,它仍然会触发Chrome。我尝试运行已弃用的独立服务器。即selenium-独立npm,它仍然会触发Chrome。我还安装了最新的量角器。NodeJS: 10.21.0

  • 火狐低版本浏览器打不开 vue3 + vite 开发的项目?

  • 全局基类 登录名 } 问题是,当运行此功能时,我得到了下面的错误,我不明白为什么会发生这种情况,因为它在错误的位置上没有给我任何帮助。 未定义步骤:给定I打开Chrome 未定义步骤:浏览网站时 未定义的步骤:然后我使用“user1”和“password1”登录网站

  • 我有这个功能文件 方案概要: 给定用户在我的网站上 当用户是管理员或主控编辑器时 3.用户在 /page/页面 4.和用户单击/标题/链接 5.然后用户应该被带到/目标页面/ 对于“给定用户在我的网站上”,我编写了登录详细信息,这将为场景中的每个示例打开新的浏览器。我希望单一浏览器打开并执行所有示例。有人能帮忙吗

  • 这个问题可能是重复的,但我不像预期的那样,所以再次提出。 我正在我们的项目中创建新的量角器框架。我的应用程序有登录屏幕,我需要在一个功能的每个案例中使用不同的用户详细信息登录。我在一个特征文件中有两个场景。当我运行时,浏览器应该打开登录页面,执行一些操作,并为每个场景关闭浏览器,它必须为每个场景做同样的事情,但我没有看到这种情况发生。当我运行时,它发生在第一个场景中,从第二个场景开始它就失败了。有