好吧,我的问题是当我尝试设置一个Selenide变量assertionMode = SOFT时,我的测试被忽略了,而Selenide抛出了一个异常:
java.lang.IllegalStateException: Using soft asserts, but without @SoftAsserts annotation
例如,当我使用Selenide文档中的示例时:
在测试类上方编写注释
@ExtendWith(SoftAssertsExtension.class)
class IssueCreationTest extends BaseTest {
@Test
void test() {...}
}
或将SoftAssertsExtension定义为类变量
class Tests {
@RegisterExtension
static SoftAssertsExtension softAsserts = new SoftAssertsExtension();
@Test
void test() {...}
}
我遇到了同样的问题。
也许有人遇到了这个问题,也许有人知道我该如何解决?
最佳答案
好!当我使用必须在测试开始之前完成的@BeforeAll和@afterall方法将BaseTest描述为某种逻辑和行为时,脚本将在第一个方法上崩溃……单击();。 ...都在带有注解@BeforeAll和@afterall的方法中(下面的示例截图)。
BrokenBaseTest
但是,如果您将这些步骤转移到此类中带有@test批注的方法或BaseTest将听到的类的方法...,那么一切将开始工作,并使用文档中描述的所有方法(带有示例的屏幕截图)下面)。
WorkedBaseTest
问题解决了,希望我能清楚地描述本质。尚不清楚为什么在第一种情况下,Sekenide拒绝工作并引发异常。