/// <summary> /// Parses WSE XTestStep to get payload /// </summary> /// <param name="xTestStep">WSE XTestStep</param> /// <param name="tql">tql to get root json object from request/reponse object</param> /// <returns>payload</returns> public string Parse(XTestStep xTestStep, string tql = "") { try { if (xTestStep == null) { return(string.Empty); } XTestStepValue jsonObject = xTestStep.Search(tql).Cast <XTestStepValue>().FirstOrDefault( x => x.ModuleAttribute.BusinessType == "JsonObject" || x.ModuleAttribute.BusinessType == "JsonArray"); if (jsonObject != null) { JArray arrayObject = new JArray(); JObject plainObject = CommonUtilities.ConstructJsonStructure(jsonObject, new JObject()); if (jsonObject.ModuleAttribute.BusinessType == "JsonObject") { return(Convert.ToString(plainObject)); } arrayObject.Add(plainObject.Values()); return(Convert.ToString(arrayObject)); } } catch (Exception e) { FileLogger.Instance.Error( $"Failed to create Json payload for request :{xTestStep?.Name}", e); } return(string.Empty); }