Forum Discussion

rhu's avatar
rhu
Contributor
2 years ago

Execution plan parameter do not work (maybe because of umlauts)

I use some xml "code" in a variable to create a customer test like:

{
"description": "testÄÖÜ",
"customer": {
"Number": 0815,
"FN": "TestFirstÄ1",
"LN": "TestLastÄ1"
}
}

When using a variable for that input it is working.
when using a parameter and set the default parameter it is working.
When I now use an execution plan because I want to change the input (e.g. FN and LN to TestFirstÄ2 and TestLastÄ2) and try to copy the values into the parameter for the execution plan it does not work.
After coping I only get parts of the copied file into the parameter value and so the test is not working.

 

  • I guess this control,

    Is different to this,

     

    It's worth raising this with SmartBear. The Devs need to change the control from single to multi line

  • Seems to be solved with version 15.51

  • rraghvani's avatar
    rraghvani
    Champion Level 3

    I guess this control,

    Is different to this,

     

    It's worth raising this with SmartBear. The Devs need to change the control from single to multi line

    • rhu's avatar
      rhu
      Contributor

      Thanks for help.
      I created a ticket and described the problem and the possible solution (to change the control to multiline)..

  • rhu's avatar
    rhu
    Contributor

    Seems to be solved with version 15.51

  • KB1's avatar
    KB1
    Champion Level 2

    It sounds like you are running into an issue with encoding when trying to copy the XML code from a variable to a parameter in TestComplete. It's possible that the special characters in the "description" and "FN"/"LN" fields (such as "Ä", "Ö", and "Ü") are not being properly encoded or decoded when being copied to the parameter.

    One solution to this could be to convert the XML code to a different encoding before copying it to the parameter. For example, you could try converting the XML code to UTF-8 or UTF-16 before copying it to the parameter.

    Another solution could be to use a different method to copy the XML code to the parameter. Instead of copying the code directly, you could try serializing the XML code to a string, and then deserializing the string back into an XML object after it has been copied to the parameter.

    Additionally, it would be helpful to check if you are using the correct version of TestComplete, as well as checking the log files for any error messages. if there is anything in the logging please place it here.

    • rhu's avatar
      rhu
      Contributor

      First thanks for your reply:
      The Text is already in UTF8 and I always copy the same text (and modify it when necessary).

       

      To my opinion the problem is related to the parameter-handling in the execution plan.
      If I copy the text into a Variable it is working (also with the changed text)
      If I copy the text into a parameter at the teststcase (as default parameter value) it is working (also with the changed text).
      If I copy the text into the "parameter value" of the execution plan it is NOT working. neither with the original text nor with the modified.
      So why ist the behavior different between the default parameter in the test and the execution plan?



  • rraghvani's avatar
    rraghvani
    Champion Level 3

    I've converted your data into a flat file, and passing it into a string parameter in the execution plan

    Output is shown

     

    • rhu's avatar
      rhu
      Contributor

      That is strange because if I copy it into the execution plan parameter it looks like only the first sign "{" is entered.

       

  • rraghvani's avatar
    rraghvani
    Champion Level 3

    I had a feeling you were doing that, hence me mentioning "flat file".

     

    The string value will only accept single line, and not multplie lines.

     

    "{"description": "testÄÖÜ", "customer": {"Number": 0815, "FN": "TestFirstÄ1", "LN": "TestLastÄ1"}}"

     

    If you want to retain the carriage return, then include e.g. '\r'

     

    "{\r"description": "testÄÖÜ",\r"customer": {\r"Number": 0815,\r"FN": "TestFirstÄ1",\r"LN": "TestLastÄ1"\r}\r}"

     

     

    • rhu's avatar
      rhu
      Contributor

      For me the behavior is still strange because I use a lot of Text within the xml like 60 lines and if I paste it at the test step as default parameter I can see the text and can scroll down the lines within the default parameter values and I do not need any special carriage returns (/r) to enter. I can just copy the text.
      If I do the same in the execution plan parameter value it only copies the first sign the "{".