Can't do a set text on rich text area widget

Dear Community,

Below is the record done.

When looking what the recorder generated, we can see that when I set the description of the request
“This is a content of my request to help support…”, I’m getting this recorded actions:

As you can see, we are not able to see a “set text” action on description of my request.

Looking on detail of the page which is embedded a rich text widget, I’m getting the following details (inspect):

<div class="col-xs-10">
            <!-- ngIf: !environment --><div ng-if="!environment" class="ng-scope">
                <div text-angular="" name="richTextAreaWidget0" ta-disabled="properties.readOnly" ng-model="properties.value" ta-toolbar="[[&quot;h1&quot;,&quot;h2&quot;,&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;,&quot;p&quot;,&quot;ul&quot;,&quot;ol&quot;],[&quot;bold&quot;,&quot;italics&quot;,&quot;underline&quot;,&quot;strikeThrough&quot;,&quot;pre&quot;,&quot;quote&quot;],[&quot;justifyLeft&quot;,&quot;justifyCenter&quot;,&quot;justifyRight&quot;,&quot;indent&quot;,&quot;outdent&quot;],[&quot;undo&quot;,&quot;redo&quot;,&quot;clear&quot;]]" ng-required="true" ta-min-text="0" ta-max-text="9007199254740991" placeholder="Provide as much detail as possible related to your issue to help us understand it and provide the best solution quickly." class="ng-pristine ng-untouched ng-isolate-scope ta-root ng-valid-ta-min-text ng-valid-ta-max-text ng-invalid ng-invalid-required focussed" required="required"><div text-angular-toolbar="" name="textAngularToolbar6749658432077827" ta-toolbar="[[&quot;h1&quot;,&quot;h2&quot;,&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;,&quot;p&quot;,&quot;ul&quot;,&quot;ol&quot;],[&quot;bold&quot;,&quot;italics&quot;,&quot;underline&quot;,&quot;strikeThrough&quot;,&quot;pre&quot;,&quot;quote&quot;],[&quot;justifyLeft&quot;,&quot;justifyCenter&quot;,&quot;justifyRight&quot;,&quot;indent&quot;,&quot;outdent&quot;],[&quot;undo&quot;,&quot;redo&quot;,&quot;clear&quot;]]" class="ng-scope ng-isolate-scope ta-toolbar btn-toolbar focussed"><div class="btn-group"><button type="button" class="btn btn-default ng-scope" name="h1" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Titre 1" unselectable="on">H1</button><button type="button" class="btn btn-default ng-scope" name="h2" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Titre 2" unselectable="on">H2</button><button type="button" class="btn btn-default ng-scope" name="h3" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Titre 3" unselectable="on">H3</button><button type="button" class="btn btn-default ng-scope" name="h4" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Titre 4" unselectable="on">H4</button><button type="button" class="btn btn-default ng-scope" name="h5" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Titre 5" unselectable="on">H5</button><button type="button" class="btn btn-default ng-scope" name="h6" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Titre 6" unselectable="on">H6</button><button type="button" class="btn btn-default ng-scope active" name="p" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Paragraphe" unselectable="on">P</button><button type="button" class="btn btn-default ng-scope" name="ul" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Liste" unselectable="on"><i class="fa fa-list-ul"></i></button><button type="button" class="btn btn-default ng-scope" name="ol" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Liste numérotée" unselectable="on"><i class="fa fa-list-ol"></i></button></div><div class="btn-group"><button type="button" class="btn btn-default ng-scope" name="bold" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Gras" unselectable="on"><i class="fa fa-bold"></i></button><button type="button" class="btn btn-default ng-scope" name="italics" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Italique" unselectable="on"><i class="fa fa-italic"></i></button><button type="button" class="btn btn-default ng-scope" name="underline" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Souligné" unselectable="on"><i class="fa fa-underline"></i></button><button type="button" class="btn btn-default ng-scope" name="strikeThrough" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Barré" unselectable="on"><i class="fa fa-strikethrough"></i></button><button type="button" class="btn btn-default ng-scope" name="pre" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Texte préformaté" unselectable="on">pre</button><button type="button" class="btn btn-default ng-scope" name="quote" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Formater le paragraphe ou la sélection en citation" unselectable="on"><i class="fa fa-quote-right"></i></button></div><div class="btn-group"><button type="button" class="btn btn-default ng-scope active" name="justifyLeft" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Aligner le texte à gauche" unselectable="on"><i class="fa fa-align-left"></i></button><button type="button" class="btn btn-default ng-scope" name="justifyCenter" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Centrer" unselectable="on"><i class="fa fa-align-center"></i></button><button type="button" class="btn btn-default ng-scope" name="justifyRight" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Aligner le texte à droite" unselectable="on"><i class="fa fa-align-right"></i></button><button type="button" class="btn btn-default ng-scope" name="indent" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Augmenter l'indentation" unselectable="on"><i class="fa fa-indent"></i></button><button type="button" class="btn btn-default ng-scope" name="outdent" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Diminuer l'indentation" unselectable="on"><i class="fa fa-outdent"></i></button></div><div class="btn-group"><button type="button" class="btn btn-default ng-scope" name="undo" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Annuler" unselectable="on"><i class="fa fa-undo"></i></button><button type="button" class="btn btn-default ng-scope" name="redo" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Rétablir" unselectable="on"><i class="fa fa-repeat"></i></button><button type="button" class="btn btn-default ng-scope" name="clear" ta-button="ta-button" ng-disabled="isDisabled()" tabindex="-1" ng-click="executeAction()" ng-class="displayActiveToolClass(active)" title="Basculer l'affichage du texte vers HTML / Rich Text" unselectable="on"><i class="fa fa-ban"></i></button></div></div><div class="ta-scroll-window ng-scope ta-text ta-editor form-control" ng-hide="showHtml"><div class="popover fade bottom" style="max-width: none; width: 305px;"><div class="arrow"></div><div class="popover-content"></div></div><div class="ta-resizer-handle-overlay"><div class="ta-resizer-handle-background"></div><div class="ta-resizer-handle-corner ta-resizer-handle-corner-tl"></div><div class="ta-resizer-handle-corner ta-resizer-handle-corner-tr"></div><div class="ta-resizer-handle-corner ta-resizer-handle-corner-bl"></div><div class="ta-resizer-handle-corner ta-resizer-handle-corner-br"></div><div class="ta-resizer-handle-info"></div></div><div id="taTextElement6749658432077827" contenteditable="true" ta-bind="ta-bind" ng-model="html" placeholder="Provide as much detail as possible related to your issue to help us understand it and provide the best solution quickly." ta-readonly="disabled" class="ng-pristine ng-valid ta-bind ng-touched placeholder-text"><p><br></p></div></div><textarea id="taHtmlElement6749658432077827" ng-show="showHtml" ta-bind="ta-bind" ng-model="html" placeholder="Provide as much detail as possible related to your issue to help us understand it and provide the best solution quickly." ta-readonly="disabled" class="ng-pristine ng-untouched ng-valid ng-scope ta-bind ta-html ta-editor form-control ng-hide"></textarea><input type="hidden" tabindex="-1" style="display: none;" name="richTextAreaWidget0" value=""></div>
                <div ng-messages="$form[ctrl.name].$dirty &amp;&amp; $form[ctrl.name].$error" ng-messages-include="forms-generic-errors.html" role="alert" class="ng-inactive"><!-- ngMessage: required --><!-- ngMessage: minlength --><!-- ngMessage: maxlength --><!-- ngMessage: min --><!-- ngMessage: max --><!-- ngMessage: email --><!-- ngMessage: url --><!-- ngMessage: date --></div>
                <div ng-messages="$form[ctrl.name].$dirty &amp;&amp; $form[ctrl.name].$error" role="alert" class="ng-inactive">
                    <!-- ngMessage: taMinText -->
                    <!-- ngMessage: taMaxText -->
                </div>
            </div><!-- end ngIf: !environment -->
            <!-- ngIf: environment -->
        </div>

I tried to create a XPath Object like this:

But it didn’t help on my test case below:

No issue when running the test case but nothing was set in my description text area !

Any idea to help me to fix my issue there ?

Thanks
Christophe

1 Like

Not sure if I get it completely, but you have a text area (rich text area) that does not accept your type. I also note that you have an <iframe>, so perhaps before you can type on the text area, you have to:

'Switch to iframe'
WebUI.switchToFrame(findTestObject('ifr_TextArea'), 10)

WebUI.setText(findTestObject('...'), 'This is a content of my request to help support...')

WebUI.verifyElementAttributeValue(findTestObject('...'), "value", 
    'This is a content of my request to help support...', 10)

While I am at it, may I suggest you also change the boolean in your “selectOptionByValue” from true to false for all of them. Using true means you want to use Regular Expression (RegEx) that does not do a direct comparison but a sort-of comparison that allows the use of wild-cards and expressions. You are “sort-of” comparing 0, 1 or 2. Change the boolean (the last parameter) to false so you directly compare 0 to 0, 1 to 1, etc. So, instead of:

WebUI.selectOptionByValue(findTestObject('select_Select a request type'), '0', true)

you should change to:

WebUI.selectOptionByValue(findTestObject('select_Select a request type'), '0', false)

Also, you have no waits in your scripts for when objects take longer than normal such as changing pages. So after:

WebUI.click(findTestObject('input_submit'))
WebUI.waitForPageLoad(10)

Edit: and instead of checking if an object exists by “click”, you can instead use:

WebUI.verifyElementVisible(findTestObject('span_Requests'))

or 

WebUI.verifyElementClickable(findTestObject('span_Requests'))

try js executor also

Change the object repository to exclude the iframe, and update the //div to:

//*[starts-with(@id, 'taTextElement')]

If this doesn’t work, please provide the outer HTML of the page by copying it from the inspect tool.

Let us know the updates.

I hope this works for you!

Hello Dineshh,

Could you please details what you mean by trying js executor also ?

Regards

Christophe

Thanks for your help.

Unfortunately it didn’t help.

Attached is the information you asked me. I hope it will help.
inspect.txt (86.2 KB)

Regards
Christophe

Thanks for your reply.

Unfortunately, it didn’t help with all your tips provided.

Regarding the waits action in my script, I already did it before but didn’t help.

I’ll share to Aldogondolegit all content of outer HTML page from inspect tool. Maybe it may help to you to understand this behavior…

Thanks again !

meant javascript executor

Dear All,

I made some progress and let me share new input that may help to fix my issue in my test case.

First, sorry to aldogondolegit, I provided wrong outer HTML of the page which is not having proper content. I don’t know why.

Here are more deeper outputs to share:

katalon_set.txt (9.8 KB)
human_set.txt (9.8 KB)
init.txt (9.7 KB)

init.txt file is outer HTML of the form I’m working on and for which I want to setup the rich text area.
human_set.txt file is outer HTML of the form once I wrote the content of the description into rich text area.
katalon_set.txt is outer HTML of the form once I ran the Katalon script to reproduce the human actions.

Current Katalon script is the following:

import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import org.openqa.selenium.By as By
import org.openqa.selenium.WebDriver as WebDriver
import org.openqa.selenium.WebElement as WebElement
import org.openqa.selenium.support.ui.ExpectedConditions as ExpectedConditions
import org.openqa.selenium.support.ui.WebDriverWait as WebDriverWait
import com.kms.katalon.core.webui.driver.DriverFactory as DriverFactory
import com.kms.katalon.core.webui.common.WebUiCommonHelper
import java.util.Arrays
import com.kms.katalon.core.testobject.TestObject 
import com.kms.katalon.core.testobject.ConditionType


// Login step
WebUI.callTestCase(findTestCase('001-Login/001-Login as Customer'), [:], FailureHandling.STOP_ON_FAILURE)

// Steps for navigating to the desired page
WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/span_Requests'))
WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/ng-bind-html_Questions  issues'))
WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/button_New question or issue'))

// Select options for the request
WebUI.selectOptionByValue(findTestObject('Object Repository/Page_Customer Service Center/select_Select a request type               _198c02'), '0', true)

WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/a_Next'))
WebUI.selectOptionByValue(findTestObject('Object Repository/Page_Customer Service Center/select_Slectionnez une option                ProductionNon ProductionStudio'), '0', true)

WebUI.selectOptionByValue(findTestObject('Object Repository/Page_Customer Service Center/select_Production testProduction 2Production 1'), '0', true)
WebUI.setText(findTestObject('Object Repository/Page_Customer Service Center/input_Subject_pbInput0'), 'test with QATEST tool')

// Step 1: Click and set the text in the `contenteditable` div
WebUI.click(findTestObject('Page_Customer Service Center/p'), FailureHandling.STOP_ON_FAILURE)
WebUI.setText(findTestObject('Page_Customer Service Center/p'), 'This is a content of my request to help support...')


// Continue with the rest of the test
WebUI.selectOptionByValue(findTestObject('Object Repository/Page_Customer Service Center/select_Select Business impact              _f762ac'), '2', true)

WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/button_Submit the request'))

FYI: Katalon object ‘Page_Customer Service Center/p’ is using XPath => //div[starts-with(@id, ‘taTextElement’)]

Result is given in the katalon_set.txt outer HTML file.

I tried to use the following code in my script to replace the Step1 by using JavaScript to set the content and value attributes dynamically.

// Set content in contenteditable div using JavaScript
WebDriver driver = DriverFactory.getWebDriver()
String jsSetText = "document.querySelector('div[contenteditable=\"true\"][id^=\"taTextElement\"]').innerHTML = 'This is a content of my request to help support...';"
WebUI.executeJavaScript(jsSetText, null)

// Set the hidden input field value as well to match human_set.txt
String jsSetInputValue = "document.querySelector('input[type=\"hidden\"][name=\"richTextAreaWidget0\"]').value = '<p>This is a content of my request to help support...</p>';"
WebUI.executeJavaScript(jsSetInputValue, null)

Explanation of Changes

  1. JavaScript to Set Contenteditable Div Text: Sets the inner HTML of the contenteditable div with ID starting with taTextElement to match the human-filled example.
  2. JavaScript to Set Hidden Input Field Value: Sets the value of the hidden input field (used for form submission) to the HTML text content <p>This is a content of my request to help support...</p> as in human_set.txt.

But getting errors :frowning:

I’m turning around the issue without progress… If any ideas, then please let me know.

Regards

Christophe

can you share the latest error

Hello Dineshh,

Attached is the console output:
console_log.txt (13.4 KB)

It has been generated with following script:

import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import org.openqa.selenium.By as By
import org.openqa.selenium.WebDriver as WebDriver
import org.openqa.selenium.WebElement as WebElement
import org.openqa.selenium.support.ui.ExpectedConditions as ExpectedConditions
import org.openqa.selenium.support.ui.WebDriverWait as WebDriverWait
import com.kms.katalon.core.webui.driver.DriverFactory as DriverFactory
import com.kms.katalon.core.webui.common.WebUiCommonHelper
import java.util.Arrays
import com.kms.katalon.core.testobject.TestObject 
import com.kms.katalon.core.testobject.ConditionType


// Login step
WebUI.callTestCase(findTestCase('001-Login/001-Login as Customer'), [:], FailureHandling.STOP_ON_FAILURE)

// Steps for navigating to the desired page
WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/span_Requests'))
WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/ng-bind-html_Questions  issues'))
WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/button_New question or issue'))

// Select options for the request
WebUI.selectOptionByValue(findTestObject('Object Repository/Page_Customer Service Center/select_Select a request type               _198c02'), '0', true)

WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/a_Next'))
WebUI.selectOptionByValue(findTestObject('Object Repository/Page_Customer Service Center/select_Slectionnez une option                ProductionNon ProductionStudio'), '0', true)

WebUI.selectOptionByValue(findTestObject('Object Repository/Page_Customer Service Center/select_Production testProduction 2Production 1'), '0', true)
WebUI.setText(findTestObject('Object Repository/Page_Customer Service Center/input_Subject_pbInput0'), 'test with QATEST tool')

// Step 1: Click and set the text in the `contenteditable` div
WebUI.click(findTestObject('Page_Customer Service Center/p'), FailureHandling.STOP_ON_FAILURE)
WebUI.setText(findTestObject('Page_Customer Service Center/p'), 'This is a content of my request to help support...')
//WebUI.setText(findTestObject('Page_Customer Service Center/p - textarea'), 'This is a content of my request to help support...')

// Set the hidden input field value as well to match human_set.txt
String jsSetInputValue = "document.querySelector('input[type=\"hidden\"][name=\"richTextAreaWidget0\"]').value = '<p>This is a content of my request to help support...</p>';"
WebUI.executeJavaScript(jsSetInputValue, null)


// Continue with the rest of the test
WebUI.selectOptionByValue(findTestObject('Object Repository/Page_Customer Service Center/select_Select Business impact              _f762ac'), '2', true)

WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/button_Submit the request'))

Thanks
Christophe

which version of katalon are you using?

I notice in your HTML that you have a textarea. Perhaps you can write to that and see if that works. The pathway that I would try is below:

xpath = //textarea[contains(@id,"taHtmlElement")]

Check if this is an unique pathway and if it is, then try it.

Hello dineshh
Sorry for late answer…

I’m running Studio Free v9.7.2 version.

Regards
Christophe

Hello All,
So, finally with all your suggestions, I was able to find my solution to make it working.

Below was the solution developped:

import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import org.openqa.selenium.By as By
import org.openqa.selenium.WebDriver as WebDriver
import org.openqa.selenium.WebElement as WebElement
import org.openqa.selenium.support.ui.ExpectedConditions as ExpectedConditions
import org.openqa.selenium.support.ui.WebDriverWait as WebDriverWait
import com.kms.katalon.core.webui.driver.DriverFactory as DriverFactory
import com.kms.katalon.core.webui.common.WebUiCommonHelper as WebUiCommonHelper
import java.util.Arrays as Arrays
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.testobject.ConditionType as ConditionType

// Login step
WebUI.callTestCase(findTestCase('001-Login/001-Login as Customer'), [:], FailureHandling.STOP_ON_FAILURE)

// Steps for navigating to the desired page
WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/span_Requests'))

WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/ng-bind-html_Questions  issues'))

WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/button_New question or issue'))

// Select options for the request
WebUI.selectOptionByValue(findTestObject('Object Repository/Page_Customer Service Center/select_Select a request type               _198c02'), 
    '0', true)

WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/a_Next'))

WebUI.selectOptionByValue(findTestObject('Object Repository/Page_Customer Service Center/select_Slectionnez une option                ProductionNon ProductionStudio'), 
    '0', true)

WebUI.selectOptionByValue(findTestObject('Object Repository/Page_Customer Service Center/select_Production testProduction 2Production 1'), 
    '0', true)

WebUI.setText(findTestObject('Object Repository/Page_Customer Service Center/input_Subject_pbInput0'), 'test with QATEST tool')

// Step 1: Click and set the text in the `contenteditable` div
WebUI.click(findTestObject('Page_Customer Service Center/p'), FailureHandling.STOP_ON_FAILURE)

WebUI.setText(findTestObject('Page_Customer Service Center/p'), 'This is a content of my request to help support...')

WebUI.click(findTestObject('Page_Customer Service Center/p'), FailureHandling.STOP_ON_FAILURE)

// Continue with the rest of the test
WebUI.selectOptionByValue(findTestObject('Object Repository/Page_Customer Service Center/select_Select Business impact              _f762ac'), 
    '2', true)

WebUI.click(findTestObject('Object Repository/Page_Customer Service Center/button_Submit the request'))

So, after click on text area and set a text on it, to make it setup on the form I was obliged to click on text area to make the written text well set in the form.
Solution in script was:

WebUI.click(findTestObject('Page_Customer Service Center/p'), FailureHandling.STOP_ON_FAILURE)

WebUI.setText(findTestObject('Page_Customer Service Center/p'), 'This is a content of my request to help support...')

WebUI.click(findTestObject('Page_Customer Service Center/p'), FailureHandling.STOP_ON_FAILURE)

Thanks for all participants to this post… That helps me to progress on my test case !

Have a fun with Katalon products.

Regards

Christophe

1 Like