8 Replies Latest reply on Feb 14, 2020 12:04 PM by Ionut Gradinaru

    Error in Scout 1.3 when attempting to run from command line

    Patrick Philipp

      I am trying to script a Scout 1.3 run.  It works in GUI mode just fine.  When I run it from the command line, I get errors.  Please help me to understand what I am doing wrong!  It appears that Scout is actively changing my input parameters into something bad.  I will highlight log lines below and put in red comments.

      Thanks!

      Patrick

       

      D:\Tableau\Scout 1.3\Scout1.3>java  -Djna.nosys=true -Djava.library.path=.;.\dependencies -cp bin\*;libs\* com.tableausoftware.test.tools.scout.ScoutRunner --platform Server --host "https://tableau-d.generalmills.com" --outputDir "D:\ScoutOutput1\" --iterations 1 --saveScreenshots true --flow PageLoad --mode view --urlsFile "D:\TestURL.txt" all good so far

      Test log file deleted successfully!

      [2020-02-04 12:29:48,598] [com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner] 64 JVM detected

      [2020-02-04 12:29:48,598] [com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner] **********START********

      [2020-02-04 12:29:48,598] [com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner] Passed in arguments: --platform Server --host https://tableau-d.generalmills.com --outputDir D:\ScoutOutput1" --iterations 1 --saveScreenshots true --flow PageLoad --mode view --urlsFile D:\TestURL.txt  still good

      [2020-02-04 12:29:48,614] [com.tableausoftware.test.server.utils.FilePathHelper.getConfigFolder] Checking bin

      [2020-02-04 12:29:48,614] [com.tableausoftware.test.server.utils.FilePathHelper.getConfigFolder] Checking Scout1.3

      [2020-02-04 12:29:48,692] [com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populateInternalBuildSettings] External version of Scout detected

      [2020-02-04 12:29:48,739] [com.tableausoftware.test.tools.scout.ScoutRunnerArgsValidation.validateArguments] Argument "notes" is not specified. Setting notes to username and date.

      [2020-02-04 12:29:48,739] [com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populateNotesSettings] Setting notes to G1356PP

      [2020-02-04 12:29:48,739] [com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populateRandomSeedSettings] Random seed found in config file, using: 1234

      [2020-02-04 12:29:48,739] [com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populateChromeDriverSettings] Setting the Selenium Chrome driver location to dependencies/chromedriver.exe

      [2020-02-04 12:29:48,739] [com.tableausoftware.test.server.utils.FilePathHelper.getConfigFolder] Checking bin

      [2020-02-04 12:29:48,739] [com.tableausoftware.test.server.utils.FilePathHelper.getConfigFolder] Checking Scout1.3

      [2020-02-04 12:29:48,754] [com.tableausoftware.test.server.configuration.AbstractConfig.setHostUri] Caught configuration exception when attempting to set hostUrigiven host URI is not valid, given host URI = <useServerTestConfigYamlSetting>  seems fishy.  I passed in a host.

      [2020-02-04 12:29:48,754] [com.tableausoftware.test.server.configuration.AbstractConfig.setHostUri] This exception may be expected. Now attempting to use ServerTestConfig's hostUri instead

      [2020-02-04 12:29:48,754] [com.tableausoftware.test.server.utils.FilePathHelper.getConfigFolder] Checking bin

      [2020-02-04 12:29:48,754] [com.tableausoftware.test.server.utils.FilePathHelper.getConfigFolder] Checking Scout1.3

      DEBUG [2020-02-04 12:29:48,754][main] (AbstractConfig.java:362)   - Looking for config file: log4j.properties

      DEBUG [2020-02-04 12:29:48,754][main] (AbstractConfig.java:379)   - Looking for specific folder named [config] in tree of [D:\Tableau\Scout 1.3\Scout1.3\bin]

      INFO  [2020-02-04 12:29:48,770][main] (FilePathHelper.java:148)   - Checking bin

      INFO  [2020-02-04 12:29:48,770][main] (FilePathHelper.java:148)   - Checking Scout1.3

      DEBUG [2020-02-04 12:29:48,770][main] (AbstractConfig.java:412)   - Found config file 'log4j.properties' for class class com.tableausoftware.test.server.configuration.ServerTestConfig at '/D:/Tableau/Scout%201.3/Scout1.3/config/log4j.properties'

      DEBUG [2020-02-04 12:29:48,770][main] (ServerTestConfig.java:121)   - Loading ServerTestConfig from: ServerTestConfig.yaml

      DEBUG [2020-02-04 12:29:48,770][main] (AbstractConfig.java:129)   - Read system property java.test.config.override=null

      DEBUG [2020-02-04 12:29:48,770][main] (AbstractConfig.java:133)   - Using test config Override 'null'

      DEBUG [2020-02-04 12:29:48,770][main] (AbstractConfig.java:116)   - No override is set, using default

      DEBUG [2020-02-04 12:29:48,770][main] (AbstractConfig.java:362)   - Looking for config file: ServerTestConfig.yaml

      DEBUG [2020-02-04 12:29:48,770][main] (AbstractConfig.java:379)   - Looking for specific folder named [config] in tree of [D:\Tableau\Scout 1.3\Scout1.3\bin]

      INFO  [2020-02-04 12:29:48,770][main] (FilePathHelper.java:148)   - Checking bin

      INFO  [2020-02-04 12:29:48,770][main] (FilePathHelper.java:148)   - Checking Scout1.3

      DEBUG [2020-02-04 12:29:48,770][main] (AbstractConfig.java:412)   - Found config file 'ServerTestConfig.yaml' for class class com.tableausoftware.test.server.configuration.ServerTestConfig at '/D:/Tableau/Scout%201.3/Scout1.3/config/ServerTestConfig.yaml'

      DEBUG [2020-02-04 12:29:48,770][main] (AbstractConfig.java:203)   - Loading config [class com.tableausoftware.test.server.configuration.ServerTestConfig] from [ServerTestConfig.yaml]

      DEBUG [2020-02-04 12:29:48,770][main] (AbstractConfig.java:207)   - Found config [default]

      DEBUG [2020-02-04 12:29:48,785][main] (AbstractConfig.java:218)   - Completed reading the [default] config

      WARN  [2020-02-04 12:29:48,785][main] (VizportalUILibConfig.java:137)   - If you see this message ignore the configuration exception above. ServerTestConfig's hostUri is used instead of VizportalUILibConfig's

      DEBUG [2020-02-04 12:29:48,785][main] (VizportalUILibConfig.java:140)   - host URI set to http://localhost

      DEBUG [2020-02-04 12:29:48,785][main] (AbstractConfig.java:218)   - Completed reading the [default] config

      DEBUG [2020-02-04 12:29:48,801][main] (FilePathHelper.java:51)   - Exec path: D:/Tableau/Scout%201.3/Scout1.3/bin

      INFO  [2020-02-04 12:29:48,801][main] (FilePathHelper.java:52)   - Looking for 'dependencies/chromedriver.exe' starting in 'D:/Tableau/Scout%201.3/Scout1.3/bin'

      DEBUG [2020-02-04 12:29:48,801][main] (FilePathHelper.java:57)   - Current path: D:\Tableau\Scout%201.3\Scout1.3\dependencies\chromedriver.exe

      DEBUG [2020-02-04 12:29:48,801][main] (FilePathHelper.java:57) - Current path: D:\Tableau\Scout%201.3\dependencies\chromedriver.exe

      DEBUG [2020-02-04 12:29:48,801][main] (FilePathHelper.java:57)   - Current path: D:\Tableau\dependencies\chromedriver.exe

      DEBUG [2020-02-04 12:29:48,801][main] (FilePathHelper.java:57) - Current path: D:\dependencies\chromedriver.exe

      INFO  [2020-02-04 12:29:48,801][main] (FilePathHelper.java:37)   - Found path: D:\Tableau\Scout 1.3\Scout1.3\dependencies\chromedriver.exe

      DEBUG [2020-02-04 12:29:48,801][main] (AbstractConfig.java:129) - Read system property java.test.config.override=null

      DEBUG [2020-02-04 12:29:48,801][main] (AbstractConfig.java:133)   - Using test config Override 'null'

      DEBUG [2020-02-04 12:29:48,801][main] (AbstractConfig.java:116)   - No override is set, using default

      DEBUG [2020-02-04 12:29:48,801][main] (AbstractConfig.java:362)   - Looking for config file: BrowserConfig.yaml

      DEBUG [2020-02-04 12:29:48,801][main] (AbstractConfig.java:379)   - Looking for specific folder named [config] in tree of [D:\Tableau\Scout 1.3\Scout1.3\bin]

      INFO  [2020-02-04 12:29:48,801][main] (FilePathHelper.java:148)   - Checking bin

      INFO  [2020-02-04 12:29:48,801][main] (FilePathHelper.java:148)   - Checking Scout1.3

      DEBUG [2020-02-04 12:29:48,801][main] (AbstractConfig.java:412)   - Found config file 'BrowserConfig.yaml' for class class com.tableausoftware.test.shared.webuilib.config.BrowserConfig at '/D:/Tableau/Scout%201.3/Scout1.3/config/BrowserConfig.yaml'

      DEBUG [2020-02-04 12:29:48,801][main] (AbstractConfig.java:203)   - Loading config [class com.tableausoftware.test.shared.webuilib.config.BrowserConfig] from [BrowserConfig.yaml]

      DEBUG [2020-02-04 12:29:48,801][main] (AbstractConfig.java:207)   - Found config [default]

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:51) - Exec path: D:/Tableau/Scout%201.3/Scout1.3/bin

      INFO  [2020-02-04 12:29:48,817][main] (FilePathHelper.java:52)   - Looking for 'data/server/seleniumDrivers/MicrosoftWebDriver_v14.exe' starting in 'D:/Tableau/Scout%201.3/Scout1.3/bin'

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:57)   - Current path: D:\Tableau\Scout%201.3\Scout1.3\data\server\seleniumDrivers\MicrosoftWebDriver_v14.exe

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:57)   - Current path: D:\Tableau\Scout%201.3\data\server\seleniumDrivers\MicrosoftWebDriver_v14.exe

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:57)   - Current path: D:\Tableau\data\server\seleniumDrivers\MicrosoftWebDriver_v14.exe

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:57) - Current path: D:\data\server\seleniumDrivers\MicrosoftWebDriver_v14.exe

      WARN  [2020-02-04 12:29:48,817][main] (FilePathHelper.java:99)   - Could not find find path data/server/seleniumDrivers/MicrosoftWebDriver_v14.exe

      WARN  [2020-02-04 12:29:48,817][main] (BrowserConfig.java:511)   - Path [data/server/seleniumDrivers/MicrosoftWebDriver_v14.exe] does not exist. Returning an empty string

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:51)   - Exec path: D:/Tableau/Scout%201.3/Scout1.3/bin

      INFO  [2020-02-04 12:29:48,817][main] (FilePathHelper.java:52)   - Looking for 'data/server/seleniumDrivers/geckodriver.exe' starting in 'D:/Tableau/Scout%201.3/Scout1.3/bin'

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:57) - Current path: D:\Tableau\Scout%201.3\Scout1.3\data\server\seleniumDrivers\geckodriver.exe

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:57)   - Current path: D:\Tableau\Scout%201.3\data\server\seleniumDrivers\geckodriver.exe

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:57)   - Current path: D:\Tableau\data\server\seleniumDrivers\geckodriver.exe

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:57)   - Current path: D:\data\server\seleniumDrivers\geckodriver.exe

      WARN  [2020-02-04 12:29:48,817][main] (FilePathHelper.java:99)   - Could not find find path data/server/seleniumDrivers/geckodriver.exe

      WARN  [2020-02-04 12:29:48,817][main] (BrowserConfig.java:511)   - Path [data/server/seleniumDrivers/geckodriver.exe] does not exist. Returning an empty string

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:51)   - Exec path: D:/Tableau/Scout%201.3/Scout1.3/bin

      INFO  [2020-02-04 12:29:48,817][main] (FilePathHelper.java:52)   - Looking for 'data/server/seleniumDrivers/qt_chromedriver.exe' starting in 'D:/Tableau/Scout%201.3/Scout1.3/bin'

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:57)   - Current path: D:\Tableau\Scout%201.3\Scout1.3\data\server\seleniumDrivers\qt_chromedriver.exe

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:57)   - Current path: D:\Tableau\Scout%201.3\data\server\seleniumDrivers\qt_chromedriver.exe

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:57)   - Current path: D:\Tableau\data\server\seleniumDrivers\qt_chromedriver.exe

      DEBUG [2020-02-04 12:29:48,817][main] (FilePathHelper.java:57)   - Current path: D:\data\server\seleniumDrivers\qt_chromedriver.exe

      WARN  [2020-02-04 12:29:48,817][main] (FilePathHelper.java:99)   - Could not find find path data/server/seleniumDrivers/qt_chromedriver.exe

      WARN  [2020-02-04 12:29:48,817][main] (BrowserConfig.java:511)   - Path [data/server/seleniumDrivers/qt_chromedriver.exe] does not exist. Returning an empty string

      DEBUG [2020-02-04 12:29:48,832][main] (AbstractConfig.java:218)   - Completed reading the [default] config

      DEBUG [2020-02-04 12:29:48,879][main] (FilePathHelper.java:51)   - Exec path: D:/Tableau/Scout%201.3/Scout1.3/bin

      INFO  [2020-02-04 12:29:48,879][main] (FilePathHelper.java:52)   - Looking for 'dependencies/chromedriver.exe' starting in 'D:/Tableau/Scout%201.3/Scout1.3/bin'

      DEBUG [2020-02-04 12:29:48,879][main] (FilePathHelper.java:57)   - Current path: D:\Tableau\Scout%201.3\Scout1.3\dependencies\chromedriver.exe

      DEBUG [2020-02-04 12:29:48,879][main] (FilePathHelper.java:57) - Current path: D:\Tableau\Scout%201.3\dependencies\chromedriver.exe

      DEBUG [2020-02-04 12:29:48,879][main] (FilePathHelper.java:57)   - Current path: D:\Tableau\dependencies\chromedriver.exe

      DEBUG [2020-02-04 12:29:48,879][main] (FilePathHelper.java:57) - Current path: D:\dependencies\chromedriver.exe

      INFO  [2020-02-04 12:29:48,879][main] (FilePathHelper.java:37)   - Found path: D:\Tableau\Scout 1.3\Scout1.3\dependencies\chromedriver.exe

      INFO  [2020-02-04 12:29:48,895][main] (ExecutionSettingsPopulator.java:329)   - Max number of times the same interaction should be executed per worksheet: 3

      INFO  [2020-02-04 12:29:48,895][main] (ExecutionSettingsPopulator.java:374)   - Run verbosity set to 100

      INFO  [2020-02-04 12:29:48,895][main] (ExecutionSettingsPopulator.java:453)   - Output directory set to: D:\ScoutOutput1" --iterations 1 --saveScreenshots true --flow PageLoad --mode view --urlsFile D:\TestURL.txt  still ok

      INFO  [2020-02-04 12:29:48,895][main] (ScoutRunner.java:307)   - Trying to get build number from auth.xml

      INFO  [2020-02-04 12:29:48,895][main] (PerfServerInfo.java:39)   - Getting server info from auth url: https://tableau-d.generalmills.com/auth?format=xml

      SLF4J: Class path contains multiple SLF4J bindings.

      SLF4J: Found binding in [jar:file:/D:/Tableau/Scout%201.3/Scout1.3/libs/logback-classic-1.1.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]

      SLF4J: Found binding in [jar:file:/D:/Tableau/Scout%201.3/Scout1.3/libs/slf4j-log4j12-1.7.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]

      SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

      SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

      INFO  [2020-02-04 12:29:49,489][main] (PerfServerInfo.java:52)   - Build: 20192.19.1017.1638

      INFO  [2020-02-04 12:29:49,489][main] (PerfServerInfo.java:61)   - Branch: tableau-2019-2

      INFO  [2020-02-04 12:29:49,489][main] (ScoutExecutionSettings.java:1266)   - TestSuite: LocalRun

      INFO  [2020-02-04 12:29:49,489][main] (ScoutExecutionSettings.java:1267)   - Branch: tableau-2019-2

      INFO  [2020-02-04 12:29:49,489][main] (ScoutExecutionSettings.java:1268)   - Build: 20192.19.1017.1638

      INFO  [2020-02-04 12:29:49,489][main] (ScoutExecutionSettings.java:1269)   - TestPassId: TABLEAU-D.20200204.122949

      INFO  [2020-02-04 12:29:49,489][main] (ScoutExecutionSettings.java:1270)   - Platform: SERVER

      INFO  [2020-02-04 12:29:49,489][main] (ScoutExecutionSettings.java:1271)   - LogPath: D:\ScoutOutput1" --iterations 1 --saveScreenshots true --flow PageLoad --mode view --urlsFile D:\TestURL.txt\LocalRun\tableau-2019-2\20192.19.1017.1638\SERVER\TABLEAU-D.20200204.122949 now things are off the rails.  Why is the urls file corrupted?

      INFO  [2020-02-04 12:29:49,489][main] (ProcessExecution.java:35)   - Executing setx SCOUT_LOG_PATH "D:\ScoutOutput1" --iterations 1 --saveScreenshots true --flow PageLoad --mode view --urlsFile D:\TestURL.txt\LocalRun\tableau-2019-2\20192.19.1017.1638\SERVER\TABLEAU-D.20200204.122949"

      INFO  [2020-02-04 12:29:49,520][main] (ProcessExecution.java:38)   - Execution finished with exit code=1

      WARN  [2020-02-04 12:29:49,520][main] (ProcessExecution.java:47)   - ERROR: Invalid syntax. Default option is not allowed more than '2' time(s).

      WARN  [2020-02-04 12:29:49,520][main] (ProcessExecution.java:47)   - Type "SETX /?" for usage.

      WARN  [2020-02-04 12:29:49,520][main] (ScoutRunner.java:1334)   - Errors occured while writing the ScoutLogPath to the registry. The entry will miss or will be invalid

      ERROR [2020-02-04 12:29:49,536][main] (ScoutResultsProcessor.java:134)   - IO Exception occurred while creating results file

      ERROR [2020-02-04 12:29:49,536][main] (ScoutRunner.java:151) - IO Exception occurred while creating results file

      ERROR [2020-02-04 12:29:49,536][main] (ScoutRunner.java:448)   - Unhandled exception bubbled up to the main server execution. Failing Scout run

      1. java.lang.IllegalStateException: IO Exception occurred while creating results file

              at com.tableausoftware.test.tools.scout.results.ScoutResultsProcessor.<init>(ScoutResultsProcessor.java:135)

              at com.tableausoftware.test.tools.scout.ScoutRunner.runServerTests(ScoutRunner.java:331)

              at com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner(ScoutRunner.java:238)

              at com.tableausoftware.test.tools.scout.ScoutRunner.main(ScoutRunner.java:175)

      Caused by: java.io.IOException: The filename, directory name, or volume label syntax is incorrect

              at java.io.WinNTFileSystem.createFileExclusively(Native Method)

              at java.io.File.createNewFile(Unknown Source)

              at com.tableausoftware.test.tools.scout.results.ScoutResultsProcessor.<init>(ScoutResultsProcessor.java:129)

              ... 3 more

      ERROR [2020-02-04 12:29:49,551][main] (ScoutRunner.java:264)   - Unhandled exception bubbled up to main. Failing Scout run

      1. java.lang.NullPointerException

              at com.tableausoftware.test.tools.scout.ScoutRunner.createTestRunData(ScoutRunner.java:1019)

              at com.tableausoftware.test.tools.scout.ScoutRunner.processAndUploadTestResults(ScoutRunner.java:668)

              at com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner(ScoutRunner.java:241)

              at com.tableausoftware.test.tools.scout.ScoutRunner.main(ScoutRunner.java:175)

      INFO  [2020-02-04 12:29:49,551][main] (ScoutRunner.java:145)   - Total interactions executed: 0

      Failed interactions: 0

      Percentage failed: 0.0

      Threshold for failing Scout run: 20

      ERROR [2020-02-04 12:29:49,551][main] (ScoutRunner.java:151)   - Scout run failed with error code = 1

      ERROR [2020-02-04 12:29:49,551][main] (LogCopier.java:66)   - Exception occured while copying scout logsjava.io.IOException: The filename, directory name, or volume label syntax is incorrect

      ERROR [2020-02-04 12:29:49,551][main] (LogCopier.java:77)   - Exception occured while copying test logs

      1. java.io.IOException: The filename, directory name, or volume label syntax is incorrect

              at java.io.WinNTFileSystem.canonicalize0(Native Method)

              at java.io.WinNTFileSystem.canonicalize(Unknown Source)

              at java.io.File.getCanonicalPath(Unknown Source)

              at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1064)

              at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1028)

              at com.tableausoftware.test.tools.scout.utils.LogCopier.copyLogs(LogCopier.java:71)

              at com.tableausoftware.test.tools.scout.ScoutRunner.main(ScoutRunner.java:179)

        • 1. Re: Error in Scout 1.3 when attempting to run from command line
          Michael Kozar

          Patrick,

           

          I think you are correct and this line seems to be where the issue is occurring:

           

          [2020-02-04 12:29:48,754] [com.tableausoftware.test.server.configuration.AbstractConfig.setHostUri] Caught configuration exception when attempting to set hostUrigiven host URI is not valid, given host URI = <useServerTestConfigYamlSetting>  seems fishy.  I passed in a host.

           

          The URI you submitted is:

           

          --host "https://tableau-d.generalmills.com"

           

          Based on some googling, it looks like the "host URI is not valid" error is usually related to exotic characters or omitting syntax, but your URL seems standard.  The only thing that seems suspicious to me is the "-d" on your system name;  Could this be being detected as a command-line flag despite the quotation marks?  Does the same syntax work against a name without a dash?

           

          If that doesn't help, I do see one other workaround.  It looks like it is pulling the default hostname from a yml file.  Maybe you could manually insert the correct target?

          • 2. Re: Error in Scout 1.3 when attempting to run from command line
            Patrick Philipp

            Michael,

            Removing the "-d" results in the same error of Host URI not valid.  Adding the URL to the ServerTestConfig.yaml file's "hostURI" parameter ran into similar error messages.

            Thanks for the suggestion.  Is there anything else you can think of for me to try?

            Thanks,
            Patrick

            • 3. Re: Error in Scout 1.3 when attempting to run from command line
              Ionut Gradinaru

              I'm trying to repro this issue and see what could be going on.

              I'll update you once I find the root cause.

               

              Thanks,

              Ionut

              • 4. Re: Error in Scout 1.3 when attempting to run from command line
                Ionut Gradinaru

                Hi Patrick Philipp, I was trying to debug this issue and I realized that the OutputDir is what's causing your issues here. The outputDir end in "\. This causes Scout to consider it as an escaped qoute and include it as part of the value, thus missing all the remaining arguments after this one.

                 

                ex:

                D:\Tableau\Scout 1.3\Scout1.3>java  -Djna.nosys=true -Djava.library.path=.;.\dependencies -cp bin\*;libs\* com.tableausoftware.test.tools.scout.ScoutRunner --platform Server --host "https://tableau-d.generalmills.com" --outputDir "D:\ScoutOutput1\" --iterations 1 --saveScreenshots true --flow PageLoad --mode view --urlsFile "D:\TestURL.txt"

                 

                Scout reads the parameters and shows them (notice how one of the qoutes is removed and one is not):

                [2020-02-04 12:29:48,598] [com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner] **********START********

                [2020-02-04 12:29:48,598] [com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner] Passed in arguments: --platform Server --host https://tableau-d.generalmills.com --outputDir D:\ScoutOutput1" --iterations 1 --saveScreenshots true --flow PageLoad --mode view --urlsFile D:\TestURL.txt  still good

                 

                Scout shows the outputDir (this is wrong, all the parameters after outputDir are now set to the path):

                INFO  [2020-02-04 12:29:48,895][main] (ExecutionSettingsPopulator.java:453)   - Output directory set to: D:\ScoutOutput1" --iterations 1 --saveScreenshots true --flow PageLoad --mode view --urlsFile D:\TestURL.txt

                 

                Scout creates the output path, which is now :

                INFO  [2020-02-04 12:29:49,489][main] (ScoutExecutionSettings.java:1271)   - LogPath: D:\ScoutOutput1" --iterations 1 --saveScreenshots true --flow PageLoad --mode view --urlsFile D:\TestURL.txt\LocalRun\tableau-2019-2\20192.19.1017.1638\SERVER\TABLEAU-D.20200204.122949

                 

                Scout finally tries to use this path and fails.

                 

                Could you please change the outputDir argument to: --outputDir "D:\ScoutOutput1" and run again?

                 

                Please let me know if this fixes the issue for you. In the meantime, I'll look to see if there's a way to catch this type of problems (we use a standard Java library for parsing arguments), or we can fail earlier and with a clearer error.

                 

                Thanks,

                Ionut

                1 of 1 people found this helpful
                • 5. Re: Error in Scout 1.3 when attempting to run from command line
                  Patrick Philipp

                  Ionut,

                  Thank you for the suggestion.  I get new errors after making this change.  Again, I tested, using RunScout.bat works.  Please see below for the output.

                  Thanks,
                  Patrick

                   

                  D:\Tableau\Scout 1.3\Scout1.3>java  -Djna.nosys=true -Djava.library.path=.;.\dependencies -cp bin\*;libs\* com.tableausoftware.test.tools.scout.ScoutRunner --platform Server --host "https://tableau.generalmills.com" --outputDir "D:\ScoutOutput1" --iterations 1 --saveScreenshots true --flow PageLoad --mode view --urlsFile "D:\TestURL.txt" > Output2.txt

                  Exception in thread "main" java.lang.NullPointerException

                          at com.tableausoftware.test.tools.scout.ScoutRunner.isRunFailedDueToFailedInteractions(ScoutRunner.java:1177)

                          at com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner(ScoutRunner.java:268)

                          at com.tableausoftware.test.tools.scout.ScoutRunner.main(ScoutRunner.java:175)

                   

                   

                  D:\Tableau\Scout 1.3\Scout1.3>

                   

                   

                  Test log file deleted successfully!

                  [2020-02-13 12:15:13,329] [com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner] 64 JVM detected

                  [2020-02-13 12:15:13,329] [com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner] **********START********

                  [2020-02-13 12:15:13,329] [com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner] Passed in arguments: --platform Server --host https://tableau.generalmills.com --outputDir D:\ScoutOutput1 --iterations 1 --saveScreenshots true --flow PageLoad --mode view --urlsFile D:\TestURL.txt

                  [2020-02-13 12:15:13,345] [com.tableausoftware.test.server.utils.FilePathHelper.getConfigFolder] Checking bin

                  [2020-02-13 12:15:13,345] [com.tableausoftware.test.server.utils.FilePathHelper.getConfigFolder] Checking Scout1.3

                  [2020-02-13 12:15:13,439] [com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populateInternalBuildSettings] External version of Scout detected

                  [2020-02-13 12:15:13,470] [com.tableausoftware.test.tools.scout.ScoutRunnerArgsValidation.validateArguments] Argument "notes" is not specified. Setting notes to username and date.

                  [2020-02-13 12:15:13,470] [com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populateNotesSettings] Setting notes to G1356PP

                  [2020-02-13 12:15:13,470] [com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populateRandomSeedSettings] Random seed found in config file, using: 1234

                  [2020-02-13 12:15:13,470] [com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populateInteractionModeSettings] Setting the server interaction mode to: VIEW

                  [2020-02-13 12:15:13,470] [com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populateChromeDriverSettings] Setting the Selenium Chrome driver location to dependencies/chromedriver.exe

                  [2020-02-13 12:15:13,470] [com.tableausoftware.test.server.utils.FilePathHelper.getConfigFolder] Checking bin

                  [2020-02-13 12:15:13,486] [com.tableausoftware.test.server.utils.FilePathHelper.getConfigFolder] Checking Scout1.3

                  [2020-02-13 12:15:13,486] [com.tableausoftware.test.server.configuration.AbstractConfig.setHostUri] Caught configuration exception when attempting to set hostUrigiven host URI is not valid, given host URI = <useServerTestConfigYamlSetting>

                  [2020-02-13 12:15:13,486] [com.tableausoftware.test.server.configuration.AbstractConfig.setHostUri] This exception may be expected. Now attempting to use ServerTestConfig's hostUri instead

                  [2020-02-13 12:15:13,486] [com.tableausoftware.test.server.utils.FilePathHelper.getConfigFolder] Checking bin

                  [2020-02-13 12:15:13,486] [com.tableausoftware.test.server.utils.FilePathHelper.getConfigFolder] Checking Scout1.3

                  DEBUG [2020-02-13 12:15:13,501][main] (AbstractConfig.java:362)   - Looking for config file: log4j.properties

                  DEBUG [2020-02-13 12:15:13,501][main] (AbstractConfig.java:379)   - Looking for specific folder named [config] in tree of [D:\Tableau\Scout 1.3\Scout1.3\bin]

                  INFO  [2020-02-13 12:15:13,501][main] (FilePathHelper.java:148)   - Checking bin

                  INFO  [2020-02-13 12:15:13,501][main] (FilePathHelper.java:148)   - Checking Scout1.3

                  DEBUG [2020-02-13 12:15:13,501][main] (AbstractConfig.java:412)   - Found config file 'log4j.properties' for class class com.tableausoftware.test.server.configuration.ServerTestConfig at '/D:/Tableau/Scout%201.3/Scout1.3/config/log4j.properties'

                  DEBUG [2020-02-13 12:15:13,501][main] (ServerTestConfig.java:121)   - Loading ServerTestConfig from: ServerTestConfig.yaml

                  DEBUG [2020-02-13 12:15:13,501][main] (AbstractConfig.java:129)   - Read system property java.test.config.override=null

                  DEBUG [2020-02-13 12:15:13,501][main] (AbstractConfig.java:133)   - Using test config Override 'null'

                  DEBUG [2020-02-13 12:15:13,501][main] (AbstractConfig.java:116)   - No override is set, using default

                  DEBUG [2020-02-13 12:15:13,501][main] (AbstractConfig.java:362)   - Looking for config file: ServerTestConfig.yaml

                  DEBUG [2020-02-13 12:15:13,501][main] (AbstractConfig.java:379)   - Looking for specific folder named [config] in tree of [D:\Tableau\Scout 1.3\Scout1.3\bin]

                  INFO  [2020-02-13 12:15:13,501][main] (FilePathHelper.java:148)   - Checking bin

                  INFO  [2020-02-13 12:15:13,501][main] (FilePathHelper.java:148)   - Checking Scout1.3

                  DEBUG [2020-02-13 12:15:13,501][main] (AbstractConfig.java:412)   - Found config file 'ServerTestConfig.yaml' for class class com.tableausoftware.test.server.configuration.ServerTestConfig at '/D:/Tableau/Scout%201.3/Scout1.3/config/ServerTestConfig.yaml'

                  DEBUG [2020-02-13 12:15:13,501][main] (AbstractConfig.java:203)   - Loading config [class com.tableausoftware.test.server.configuration.ServerTestConfig] from [ServerTestConfig.yaml]

                  DEBUG [2020-02-13 12:15:13,501][main] (AbstractConfig.java:207)   - Found config [default]

                  ERROR [2020-02-13 12:15:13,517][main] (AbstractConfig.java:220)   - Failed to load the [default] config from yaml file.

                  ERROR [2020-02-13 12:15:13,517][main] (AbstractConfig.java:221)   - Cannot create property=hostUri for JavaBean=com.tableausoftware.test.server.configuration.ServerTestConfig@1677d1

                  in 'string', line 1, column 1:

                      database:

                      ^

                  in 'string', line 14, column 9:

                      hostUri:

                              ^

                   

                   

                  Cannot create property=hostUri for JavaBean=com.tableausoftware.test.server.configuration.ServerTestConfig@1677d1

                  in 'string', line 1, column 1:

                      database:

                      ^

                  in 'string', line 14, column 9:

                      hostUri:

                              ^

                   

                   

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:313)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:190)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:346)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:182)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:141)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:127)

                  at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450)

                  at org.yaml.snakeyaml.Yaml.load(Yaml.java:369)

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:217)

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:118)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.loadConfiguration(ServerTestConfig.java:122)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.loadConfiguration(ServerTestConfig.java:138)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.getInstance(ServerTestConfig.java:184)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.getInstance(ServerTestConfig.java:172)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.<clinit>(ServerTestConfig.java:101)

                  at com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig.setHostUri(VizportalUILibConfig.java:135)

                  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)

                  at org.yaml.snakeyaml.introspector.MethodProperty.set(MethodProperty.java:48)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:311)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:190)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:346)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:182)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:141)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:127)

                  at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450)

                  at org.yaml.snakeyaml.Yaml.load(Yaml.java:369)

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:217)

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:118)

                  at com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig.loadConfiguration(VizportalUILibConfig.java:69)

                  at com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig.getInstance(VizportalUILibConfig.java:82)

                  at com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populateChromeDriverSettings(ExecutionSettingsPopulator.java:289)

                  at com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populate(ExecutionSettingsPopulator.java:71)

                  at com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner(ScoutRunner.java:227)

                  at com.tableausoftware.test.tools.scout.ScoutRunner.main(ScoutRunner.java:175)

                  Caused by: java.lang.reflect.InvocationTargetException

                  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)

                  at org.yaml.snakeyaml.introspector.MethodProperty.set(MethodProperty.java:48)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:311)

                  ... 36 more

                  Caused by: java.lang.NullPointerException

                  at java.net.URI$Parser.parse(Unknown Source)

                  at java.net.URI.<init>(Unknown Source)

                  at com.tableausoftware.test.server.configuration.UriAbstractConfig.setHostUri(UriAbstractConfig.java:67)

                  ... 42 more

                  WARN  [2020-02-13 12:15:13,517][main] (AbstractConfig.java:240)   - Could not load any configuration objects

                  ERROR [2020-02-13 12:15:13,517][main] (AbstractConfig.java:220)   - Failed to load the [default] config from yaml file.

                  ERROR [2020-02-13 12:15:13,517][main] (AbstractConfig.java:221)   - Cannot create property=hostUri for JavaBean=com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig@2b6faea6

                  in 'string', line 1, column 1:

                      browser: chrome

                      ^

                  in 'string', line 4, column 10:

                      hostUri: <useServerTestConfigYamlSetting>

                               ^

                   

                   

                  Cannot create property=hostUri for JavaBean=com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig@2b6faea6

                  in 'string', line 1, column 1:

                      browser: chrome

                      ^

                  in 'string', line 4, column 10:

                      hostUri: <useServerTestConfigYamlSetting>

                               ^

                   

                   

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:313)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:190)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:346)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:182)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:141)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:127)

                  at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450)

                  at org.yaml.snakeyaml.Yaml.load(Yaml.java:369)

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:217)

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:118)

                  at com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig.loadConfiguration(VizportalUILibConfig.java:69)

                  at com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig.getInstance(VizportalUILibConfig.java:82)

                  at com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populateChromeDriverSettings(ExecutionSettingsPopulator.java:289)

                  at com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populate(ExecutionSettingsPopulator.java:71)

                  at com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner(ScoutRunner.java:227)

                  at com.tableausoftware.test.tools.scout.ScoutRunner.main(ScoutRunner.java:175)

                  Caused by: java.lang.reflect.InvocationTargetException

                  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)

                  at org.yaml.snakeyaml.introspector.MethodProperty.set(MethodProperty.java:48)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:311)

                  ... 15 more

                  Caused by: java.lang.ExceptionInInitializerError

                  at com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig.setHostUri(VizportalUILibConfig.java:135)

                  ... 21 more

                  Caused by: org.yaml.snakeyaml.error.YAMLException: Cannot create property=hostUri for JavaBean=com.tableausoftware.test.server.configuration.ServerTestConfig@1677d1

                  in 'string', line 1, column 1:

                      database:

                      ^

                  in 'string', line 14, column 9:

                      hostUri:

                              ^

                   

                   

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:242)

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:118)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.loadConfiguration(ServerTestConfig.java:122)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.loadConfiguration(ServerTestConfig.java:138)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.getInstance(ServerTestConfig.java:184)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.getInstance(ServerTestConfig.java:172)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.<clinit>(ServerTestConfig.java:101)

                  ... 22 more

                  Caused by: Cannot create property=hostUri for JavaBean=com.tableausoftware.test.server.configuration.ServerTestConfig@1677d1

                  in 'string', line 1, column 1:

                      database:

                      ^

                  in 'string', line 14, column 9:

                      hostUri:

                              ^

                   

                   

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:313)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:190)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:346)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:182)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:141)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:127)

                  at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450)

                  at org.yaml.snakeyaml.Yaml.load(Yaml.java:369)

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:217)

                  ... 28 more

                  Caused by: java.lang.reflect.InvocationTargetException

                  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)

                  at org.yaml.snakeyaml.introspector.MethodProperty.set(MethodProperty.java:48)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:311)

                  ... 36 more

                  Caused by: java.lang.NullPointerException

                  at java.net.URI$Parser.parse(Unknown Source)

                  at java.net.URI.<init>(Unknown Source)

                  at com.tableausoftware.test.server.configuration.UriAbstractConfig.setHostUri(UriAbstractConfig.java:67)

                  ... 42 more

                  WARN  [2020-02-13 12:15:13,517][main] (AbstractConfig.java:240)   - Could not load any configuration objects

                  ERROR [2020-02-13 12:15:13,517][main] (ScoutRunner.java:264)   - Unhandled exception bubbled up to main. Failing Scout run

                  org.yaml.snakeyaml.error.YAMLException: Cannot create property=hostUri for JavaBean=com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig@2b6faea6

                  in 'string', line 1, column 1:

                      browser: chrome

                      ^

                  in 'string', line 4, column 10:

                      hostUri: <useServerTestConfigYamlSetting>

                               ^

                   

                   

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:242)

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:118)

                  at com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig.loadConfiguration(VizportalUILibConfig.java:69)

                  at com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig.getInstance(VizportalUILibConfig.java:82)

                  at com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populateChromeDriverSettings(ExecutionSettingsPopulator.java:289)

                  at com.tableausoftware.test.tools.scout.ExecutionSettingsPopulator.populate(ExecutionSettingsPopulator.java:71)

                  at com.tableausoftware.test.tools.scout.ScoutRunner.executeScoutRunner(ScoutRunner.java:227)

                  at com.tableausoftware.test.tools.scout.ScoutRunner.main(ScoutRunner.java:175)

                  Caused by: Cannot create property=hostUri for JavaBean=com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig@2b6faea6

                  in 'string', line 1, column 1:

                      browser: chrome

                      ^

                  in 'string', line 4, column 10:

                      hostUri: <useServerTestConfigYamlSetting>

                               ^

                   

                   

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:313)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:190)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:346)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:182)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:141)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:127)

                  at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450)

                  at org.yaml.snakeyaml.Yaml.load(Yaml.java:369)

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:217)

                  ... 7 more

                  Caused by: java.lang.reflect.InvocationTargetException

                  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)

                  at org.yaml.snakeyaml.introspector.MethodProperty.set(MethodProperty.java:48)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:311)

                  ... 15 more

                  Caused by: java.lang.ExceptionInInitializerError

                  at com.tableausoftware.test.server.vizportalUILib.utils.VizportalUILibConfig.setHostUri(VizportalUILibConfig.java:135)

                  ... 21 more

                  Caused by: org.yaml.snakeyaml.error.YAMLException: Cannot create property=hostUri for JavaBean=com.tableausoftware.test.server.configuration.ServerTestConfig@1677d1

                  in 'string', line 1, column 1:

                      database:

                      ^

                  in 'string', line 14, column 9:

                      hostUri:

                              ^

                   

                   

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:242)

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:118)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.loadConfiguration(ServerTestConfig.java:122)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.loadConfiguration(ServerTestConfig.java:138)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.getInstance(ServerTestConfig.java:184)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.getInstance(ServerTestConfig.java:172)

                  at com.tableausoftware.test.server.configuration.ServerTestConfig.<clinit>(ServerTestConfig.java:101)

                  ... 22 more

                  Caused by: Cannot create property=hostUri for JavaBean=com.tableausoftware.test.server.configuration.ServerTestConfig@1677d1

                  in 'string', line 1, column 1:

                      database:

                      ^

                  in 'string', line 14, column 9:

                      hostUri:

                              ^

                   

                   

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:313)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:190)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:346)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:182)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:141)

                  at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:127)

                  at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450)

                  at org.yaml.snakeyaml.Yaml.load(Yaml.java:369)

                  at com.tableausoftware.test.server.configuration.AbstractConfig.loadConfiguration(AbstractConfig.java:217)

                  ... 28 more

                  Caused by: java.lang.reflect.InvocationTargetException

                  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)

                  at org.yaml.snakeyaml.introspector.MethodProperty.set(MethodProperty.java:48)

                  at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:311)

                  ... 36 more

                  Caused by: java.lang.NullPointerException

                  at java.net.URI$Parser.parse(Unknown Source)

                  at java.net.URI.<init>(Unknown Source)

                  at com.tableausoftware.test.server.configuration.UriAbstractConfig.setHostUri(UriAbstractConfig.java:67)

                  ... 42 more

                  • 6. Re: Error in Scout 1.3 when attempting to run from command line
                    Ionut Gradinaru

                    Hi Patrick Philipp, I tried to reproduce this issue and I'm not able to. I even copied the release version of Scout 1.3 and executed it with exactly the same parameters as you have and I'm not seeing those errors related to YAML and the configuration files.

                     

                    Could you make sure all the config files are present, maybe re-download the Scout 1.3 and double-check? I see the hostURI set as `hostUri: http://localhost` in ServerTestConfig.yaml, while your run shows: URI = <useServerTestConfigYamlSetting>

                     

                    Can you post the content of your config\ServerTestConfig.yaml? I want to compare it with what I'm running with.

                     

                    Thanks,

                    Ionut

                    1 of 1 people found this helpful
                    • 7. Re: Error in Scout 1.3 when attempting to run from command line
                      Patrick Philipp

                      Hi Ionut Gradinaru,
                      Thank you, this setting was blank in my config.  I re-un-zipped Scout to get a fresh copy.  Everything is working now.  I am not sure how that field got cleared.  Thank you for your help!

                       

                      To confirm a few things:

                      1. It appears that we need to pass in the correct server so that login happens before it tries to connect to views.  We can't rely on the input URL file to just guide us to the correct server.
                      2. Is it correct that if we try to do simultaneous A-B testing (run scout simultaneously with same URL list against old and upgraded cluster) that it will get URL images out of order occasionally?  We need to run scout sequentially, rather than in parallel, correct?
                      3. Edit:  Question added:  Does Scout work with Open JDK or only Oracle's version of Java?

                       

                      Thank you for all of your assistance!

                      Patrick

                      • 8. Re: Error in Scout 1.3 when attempting to run from command line
                        Ionut Gradinaru

                        Hi Patrick Philipp, I'm really glad Scout is working fine for you.

                         

                        Let me answer the questions:

                        1. Yes, the host still needs to be passed in, even for urlsFile.

                        2. When you run Scout in parallel it means the visited counter for workbooks\worksheets changes, based on what is being executed. The default way Scout discovers the content on the server is by popularity, thus the order could change. An easy way to fix that would be to force Scout to go by in alphabetical order (overrideWorkbookDiscoveryOrderOnServer=true), thus guaranteeing the same order, as long as the content doesn't change. Discovery order should not matter with urlsFile, and the tool should fail if both these are passed in together

                        3. It should work with OpenJDK too, in fact that's what I'm using now

                         

                        Thanks,

                        Ionut

                        1 of 1 people found this helpful