同时运行测试时,我们可以使用静态Pojo方法吗?

问题描述 投票:0回答:1

当前,我已经建立了一个自动化测试框架,该框架执行以下操作:

  1. 同时执行特定的测试(即,同时进行x3个测试时间)。
  2. 该框架使用Cucumber BDD。
  3. 我需要跨步骤存储和共享数据。

关于并行运行测试时使用静态方法和变量,我需要您的建议,即使同时运行测试,数据也能正确存储吗?

public class Chat_Pojo {

    private static String messageToSend;

    public static void storeUniqueMessage(String message) {
        messageToSend = message;
    }

    public static String getUniqueMessage() {
        return messageToSend;
    }

    public static void wipeMessage() {
        messageToSend = null;
    }
    ...
}

java selenium selenium-webdriver cucumber pojo
1个回答
0
投票

private static String messageToSend;仅属于Chat_Pojo类,因此,如果您不想共享该值,则应使用private static ThreadLocal<String> messageToSend对其进行修改。在这种情况下,每个线程将具有其自己的messageToSend值。如果要获取该值,则分别需要调用set()get()如果要在线程之间共享该值,则需要同步修改方法(public static void storeUniqueMessage(String message)public static void wipeMessage()

© www.soinside.com 2019 - 2024. All rights reserved.