Error populating text fields using Fitnesse

Hi experts,

I’m facing an issue to implement an automation script with Fitnesse.

I manage to open the site, click on the card layouts, links, and populate paragraph, date and dropdown fields, however I’m not able to populate simple text fields, no matter where this fields are located, either inside a section or in a grid.

I tried different methods as described below, but without success though.

Am I doing something wrong? Could you guys please check below and see the methods that I used and the errors that I’m getting and let me know if you have any suggestion?

 

Method:

|populate field  |[1]|with|TestValue|

|populate field  |[1]|with value|TestValue|

Error:

populate field Invalid argument: Populate Field - [1] - TestValue [1]          with       TestValue

 

 

Method:

|populate field  |Project Name|with value|TestValue|

|populate field  |Project Name|with|TestValue|

Error:

populate field Invalid argument: Populate Field - Project Name - TestValue            Project Name    with value                TestValue

populate field Invalid argument: Populate Field - Project Name - TestValue            Project Name    with       TestValue

 

 

 

Method:

|populate        |TEXT|field|Project Name|with|TestValue|

Error:

populate Invalid argument: Populate Field - Project Name - TestValue     TEXT      field       Project Name    with                TestValue

 

 

 

 

Method:             

|populate        |TEXT|field|[1]|with|TestValue|

Error:

populate An error has occurred: Wait for Field Type - TEXT - [1]   TEXT      field       [1]          with       TestValue

               

 

Method:             

|populate field  |[1]|in section|Create a New Project|with|TestValue|

|populate field  |Project Name|in section|Create a New Project|with|TestValue|           

Error:

EXCEPTION__:org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element

  Discussion posts and replies are publicly visible

  • Well the correct one is

    |populate field |Project Name|with value|TestValue|
    |populate field |Project Name|with|@paramFromScenario|

    Is this field present multiple times ? Maybe try
    “Project Name[1]” or any other number.

    Does the textField has the label “Project Name”? Does it have any special character? Are you using same+ version of fitnesse than your Appian ? How big is your scripts? Would you be able to isolate just the text field?

    What i have noticed is that if the text field is alone, sometimes it doesn’t gets captured(not detected properly). Try to few things, use a parameter in a scenario. Populate the field twice and a Dropdown or another no text field right after the text.

    José
  • Hi Jose,

    Thank you for your reply.

    My script is not that big, as I'm just starting to create the scenario, I manage to fill drop down fields and date fields, however the text field is not working. The versions are the same.

    I tried the two methods that you mentioned and in both situations I got the error below:

    Invalid argument: Populate Field - Project Name - TestName

    Find below the script that I tried, everything is working fine but the test field(Last Line):

    !*** variable setup
    !define NAME {TestName}
    ***!

    !*** Login to Tempo and go to Records
    !| scenario |Create Project |
    |navigate to site|SITE_URL |
    |click on card |Project |
    |click on card |CreateNewProject |
    |populate |PARAGRAPH |field|[1]|with|Test_Paragraph|
    |populate field |Start Date |with |01/01/2020 |
    |click on link |Add another contact point |
    |populate field |Project Name|with |${NAME} |


    Any other suggestion?

    Regards,

    Acacio B.
  • Hello Acacio,

    it looks good for me. What do you get on the fitnesse log?

    Jose
  • Hi Jose,

    Thank you again,

    Please see below the relevant part of the log file:

    java.lang.IllegalArgumentException: Unrecognized field type
    at com.appiancorp.ps.automatedtest.tempo.interfaces.TempoFieldFactory.getFieldType(TempoFieldFactory.java:229)
    at com.appiancorp.ps.automatedtest.tempo.interfaces.TempoFieldFactory.populate(TempoFieldFactory.java:64)
    at com.appiancorp.ps.automatedtest.tempo.interfaces.TempoFieldFactory.populateMultiple(TempoFieldFactory.java:44)
    at com.appiancorp.ps.automatedtest.fixture.TempoFixture.populateFieldWith(TempoFixture.java:851)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)


    It seems to be a problem with the field type, maybe I'm not specifying correctly, on the below method I'm setting as a paragraph field and it is working fine, I tried to replace PARAGRAPH for TEXT but it not worked.

    |populate |PARAGRAPH |field|[1]|with|Test_Paragraph|

    Do you you if TEXT is the proper denomination for a textfield?

    Regards,

    Acacio B.
  • Hello Acacio,

    How is this issue going? Were you able to sort it out?
    Yesterday i wanted to ask you for a snippet do see how is your actual code that you are trying to test.

    I have the feeling you were appearing and hiding stuff based on the clicks from the users/fitnesse.

    José
  • Hi Acacio,

    Try below one

    !*** Login to Tempo and go to Records
    !| scenario |Create Project |
    |navigate to site|SITE_URL |
    |click on link|Project |
    |click on link|CreateNewProject |
    |populate field|fieldName[1]|with|Test_Paragraph|
    |populate field |Start Date |with |01/01/2020 |
    |click on link |Add another contact point |
    |populate field |Project Name|with |${NAME} |


    Thanks
    Siva Chimata
  • Hi Jose,

    Thank you for your replay, the error still happening, check the screenshots as you request:

     

     

  • Hi Siva thank you for your replay,

    I tried as you recommended however the error still happening, please check the error screenshot:

     

  • Hi @

    Please try to check your version application i.e

    Whether your Appian application matches the version which you have updated in Fitnesse For Appian ?

    If yes, did you check that the changes are reflected in Setup Page of Fitnesse For Appian as well ?

    This should resolve your error as I had encountered the same 

    Have a nice day