Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Maven完全自动化Saucelabs测试?_Java_Selenium_Saucelabs - Fatal编程技术网

Java 如何使用Maven完全自动化Saucelabs测试?

Java 如何使用Maven完全自动化Saucelabs测试?,java,selenium,saucelabs,Java,Selenium,Saucelabs,这是我试图自动化的工作流(它是一个Java web应用程序): 开发人员在Selenium IDE(带Firefox)中创建/编辑测试套件 该套件在项目存储库中作为HTML文件的集合进行维护 在每个Maven构建周期中: 码头集装箱在http://localhost:12345(随机端口号) 开始连接我的本地主机和Saucelabs网格 HTML测试套件在网格上针对我的本地容器执行 SauceConnect已关闭 码头集装箱关闭了 如果测试套件中的任何测试失败-Maven build失败 有可

这是我试图自动化的工作流(它是一个Java web应用程序):

  • 开发人员在Selenium IDE(带Firefox)中创建/编辑测试套件
  • 该套件在项目存储库中作为HTML文件的集合进行维护
  • 在每个Maven构建周期中:
  • 码头集装箱在
    http://localhost:12345
    (随机端口号)
  • 开始连接我的本地主机和Saucelabs网格
  • HTML测试套件在网格上针对我的本地容器执行
  • SauceConnect已关闭
  • 码头集装箱关闭了
  • 如果测试套件中的任何测试失败-Maven build失败
  • 有可能做到这一点吗?一个更具体的问题是如何在Saucelabs上运行HTML测试套件?他们有一个关于
    http://ondemand.saucelabs.com:80/selenium-服务器/驱动程序/
    ,我可以使用它,但我没有找到任何有关它的详细信息。

    我最近创建了一个,它提供mojo来启动和停止Sauce Connect进程

    这将允许您使用Cargo(可配置为启动Jetty)、Failsafe]和Sa司Connect的组合来实例化容器和Sa司Connect,运行测试,并在测试完成后关闭容器和Sa司Connect,所有这些都可以通过调用
    mvn verify
    来运行

    通过将以下内容添加到pom.xml文件中,可以将Sauce Connect Maven插件包含在项目中:

    <build>
    <plugins>
        <!-- Include Sauce Connect plugin -->
        <plugin>
            <groupId>com.saucelabs.maven.plugin</groupId>
            <artifactId>sauce-connect-plugin</artifactId>
            <version>1.0.15</version>
            <configuration>
                <sauceUsername>YOUR_SAUCE_USERNAME</sauceUsername>
                <sauceAccessKey>YOUR_SAUCE_ACCESS_KEY</sauceAccessKey>
            </configuration>
            <executions>
                <!-- Start Sauce Connect prior to running the integration tests -->
                <execution>
                    <id>start-sauceconnct</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>start-sauceconnect</goal>
                    </goals>
                </execution>
                <!-- Stop the Sauce Connect process after the integration tests have finished -->
                <execution>
                    <id>stop-sauceconnect</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>stop-sauceconnect</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        ...
    </plugins>
    </build>
    <pluginRepositories>
    <pluginRepository>
       <id>saucelabs-repository</id>
       <url>http://repository-saucelabs.forge.cloudbees.com/release</url>
       <releases>
           <enabled>true</enabled>
       </releases>
       <snapshots>
           <enabled>true</enabled>
       </snapshots>
    </pluginRepository>
    </pluginRepositories>
    
    
    com.saucelabs.maven.plugin
    ,它演示了Sauce Connect插件以及Cargo和Failsafe的用法


    该插件是相当新的,所以请让我知道如果你有任何反馈

    看起来很棒,谢谢!它是否支持在同一台服务器上并行执行同一构建?它应该支持并行执行,因为代码正在重用Sauce CI插件中包含的逻辑,从而确保每个Sauce用户运行一个Sauce Connect实例,并且Sauce Connect仅在调用它的最后一个进程完成时关闭。如果有任何问题,请告诉我:)