如何访问maven中使用-D开关传递的系统属性

时间:2013-09-03 15:12:47

标签: maven pom.xml uiautomator

我正在使用android-maven-plugin编写uiautomator测试用例。我的项目适用于不同的客户端,我需要将客户端的名称作为字符串发送到程序,以便测试所选的cleint的应用程序。这是期望客户名称的代码

@Override
    protected void setUp() throws Exception {
        super.setUp();
        UiAutomatorUtils.unlockEmulator();
        String launcherString = /* NEEDED A WAY TO ACCESS CLIENT'S NAME STRING" */
        assertNotNull("launcherString not provided", launcherString);
        AppLauncher.launchApplicationFromDesiredLauncher(launcherString);
        UiAutomatorUtils.setCurrentTestName("LoginLogout");
    }

我怎样才能做到这一点。 我试图从命令行传递参数,如下所示:mvn install -DLAUNCHER = xyzClient 并使用System.getProperty(“LAUNCHER”)获取setUp()中的值。但它没有用。

我想知道这次挑战的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

恕我直言,你的测试用例从外部提取这样一个动态值并不是一个好习惯。如果需要指定这样的属性,我将不知道如何构建你的maven项目。

我不完全理解上下文,但可能您可以将客户端名称列表放在测试资源中并针对它运行。通过这种方式,任何正在检查代码的开发人员都将对所有内容进行测试。当您发布项目时,您还可以确保所有客户端都已经过测试。