/// <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);
        }