1

我有一个从thucydides-jbehave-archetype构建的项目

我正在尝试按照这些步骤更改运行我的项目时运行 Thucydides 的浏览器 http://thucydides.info/docs/thucydides/_running_thucydides_in_different_browsers.html

在 pom.xml 我有这个(来自 thucydides 原型):

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.11</version>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>

根据说明,我已将其更改为:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.11</version>
            <!-- 
            <configuration>
                <skip>true</skip>
            </configuration>
             -->
            <configuration>
                <systemPropertyVariables>
                    <webdriver.driver>${webdriver.driver}</webdriver.driver>
                </systemPropertyVariables>
            </configuration>

        </plugin>

我还更改了属性部分中的值:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <thucydides.version>0.9.205</thucydides.version>
    <thucydides.jbehave.version>0.9.205</thucydides.jbehave.version>
    <!-- I have tried chrome too -->
    <webdriver.driver>safari</webdriver.driver>
</properties>

但我的测试仍在使用默认浏览器(firefox)运行。我在这里做错了什么?

4

1 回答 1

2

我对 systemPropertyVariables 也有同样的问题,我决定不为此使用 pom.xml。

您需要创建类 *TestSuite 并从类 ThucydidesJUnitStories 扩展它。在构造函数中,您只需设置所需的属性。

导入 net.thucydides.core.ThucydidesSystemProperty;
导入 net.thucydides.jbehave.ThucydidesJUnitStories;

公共类 PremiumTestSuite 扩展 ThucydidesJUnitStories {

public PremiumTestSuite() { System.setProperty("webdriver.chrome.driver", System.getProperty("user.home") + "/chromedriver"); getSystemConfiguration().setIfUndefined("webdriver.driver", "chrome"); getSystemConfiguration().setIfUndefined(ThucydidesSystemProperty.THUCYDIDES_STORE_HTML_SOURCE.getPropertyName(), "true"); getSystemConfiguration().setIfUndefined(ThucydidesSystemProperty.THUCYDIDES_TAKE_SCREENSHOTS.getPropertyName(), "FOR_FAILURES"); } }

我希望它会帮助你:)

于 2013-10-07T11:40:09.637 回答