Android studio Android Studio-在循环中多次运行相同的测试用例

Android studio Android Studio-在循环中多次运行相同的测试用例,android-studio,android-espresso,Android Studio,Android Espresso,在提交测试用例之前,我想确保它们运行稳定。Android Studio中有没有办法在循环中多次运行相同的测试用例/类?用@FlakyTest注释您的测试。看 比如说 @FlakyTest(tolerance = 3) public void myTest() { // Test that sometimes fails for no good reason } 更新:我看到你用的是浓缩咖啡。然后。。。不,很遗憾,android测试套件不支持这一点。但这里有一个功能要求:只需使用cycl

在提交测试用例之前,我想确保它们运行稳定。Android Studio中有没有办法在循环中多次运行相同的测试用例/类?

@FlakyTest
注释您的测试。看

比如说

@FlakyTest(tolerance = 3)
public void myTest() {
    // Test that sometimes fails for no good reason
}

更新:我看到你用的是浓缩咖啡。然后。。。不,很遗憾,
android测试套件不支持这一点。但这里有一个功能要求:

只需使用cycle
即可。例如:

@Test // test loop
    public void openApp() {
       int x;
        for(x=1; x < 3; x++) {
            PageObject open = new PageObject(driver);
            waitUntilElmntToBeClckbl(open.sqlApp);
            open.sqlApp.click();
            driver.navigate().back;
}
@Test//测试循环
public void openApp(){
int x;
对于(x=1;x<3;x++){
PageObject打开=新的PageObject(驱动程序);
waitUntilElmntToBeClckbl(open.sqlApp);
open.sqlApp.click();
driver.navigate()返回;
}
对空参数集的多个实例使用JUnit测试:

@RunWith(Parameterized.class)
public class RepeatedTest {

    private static final int NUM_REPEATS = 10;

    @Parameterized.Parameters()
    public static Collection<Object[]> data() {
        Collection<Object[]> out = new ArrayList<>();
        for (int i = 0; i < NUM_REPEATS; i++) {
            out.add(new Object[0]);
        }
        return out;
    }

    @Test
    public void unstableTest() {
        // your test code here
    }
}
@RunWith(参数化的.class)
公开课复试{
专用静态最终int NUM_REPEATS=10;
@Parameterized.Parameters()
公共静态收集数据(){
Collection out=new ArrayList();
for(int i=0;i
参数化测试类为标记有
@Parameters
注释的方法中的每个项运行一次其所有测试方法。它通常用于运行具有不同初始值的测试,但如果没有要设置的值,则只需根据需要重复多次测试


只有在所有实例都通过的情况下,测试才会通过。

如果您想运行一个测试几次,看看它是否稳定,在Android studio中,您可以在测试的运行/调试配置中重复一个测试

我认为IJ不支持这一点。如果您不想接触您的测试代码,您可以对{1..20}中的I执行
set-e;do./gradlew connectedAndroidTest;done
。这是不正确的!在每次测试之前,都要执行一些设置/配置。根据您的建议,只执行一次,然后测试就可以运行。其次,一旦测试失败,它将退出。它不会继续运行更多的迭代。第三,这是为了检查测试的稳定性运行并必须对将要提交的实际测试代码执行。这是一种推断,@Konstantin:)