Good suggestions. Let us define the default behavior to load the
TelluriumConfig.groovy from
a project or class path, but before that, we check the system properties. If
the system properties
present, we honor it over the default behavior. Does this make sense?

On Fri, Apr 30, 2010 at 6:20 AM, Jonathan Share <[email protected]> wrote:

> This doesn't work at all, TelluriumConfig is read in a long time
> before my static initialiser is hit.
>
> -------------------------------------------------------
>  T E S T S
> -------------------------------------------------------
> Running test.IT4cBookingWithExtraTestCase
> Parse configuration file: TelluriumConfig.groovy from project root
> directory
> Configure UI Object Builders using configuration
> Configure widget modules using configuration
> Configure event handler using configuration
> Configure data accessor using configuration
> Configure dispatcher using configuration
> Configure Embedded Selenium Server using configuration
> Warning: No user-extensions.js
> log4j:WARN No appenders could be found for logger
> (org.openqa.selenium.server.SeleniumServer).
> log4j:WARN Please initialize the log4j system properly.
> Configure Selenium Client using configuration
> ############################ hello from static initialiser
> ############################ end of static initialiser
> !!!!!!!!!!!!!!!!!!!!!!!! Hello from BeforeClass
> Error: no display specified
>
>
> How about a completely different solution? Would it be possible to
> define a system property that you look at for loading the config file.
>
> Then you could have code like the following;
>
> telluriumEnv.configFileName =
> System.properties.getProperty("telluriumConfigFile",
> "TelluriumConfig.groovy")
>
> then I run maven with -DtelluriumConfigFile=myconfigfile.groovy
>
> to get my desired behaviour.
>
> On 26 April 2010 02:32, Jian Fang <[email protected]> wrote:
> > Thanks. I will look into the problem.
> >
> > For regular JUnit, It is hard to tell when the static block will get
> > running. But for
> > JUnit 4 annotations, the static block should run before the @BeforeClass
> > method,
> > which is what we want to exploit.
> >
> > Thanks,
> >
> > Jian
> >
> > On Sun, Apr 25, 2010 at 8:06 PM, Jonathan Share <[email protected]>
> wrote:
> >>
> >> I've created a sample project that you can find here
> >>
> >> http://bitbucket.org/sharebear/telluriumconfigfilebug
> >>
> >> The details of the meaning of each test is defined in the README file
> >> at the root of the project.
> >>
> >> One other issue I've just noticed is that when using the regular JUnit
> >> runner the static initializer doesn't get run early enough to change
> >> the filename.
> >>
> >> On 23 April 2010 15:45, Jian Fang <[email protected]> wrote:
> >> > That is really wired. Could you create a sample project accordingly to
> >> > your
> >> > current
> >> > project structure and send to us so that we can run and reproduce the
> >> > problem?
> >> >
> >> > BTW, if you need to use difference configurations for different
> >> > sub-projects, you could
> >> > use a JSON string to represent the configuration (but not sure if this
> >> > is
> >> > what you
> >> > want). For example, use a base test case to load the configuration
> JSON
> >> > string and all
> >> > other test cases extend the base test case.
> >> >
> >> > More details on JSON configuration are here:
> >> >
> >> >
> >> >
> http://code.google.com/p/aost/wiki/Tellurium070Update#Tellurium_Configuration
> >> >
> >> > Thanks,
> >> >
> >> > Jian
> >> >
> >> > On Fri, Apr 23, 2010 at 9:21 AM, Jonathan Share <[email protected]>
> >> > wrote:
> >> >>
> >> >> Actually sorry the problem isn't that I can't find the firefox
> >> >> profile, it's that Tellurium is not able to load the config file. I
> >> >> get the following error message when I run my test
> >> >>
> >> >> Cannot open configuration file
> >> >>
> >> >>
> >> >>
> C:\Source\test\trunk.svn\FunctionalTests\structured-data-tests\TelluriumConfig.groovy
> >> >> (The system cannot find the file specified)
> >> >>
> >> >> This is the message given out by line 60 of the
> TelluriumConfigParser,
> >> >> which means that either getSystemResource() is returning an incorrect
> >> >> URL instance or ConfigSlurper is not reading from the URL correctly
> >> >> (I'm wondering if getText() on the URL object is the cause of the
> >> >> problem here). The really confusing thing here is that the file
> exists
> >> >> in \structured-data-tests\src\test\resources\
> >> >>
> >> >> Another interesting fact, if I try and run the test from the
> >> >> sub-project structured-data-tests instead of the parent
> >> >> FunctionalTests
> >> >> "Cannot find configuration file: TelluriumConfig.groovy, use default
> >> >> values"
> >> >>
> >> >> I have now worked around my issue by having another copy of
> >> >> TelluriumConfig and changing the configFileName parameter in a static
> >> >> initialiser, although this isn't exactly bug free. It seems as
> though,
> >> >> when I'm running tests from the parent project. A file must exist
> with
> >> >> the correct name at the root of the parent project but the config
> file
> >> >> is actually read in from the root of the child project. For now I
> just
> >> >> have a copy of the config files both places.
> >> >>
> >> >> Regards,
> >> >>
> >> >> Jonathan
> >> >>
> >> >> On 23 April 2010 10:07, Jonathan Share <[email protected]> wrote:
> >> >> > Before I made the move I was using a path relative to the parent
> >> >> > project directory. However this stopped working after moving
> >> >> > TelluriumConfig.groovy to the src/test/resources directory. I
> really
> >> >> > don't want to go down the route of absolute paths, especially as I
> >> >> > personally run these tests from windows (at work), linux (build
> >> >> > server) and OS X (when working from home).
> >> >> >
> >> >> > On 22 April 2010 17:16, Jian Fang <[email protected]>
> wrote:
> >> >> >> If I remember correctly, the profile should be an absolute path,
> >> >> >> have
> >> >> >> you
> >> >> >> tried that?
> >> >> >>
> >> >> >> Thanks,
> >> >> >>
> >> >> >> Jian
> >> >> >>
> >> >> >> On Thu, Apr 22, 2010 at 11:04 AM, Jonathan Share
> >> >> >> <[email protected]>
> >> >> >> wrote:
> >> >> >>>
> >> >> >>> I've just tried moving TelluriumConfig.groovy into
> >> >> >>> src/test/resources
> >> >> >>> however now firefox is unable to find my custom profile. What
> path
> >> >> >>> is
> >> >> >>> the telluriumserver.embeddedserver.profile setting relative to
> when
> >> >> >>> TellurimConfig.groovy is in src/test/resources and I'm running
> >> >> >>> maven
> >> >> >>> from the parent project?
> >> >> >>>
> >> >> >>> On 26 March 2010 19:23, Jian Fang <[email protected]>
> wrote:
> >> >> >>> > Ok, I changed the configuration parser to load the
> configuration
> >> >> >>> > file
> >> >> >>> > from
> >> >> >>> > the class path instead of from the project root.
> >> >> >>> >
> >> >> >>> > Please get the new core artifact from the following url,
> >> >> >>> >
> >> >> >>> >
> >> >> >>> >
> >> >> >>> >
> >> >> >>> >
> http://maven.kungfuters.org/content/repositories/snapshots/org/telluriumsource/tellurium-core/0.7.0-SNAPSHOT/tellurium-core-0.7.0-20100326.172032-112.jar
> >> >> >>> >
> >> >> >>> > or use Maven to pull it down.
> >> >> >>> >
> >> >> >>> > Now, you can move telluriumconfig.groovy to src/test/resources
> >> >> >>> > directory.
> >> >> >>> >
> >> >> >>> > Thanks,
> >> >> >>> >
> >> >> >>> > Jian
> >> >> >>> >
> >> >> >>> > On Fri, Mar 26, 2010 at 11:58 AM, Jian Fang
> >> >> >>> > <[email protected]>
> >> >> >>> > wrote:
> >> >> >>> >>
> >> >> >>> >> Good question. I will take a look to see if we can load the
> >> >> >>> >> configuration
> >> >> >>> >> file from the class path.
> >> >> >>> >> But be aware that the first one may always win if you have
> >> >> >>> >> multiple
> >> >> >>> >> files
> >> >> >>> >> on the class path.
> >> >> >>> >>
> >> >> >>> >> Optionally, I thought of using a JSON string to represent the
> >> >> >>> >> configuration so that you can pass in
> >> >> >>> >> different configurations to your tests very easily.
> >> >> >>> >>
> >> >> >>> >> Thanks,
> >> >> >>> >>
> >> >> >>> >> Jian
> >> >> >>> >>
> >> >> >>> >> On Fri, Mar 26, 2010 at 11:40 AM, Jonathan Share
> >> >> >>> >> <[email protected]>
> >> >> >>> >> wrote:
> >> >> >>> >>>
> >> >> >>> >>> Hi,
> >> >> >>> >>>
> >> >> >>> >>> Is there a method of defining where tellurium will look for
> the
> >> >> >>> >>> TelluriumConfig file? Or even better can you read it in from
> >> >> >>> >>> the
> >> >> >>> >>> classpath (then we could drop it in src/test/resources)?
> >> >> >>> >>>
> >> >> >>> >>> The reason that I'm asking is that I'm using tellurium in a
> >> >> >>> >>> maven
> >> >> >>> >>> multi-module project with the following structure;
> >> >> >>> >>>
> >> >> >>> >>> parent-project
> >> >> >>> >>>  \- commmon-tellurium-modules
> >> >> >>> >>>  \- smoke-tests
> >> >> >>> >>>   \- TelluriumConfig.groovy
> >> >> >>> >>>  \- excel-tests
> >> >> >>> >>>   \- TelluriumConfig.groovy
> >> >> >>> >>>
> >> >> >>> >>> In order to keep things as simple as possible for those
> running
> >> >> >>> >>> the
> >> >> >>> >>> tests I want to allow them to run the tests in the following
> >> >> >>> >>> manner;
> >> >> >>> >>> $ mvn clean test -Psmoke
> >> >> >>> >>>  or
> >> >> >>> >>> $ mvn clean test -Pexcel
> >> >> >>> >>>
> >> >> >>> >>> where the build profile defines which test project gets
> pulled
> >> >> >>> >>> into
> >> >> >>> >>> the build, however tellurium always tries to read the file
> from
> >> >> >>> >>> the
> >> >> >>> >>> current working directory which fails when I'm standing in
> the
> >> >> >>> >>> parent-project.
> >> >> >>> >>>
> >> >> >>> >>> Regards,
> >> >> >>> >>>
> >> >> >>> >>> Jonathan
> >> >> >>> >>>
> >> >> >>> >>> --
> >> >> >>> >>> You received this message because you are subscribed to the
> >> >> >>> >>> Google
> >> >> >>> >>> Groups
> >> >> >>> >>> "tellurium-users" group.
> >> >> >>> >>> To post to this group, send email to
> >> >> >>> >>> [email protected].
> >> >> >>> >>> To unsubscribe from this group, send email to
> >> >> >>> >>> [email protected]<tellurium-users%[email protected]>
> .
> >> >> >>> >>> For more options, visit this group at
> >> >> >>> >>> http://groups.google.com/group/tellurium-users?hl=en.
> >> >> >>> >>>
> >> >> >>> >>
> >> >> >>> >
> >> >> >>> > --
> >> >> >>> > You received this message because you are subscribed to the
> >> >> >>> > Google
> >> >> >>> > Groups
> >> >> >>> > "tellurium-users" group.
> >> >> >>> > To post to this group, send email to
> >> >> >>> > [email protected].
> >> >> >>> > To unsubscribe from this group, send email to
> >> >> >>> > [email protected]<tellurium-users%[email protected]>
> .
> >> >> >>> > For more options, visit this group at
> >> >> >>> > http://groups.google.com/group/tellurium-users?hl=en.
> >> >> >>> >
> >> >> >>>
> >> >> >>> --
> >> >> >>> You received this message because you are subscribed to the
> Google
> >> >> >>> Groups
> >> >> >>> "tellurium-users" group.
> >> >> >>> To post to this group, send email to
> >> >> >>> [email protected].
> >> >> >>> To unsubscribe from this group, send email to
> >> >> >>> [email protected]<tellurium-users%[email protected]>
> .
> >> >> >>> For more options, visit this group at
> >> >> >>> http://groups.google.com/group/tellurium-users?hl=en.
> >> >> >>>
> >> >> >>
> >> >> >> --
> >> >> >> You received this message because you are subscribed to the Google
> >> >> >> Groups
> >> >> >> "tellurium-users" group.
> >> >> >> To post to this group, send email to
> >> >> >> [email protected].
> >> >> >> To unsubscribe from this group, send email to
> >> >> >> [email protected]<tellurium-users%[email protected]>
> .
> >> >> >> For more options, visit this group at
> >> >> >> http://groups.google.com/group/tellurium-users?hl=en.
> >> >> >>
> >> >> >
> >> >>
> >> >> --
> >> >> You received this message because you are subscribed to the Google
> >> >> Groups
> >> >> "tellurium-users" group.
> >> >> To post to this group, send email to
> [email protected].
> >> >> To unsubscribe from this group, send email to
> >> >> [email protected]<tellurium-users%[email protected]>
> .
> >> >> For more options, visit this group at
> >> >> http://groups.google.com/group/tellurium-users?hl=en.
> >> >>
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google
> >> > Groups
> >> > "tellurium-users" group.
> >> > To post to this group, send email to [email protected]
> .
> >> > To unsubscribe from this group, send email to
> >> > [email protected]<tellurium-users%[email protected]>
> .
> >> > For more options, visit this group at
> >> > http://groups.google.com/group/tellurium-users?hl=en.
> >> >
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "tellurium-users" group.
> >> To post to this group, send email to [email protected].
> >> To unsubscribe from this group, send email to
> >> [email protected]<tellurium-users%[email protected]>
> .
> >> For more options, visit this group at
> >> http://groups.google.com/group/tellurium-users?hl=en.
> >>
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "tellurium-users" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<tellurium-users%[email protected]>
> .
> > For more options, visit this group at
> > http://groups.google.com/group/tellurium-users?hl=en.
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "tellurium-users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<tellurium-users%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/tellurium-users?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"tellurium-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/tellurium-users?hl=en.

Reply via email to