使用maven执行testng特定组时,报错Nullpointer

现象如下:

当我使用maven指定执行testng特定的组时,会报nullpointer。


相应的pom.xml如下:

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <groupsTest>loginTest</groupsTest>
    </properties>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.17</version>
            <configuration>
                <!--<suiteXmlFiles>-->
                    <!--<suiteXmlFile>testNg.xml</suiteXmlFile>-->
                <!--</suiteXmlFiles>-->
                <groups>${groupsTest}</groups>
            </configuration>
        </plugin>

    </plugins>
</build>
报错的地方的相应代码是这样的:

public abstract class TestBase {
    protected WebDriver driver = null;
    protected String browser;
    protected Logger log = Logger.getLogger(getClass());

    @BeforeMethod
    public void beforeMethod() throws MalformedURLException {
        //PropertyConfigurator.configure(System.getProperty("user.dir")+"\\config\\log4j.properties");
        driver = DriverManage.getDriver(browser);
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        driver.manage().window().maximize();
    }

    @AfterMethod
    public void afterMethod(){
        driver.quit();
    }

    @Parameters({"driverType"})
    @BeforeClass
    public void beforeClass(@Optional("4") String driverType){
        browser = driverType;
    }

详细查看代码,没有发现任何问题,后来经过Google查阅资料发现下面一个类似问题:

https://stackoverflow.com/questions/23471424/can-not-run-a-specific-testng-group-via-maven

于是乎上手验证,修改代码如下


再次执行maven的test,问题解决!!!

猜测问题发生原因,是因为maven指定组时,beforemethod 和 beforeclass不会默认执行,必须指定alwaysRun = true才可以



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值