0

我创建了一个简单的程序来初始化 crome 和一个 SYSO 语句。我想并行运行 2 @Test。但它执行的总是 seq。它无法识别并行执行的原因是什么?

这是代码:

import static org.junit.jupiter.api.Assertions.*;

    import java.util.HashMap;
    
    import org.junit.jupiter.api.AfterAll;
    import org.junit.jupiter.api.AfterEach;
    import org.junit.jupiter.api.BeforeAll;
    import org.junit.jupiter.api.Test;
    import org.junit.jupiter.api.parallel.Execution;
    import org.junit.jupiter.api.parallel.ExecutionMode;
    import org.openqa.selenium.Dimension;
    import org.openqa.selenium.Proxy;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.Proxy.ProxyType;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.chrome.ChromeOptions;
    import org.openqa.selenium.remote.DesiredCapabilities;
    
    @Execution(ExecutionMode.CONCURRENT)
    public class Parallel {
        
        static String driverPath = "C:/BestX/workspace/chromedriver_win32/chromedriver.exe";
        static String downloadFilepath = "C:\\BestX";
        
        
        @Execution(ExecutionMode.CONCURRENT)
          @Test
          void test1() throws Exception {
                      
              createDriver();
              Thread.sleep(5000);
            System.out.println(Thread.currentThread().getName()+" => test1");   //.currentThread.getName() -just to display current running thread name
          }
        
        @Execution(ExecutionMode.CONCURRENT)
          @Test
          void test2() throws Exception {
                      
              createDriver();
              Thread.sleep(5000);
            System.out.println(Thread.currentThread().getName()+" => test1");   //.currentThread.getName() -just to display current running thread name
          }
        
         
         public void createDriver() {
                DesiredCapabilities dcaps = new DesiredCapabilities();
                dcaps.setCapability("takesScreenshot", true);
    
                System.setProperty("webdriver.chrome.driver", driverPath);
                ChromeOptions chromeOptions = new ChromeOptions();
                chromeOptions.addArguments(new String[] { "--no-sandbox" });
                chromeOptions.addArguments(new String[] { "--max_old_space_size=4096" });
                dcaps.setCapability("goog:chromeOptions", chromeOptions);
    
                HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
                chromePrefs.put("download.default_directory", downloadFilepath);
                chromeOptions.setAcceptInsecureCerts(true);
                chromeOptions.setExperimentalOption("prefs", chromePrefs);
    
                WebDriver driver = new ChromeDriver(chromeOptions);
                driver.manage().window().setSize(new Dimension(1920, 1200));
                
            }
        
    
    }

'''

这是资源文件夹下的“junit-platform.properties”

junit.jupiter.execution.parallel.enabled = true
junit.jupiter.execution.parallel.mode.default = concurrent
4

1 回答 1

0

现在是workign。在文件夹结构中是一个愚蠢的错误。junit-platform.properties 文件位于 tests- >resources而不是test->resources文件夹下

于 2021-08-02T08:06:05.613 回答