【问题标题】:Pass user name while running test using maven command使用 maven 命令运行测试时传递用户名
【发布时间】:2012-08-07 11:31:04
【问题描述】:

我们想创建特定于在服务器中触发请求的用户的测试报告。如果我们这样改变pom

<configuration>
    <outputDirectory>${basedir}/target/${user.name}</outputDirectory>
</configuration>


这会生成服务器的用户名,而不是触发测试的个人。我见过一种可能的解决方案,例如mvn surefire-report:report -DoutputDirectory=newpath。但是想知道,我们如何通过命令提示符传递用户名。


非常感谢任何指导。

【问题讨论】:

    标签: java maven selenium maven-plugin


    【解决方案1】:

    在你的 pom 文件中创建一个属性:

    <pom>
        ...
        <properties>
            <some.propertyName></some.propertyName>
        </properties>
        ...
        <configuration>
            <outputDirectory>${basedir}/target/${some.propertyName}</outputDirectory>
        </configuration>
    </pom>
    

    然后你这样使用它:

    mvn surefire-report:report -Dsome.propertyName=DonaldDuck
    

    【讨论】:

    • 以上答案完美运行,并使用我的用户名创建了相应的导演。在进一步测试之后,我发现了另一个复杂性。
    • 以上答案完美运行,并使用我的用户名创建了相应的导演。在进一步测试之后,我带来了另一个复杂性。如果有人想运行任何没有安装任何 maven 的测试,我们想从该用户那里获得一个 HTTP 请求,并且相应的 maven 命令将在服务器中触发。为了完成这项工作,我认为,我们需要能够使用 maven 命令运行测试,其中我们不依赖于 POM 中定义的属性,而是使用系统属性。请求可能类似于 mvn -Dtest=*.java -DoutputDirectory=。有什么想法吗?
    • 只需将默认属性设置为您想要的任何值,&lt;some.propertyName&gt;${user.name}&lt;/some.propertyName&gt;。然后使用 HTTP 请求只需调用没有 -Dsome.propertyName 的 maven 命令。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 2014-01-05
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    相关资源
    最近更新 更多