Как проверить, не содержит ли строка json определенных шаблонов регулярных выражений

#java #json #selenium #rest-assured

Вопрос:

Я новичок в схеме json. Я автоматизирую тестовый сценарий, в котором API возвращает строку JSON, и я хочу проверить, не содержит ли JSON шаблон электронной почты, лицензионный ключ, имя пользователя и IP-адрес.

Я попробовал ниже, но не получилось —

 System.out.println("Initiating Test 1");
        
//      String emailPattern = "^(?=.{1,64}@)[A-Za-z0-9_-] (\.[A-Za-z0-9_-] )*@"   "[^-][A-Za-z0-9-] (\.[A-Za-z0-9] )*(\.[A-Za-z]{2,})$";
//      System.out.println(emailPattern);
        
        String restAPIEndPoint ="api.comapi";
        Response response = restAssuredAPI.apiGetMethodResponse(restAPI, restAPIKey,restAPIEndPoint);
        
        String ipPattern = "(\d{1,2}|(0|1)\"   "d{2}|2[0-4]\d|25[0-5])";
        String regex = ipPattern   "\."   ipPattern   "\."   ipPattern   "\."   ipPattern;
        
        String regex = ""data"";
        System.out.println(regex);
        Pattern pattern = Pattern.compile(regex);
        String jsonResult = restAssuredAPI.apiGetMethodContent(response);
        System.out.println(jsonResult);
        
        Matcher match = pattern.matcher(jsonResult);
                
        boolean matches = match.matches();
        System.out.println(matches);

        int statusCode = restAssuredAPI.getStatusCode(response);
        Assert.assertEquals(statusCode, 201);
        

 

Комментарии:

1. Используйте assertFalse(boolean condition) или assertFalse(boolean condition, String message) для проверки не совпадают.