Access to [Internal/Defined] Variables

I have several issues with variable usage in Kantu.

  1. Why can’t I access all the listed variables (both most common and advanced) in my macros? Some are greyed out, such as !BROWSER and !LASTCOMMANDOK, but still contain values related to the macro. Why are they greyed out and how do I make them active and available to my macros?
  2. Variables I create based on Kantu documentation are not working. Specifically, I did this test:
  • store | $(!RUNTIME) | StartTime
  • pause | 3000
  • store | $(!RUNTIME) | EndTime
  • storEval | {!EndTime}-{!StartTime) | TTime

and here is what happened:

  • [info] Executing: | store | $(!RUNTIME) | StartTime |
  • [info] Executing: | pause | 3000 | |
  • [info] Executing: | store | $(!RUNTIME) | EndTime |
  • [info] Executing: | storeEval | {!EndTime}-{!StartTime} | TTime |
  • [error] Internal variable “!ENDTIME” not supported
  • [info] Macro failed (Runtime 3.01s)

However, the VARIABLES area of my macro show these as visible/active (not greyed out):
ENDTIME “(!RUNTIME)" STARTTIME "(!RUNTIME)”

and the variable TTime is no where to be found. I can change TTime to TimeforThisStep like on the Kantu performance monitoring page and get the same result. Why aren’t they supported? Where are the variables I defined (TTime or TimeforThisStep)?

Hi

There are syntax error in your macro I help you

store | !RUNTIME | StartTime
pause | 3000
store | !RUNTIME | EndTime
storEval | {!EndTime}-{!StartTime) | TTime

Edit like this i think you solve

Sorry, I forgot the $ at the start of the storEval { and the last paren “)” should have been a bracket “}”. I don’t think syntax is the error or it would say so. I basically copied the code from the Kantu website UI Automation Open-Source Selenium IDE plus additional features, iMacros alternative but messed up copying it here…

Another error is this

storEval | {!EndTime}-{!StartTime) | TTime

! for internal variable only, your are create a custom variable

Edit in this way

storEval | {EndTime}-{StartTime) | TTime

thanks for telling me the diff between internal and custom variables but it still didnt work.
This time I figured out how to copy it directly from my kantu macro:

  • Command Target Value
  • store !ErrorIgnore True
  • store $(!RUNTIME) StartTime
  • pause 1508
  • store $(!RUNTIME) EndTime
  • storeEval {EndTime}-{StartTime} TimeforThisStep
  • pause TimeforThisStep

here is the execution log:

  • [status] Playing macro Runtimes
  • [info] Executing: | store | !ErrorIgnore | True |
  • [info] Executing: | store | $(!RUNTIME) | StartTime |
  • [info] Executing: | pause | 1508 | |
  • [info] Executing: | store | $(!RUNTIME) | EndTime |
  • [info] Executing: | storeEval | {EndTime}-{StartTime} | TimeforThisStep |
  • [error] Error in runEval code: EndTime is not defined
  • [info] Macro failed (Runtime 3.13s)

isn’t EndTime defined by the previous store statement?

${variable}
${!internal_variable}
{some_weird_text_in_brackets}

Does this help?