I have seen a similar issue, where some tests were getting skipped. For me, it was my BeforeTest that was throwing an exception, so every new test that used that same BeforeTest, would be skipped. I think with TestNG, if the BeforeTest fails, than it is assumed that any other test that uses that same BeforeTest, it will fail again. I solved this by putting my BeforeTest in a try/catch, so I caught every exception that could be thrown from the BeforeTest, and than in your @Test, right at the top, you can assert that the BeforeTest did what it was suppose to do, before beginning the actual test.