Generating GlobalVariable dynamicallyDynamic/runtime method creation (code generation) in PythonDynamically added groovy property is not unique per-instancePickling dynamically generated classes?Strange behaviour of adding dynamic methods on Groovy's NodeChildDynamic class generation with attributesChanging Object.toString() dynamically in Groovy has no effect when calling Integer.toString()How to write Dynamic locator in Katalon Studio?Katalon dynamic xpath on script mode

How can I fix a framing mistake so I can drywall?

How can I discourage sharing internal API keys within a company?

How to help my 2.5-year-old daughter take her medicine when she refuses to?

Resume: How to quantify my contributions as a software engineer?

Do any aircraft carry boats?

How seriously should I take a CBP interview where I was told I have a red flag and could only stay for 30 days?

Why aren't tangent spaces simply defined as vector spaces with same dimension as the manifold?

Seized engine due to being run without oil

What exactly is a marshrutka (маршрутка)?

In Germany, how can I maximize the impact of my charitable donations?

What's the biggest organic molecule that could have a smell?

Does an oscilloscope subtract voltages as phasors?

Gas pipes - why does gas burn "outwards?"

Do they still use tiger roars in the 2019 "Lion King" movie?

Double it your way

What was the relationship between Einstein and Minkowski?

Why is Kirchoff's Second Law True?

Where to disclose a zero day vulnerability

Sol Ⅲ = Earth: What is the origin of this planetary naming scheme?

Why would "an mule" be used instead of "a mule"?

Telling my mother that I have anorexia without panicking her

Why should I always enable compiler warnings?

How to say "quirky" in German without sounding derogatory?

Which ping implementation is Cygwin using?



Generating GlobalVariable dynamically


Dynamic/runtime method creation (code generation) in PythonDynamically added groovy property is not unique per-instancePickling dynamically generated classes?Strange behaviour of adding dynamic methods on Groovy's NodeChildDynamic class generation with attributesChanging Object.toString() dynamically in Groovy has no effect when calling Integer.toString()How to write Dynamic locator in Katalon Studio?Katalon dynamic xpath on script mode






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I have tried to create a GlobalVariable dynamically following the post in https://docs.katalon.com/katalon-studio/docs/create-global-variables-on-the-fly.html.



Keyword definition is,



public class Helper {

@Keyword
void addGlobalVariable(String name, def value)
GroovyShell shell1 = new GroovyShell()
MetaClass mc = shell1.evaluate("internal.GlobalVariable").metaClass
String getterName = "get" + name.capitalize()
mc.'static'."$getterName" = -> return value
mc.'static'."$name" = value



The script code is,



CustomKeywords.'Helper.addGlobalVariable'('localURL', 'katalon.com')
println GlobalVariable.localURL



I am getting the following error



2019-03-21 14:56:24.433 [39mDEBUG[0;39m [36mify if an contract can be deleted -[0;39m [39m1: Helper.addGlobalVariable("localURL", "katalon.com")[0;39m
internal.GlobalVariable
2019-03-21 14:56:24.659 [34mINFO [0;39m [36mk.k.c.m.CustomKeywordDelegatingMetaClass -[0;39m [39mHelper.addGlobalVariable is PASSED[0;39m
2019-03-21 14:56:24.659 [39mDEBUG[0;39m [36mify if an author contract can be deleted -[0;39m [39m2: println(BaseURL)[0;39m
http://dev.dewdropsbff.zycus.net/api
2019-03-21 14:56:24.662 [39mDEBUG[0;39m [36mify if an contract can be deleted -[0;39m [39m3: println(localURL)[0;39m
2019-03-21 14:56:24.671 [1;31mERROR[0;39m [36mc.k.katalon.core.main.TestCaseExecutor -[0;39m [31m❌ println(localURL) FAILED.[0;39m
[31mReason:[0;39m
[31mgroovy.lang.MissingPropertyException: No such property: localURL for class: internal.GlobalVariable[0;39m
[31m at Verify if an author contract can be deleted.run(Verify if an author contract can be deleted:23)[0;39m
[31m at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)[0;39m
[31m at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)[0;39m
[31m at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:331)[0;39m
[31m at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:322)[0;39m
[31m at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:301)[0;39m
[31m at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:293)[0;39m
[31m at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:227)[0;39m
[31m at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)[0;39m
[31m at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)[0;39m
[31m at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)[0;39m
[31m at TempTestCase1553160381933.run(TempTestCase1553160381933.groovy:21)


Kindly let me know how to fix this. Thanks.










share|improve this question
































    1















    I have tried to create a GlobalVariable dynamically following the post in https://docs.katalon.com/katalon-studio/docs/create-global-variables-on-the-fly.html.



    Keyword definition is,



    public class Helper {

    @Keyword
    void addGlobalVariable(String name, def value)
    GroovyShell shell1 = new GroovyShell()
    MetaClass mc = shell1.evaluate("internal.GlobalVariable").metaClass
    String getterName = "get" + name.capitalize()
    mc.'static'."$getterName" = -> return value
    mc.'static'."$name" = value



    The script code is,



    CustomKeywords.'Helper.addGlobalVariable'('localURL', 'katalon.com')
    println GlobalVariable.localURL



    I am getting the following error



    2019-03-21 14:56:24.433 [39mDEBUG[0;39m [36mify if an contract can be deleted -[0;39m [39m1: Helper.addGlobalVariable("localURL", "katalon.com")[0;39m
    internal.GlobalVariable
    2019-03-21 14:56:24.659 [34mINFO [0;39m [36mk.k.c.m.CustomKeywordDelegatingMetaClass -[0;39m [39mHelper.addGlobalVariable is PASSED[0;39m
    2019-03-21 14:56:24.659 [39mDEBUG[0;39m [36mify if an author contract can be deleted -[0;39m [39m2: println(BaseURL)[0;39m
    http://dev.dewdropsbff.zycus.net/api
    2019-03-21 14:56:24.662 [39mDEBUG[0;39m [36mify if an contract can be deleted -[0;39m [39m3: println(localURL)[0;39m
    2019-03-21 14:56:24.671 [1;31mERROR[0;39m [36mc.k.katalon.core.main.TestCaseExecutor -[0;39m [31m❌ println(localURL) FAILED.[0;39m
    [31mReason:[0;39m
    [31mgroovy.lang.MissingPropertyException: No such property: localURL for class: internal.GlobalVariable[0;39m
    [31m at Verify if an author contract can be deleted.run(Verify if an author contract can be deleted:23)[0;39m
    [31m at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)[0;39m
    [31m at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)[0;39m
    [31m at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:331)[0;39m
    [31m at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:322)[0;39m
    [31m at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:301)[0;39m
    [31m at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:293)[0;39m
    [31m at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:227)[0;39m
    [31m at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)[0;39m
    [31m at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)[0;39m
    [31m at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)[0;39m
    [31m at TempTestCase1553160381933.run(TempTestCase1553160381933.groovy:21)


    Kindly let me know how to fix this. Thanks.










    share|improve this question




























      1












      1








      1








      I have tried to create a GlobalVariable dynamically following the post in https://docs.katalon.com/katalon-studio/docs/create-global-variables-on-the-fly.html.



      Keyword definition is,



      public class Helper {

      @Keyword
      void addGlobalVariable(String name, def value)
      GroovyShell shell1 = new GroovyShell()
      MetaClass mc = shell1.evaluate("internal.GlobalVariable").metaClass
      String getterName = "get" + name.capitalize()
      mc.'static'."$getterName" = -> return value
      mc.'static'."$name" = value



      The script code is,



      CustomKeywords.'Helper.addGlobalVariable'('localURL', 'katalon.com')
      println GlobalVariable.localURL



      I am getting the following error



      2019-03-21 14:56:24.433 [39mDEBUG[0;39m [36mify if an contract can be deleted -[0;39m [39m1: Helper.addGlobalVariable("localURL", "katalon.com")[0;39m
      internal.GlobalVariable
      2019-03-21 14:56:24.659 [34mINFO [0;39m [36mk.k.c.m.CustomKeywordDelegatingMetaClass -[0;39m [39mHelper.addGlobalVariable is PASSED[0;39m
      2019-03-21 14:56:24.659 [39mDEBUG[0;39m [36mify if an author contract can be deleted -[0;39m [39m2: println(BaseURL)[0;39m
      http://dev.dewdropsbff.zycus.net/api
      2019-03-21 14:56:24.662 [39mDEBUG[0;39m [36mify if an contract can be deleted -[0;39m [39m3: println(localURL)[0;39m
      2019-03-21 14:56:24.671 [1;31mERROR[0;39m [36mc.k.katalon.core.main.TestCaseExecutor -[0;39m [31m❌ println(localURL) FAILED.[0;39m
      [31mReason:[0;39m
      [31mgroovy.lang.MissingPropertyException: No such property: localURL for class: internal.GlobalVariable[0;39m
      [31m at Verify if an author contract can be deleted.run(Verify if an author contract can be deleted:23)[0;39m
      [31m at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)[0;39m
      [31m at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:331)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:322)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:301)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:293)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:227)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)[0;39m
      [31m at TempTestCase1553160381933.run(TempTestCase1553160381933.groovy:21)


      Kindly let me know how to fix this. Thanks.










      share|improve this question
















      I have tried to create a GlobalVariable dynamically following the post in https://docs.katalon.com/katalon-studio/docs/create-global-variables-on-the-fly.html.



      Keyword definition is,



      public class Helper {

      @Keyword
      void addGlobalVariable(String name, def value)
      GroovyShell shell1 = new GroovyShell()
      MetaClass mc = shell1.evaluate("internal.GlobalVariable").metaClass
      String getterName = "get" + name.capitalize()
      mc.'static'."$getterName" = -> return value
      mc.'static'."$name" = value



      The script code is,



      CustomKeywords.'Helper.addGlobalVariable'('localURL', 'katalon.com')
      println GlobalVariable.localURL



      I am getting the following error



      2019-03-21 14:56:24.433 [39mDEBUG[0;39m [36mify if an contract can be deleted -[0;39m [39m1: Helper.addGlobalVariable("localURL", "katalon.com")[0;39m
      internal.GlobalVariable
      2019-03-21 14:56:24.659 [34mINFO [0;39m [36mk.k.c.m.CustomKeywordDelegatingMetaClass -[0;39m [39mHelper.addGlobalVariable is PASSED[0;39m
      2019-03-21 14:56:24.659 [39mDEBUG[0;39m [36mify if an author contract can be deleted -[0;39m [39m2: println(BaseURL)[0;39m
      http://dev.dewdropsbff.zycus.net/api
      2019-03-21 14:56:24.662 [39mDEBUG[0;39m [36mify if an contract can be deleted -[0;39m [39m3: println(localURL)[0;39m
      2019-03-21 14:56:24.671 [1;31mERROR[0;39m [36mc.k.katalon.core.main.TestCaseExecutor -[0;39m [31m❌ println(localURL) FAILED.[0;39m
      [31mReason:[0;39m
      [31mgroovy.lang.MissingPropertyException: No such property: localURL for class: internal.GlobalVariable[0;39m
      [31m at Verify if an author contract can be deleted.run(Verify if an author contract can be deleted:23)[0;39m
      [31m at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)[0;39m
      [31m at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:331)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:322)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:301)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:293)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:227)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)[0;39m
      [31m at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)[0;39m
      [31m at TempTestCase1553160381933.run(TempTestCase1553160381933.groovy:21)


      Kindly let me know how to fix this. Thanks.







      groovy global-variables metaprogramming katalon-studio






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 28 at 9:25









      Mate Mrše

      2,9963 gold badges12 silver badges33 bronze badges




      2,9963 gold badges12 silver badges33 bronze badges










      asked Mar 21 at 9:58









      RajamanthiramRajamanthiram

      61 bronze badge




      61 bronze badge

























          0






          active

          oldest

          votes










          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );














          draft saved

          draft discarded
















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55277804%2fgenerating-globalvariable-dynamically%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes




          Is this question similar to what you get asked at work? Learn more about asking and sharing private information with your coworkers using Stack Overflow for Teams.







          Is this question similar to what you get asked at work? Learn more about asking and sharing private information with your coworkers using Stack Overflow for Teams.




















          draft saved

          draft discarded















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55277804%2fgenerating-globalvariable-dynamically%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown