【问题标题】:How to access the Utilities of Selenium Java Framework in various different projects?如何在各种不同的项目中访问 Selenium Java Framework 的实用程序?
【发布时间】:2020-11-06 04:06:10
【问题描述】:

我创建了一个具有适当文件夹结构的 Selenium Java 框架。基本上,我的框架由几个常用实用程序(页面对象、报告配置和驱动程序初始化设置等)组成。该框架旨在自动化和验证 Web 应用程序。我们的组织中有一堆在性质和行为上很常见的 Web 应用程序。我开发的 Java 框架有一些通用方法和页面对象,可以在所有 Web 应用程序中使用。

现在,我已经将我的框架推送到了 Github。而且,我希望我组织中的其他团队也使用我的框架。因此,在我的组织中,我们为每个项目创建了一个新的存储库。因此,我想知道我组织的其他团队是否可以在他们的项目中访问我的框架。

我不希望任何人克隆我的框架存储库、添加他们的测试并将其推回。因为我组织中的每个项目都有自己的仓库。因此,我只是希望他们将我的框架作为依赖项添加到他们的项目仓库中。而且,当他们克隆他们的 repo 并进行 maven 构建时,他们应该能够访问我的框架的实用程序。请让我知道这是否可能。谢谢!提前。

【问题讨论】:

    标签: java selenium github frameworks


    【解决方案1】:

    您有多种选择。

    选项 1: 向项目外部用户授予只读访问权限,以便他们可以从框架中提取和重用项目,而不会影响您的代码。其他团队可以根据自己的需要来定制框架(可以认为是adv/disadv)

    选项 2: 将您的框架转换为 jar,然后与其他团队共享。请他们使用罐子。无法在框架中进行编辑。

    【讨论】:

    • 感谢您的快速回复。我认为您提到的两种选择都很好。但是,我想了解更多关于选项 1 的信息,请您详细说明提取和重用选项。我可以将我的项目设为只读。但是,其他团队将如何从他们的仓库中引用我的框架?
    • 查看此链接,该链接将指导您设置团队和访问级别。 docs.github.com/en/github/getting-started-with-github/…
    【解决方案2】:

    我们正在做同样的事情(我们正在使用选项 2,如下所示)。其他团队需要将其用作 pom.xml 中的依赖项。在maven中使用依赖的两种方式:

    1. 如果您的公司有 maven 工件管理系统,您可以将您的框架 jar 发布到该系统中,并要求其他团队直接将其用作 pom.xml 中的依赖项

    否则, 2.你需要准备一个jar文件,其他团队需要使用它作为依赖使用系统范围级别如下:

    <!-- Framework -->
            <dependency>
                <groupId>com.test.group></groupId>
                <artifactId>automation-framework</artifactId>
                <version>0.0.1-SNAPSHOT</version>
                <scope>system</scope>
                <systemPath>${jar.location}</systemPath>
            </dependency>
    

    groupId、artifactId 和 version 是您的框架项目的详细信息。 其他团队可以在他们的项目中创建一个名为 "libs" 的文件夹,并将您的框架的 jar 存储在其中。该位置将位于此处:${jar.location}

    每次您对框架进行更改并构建新 jar 时,他们都需要更新 "libs" 文件夹下的 jar 文件。

    这样,他们可以使用您的所有实用程序,但不能修改或将任何测试发布到您的项目中。

    【讨论】:

      【解决方案3】:

      您需要保留 utils 包并将所有 utils 类创建到该包中并使用它 在每个项目中,您都需要保留包以单独保留 utils 类

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-30
        • 2015-12-16
        • 2011-06-20
        • 2012-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多