I updated the code in TelluriumFramework.groovy as follows,

      String fileName =
System.properties.getProperty("telluriumConfigFile");
      if(fileName == null)
        fileName = env.configFileName;

In other words, tellurium will try to get the file name from system
properties, if not available, it try
the default one from the Environment class.

I am busy with the 0.7.0 user guide, please update tellurium-core from our
maven repo and test
if this works for you.

Thanks,

Jian

On Fri, Apr 30, 2010 at 10:49 AM, Jian Fang <[email protected]>wrote:

> 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