Works perfectly thanks.

Jonathan

On 30 April 2010 17:06, Jian Fang <[email protected]> wrote:
> 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].
>>> >> >> >>> >>> 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.
>>> >> >> >>> >
>>> >> >> >>>
>>> >> >> >>> --
>>> >> >> >>> 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.
>>> >> >> >>>
>>> >> >> >>
>>> >> >> >> --
>>> >> >> >> 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.
>>> >> >> >>
>>> >> >> >
>>> >> >>
>>> >> >> --
>>> >> >> 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.
>>> >> >>
>>> >> >
>>> >> > --
>>> >> > 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.
>>> >> >
>>> >>
>>> >> --
>>> >> 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.
>>> >>
>>> >
>>> > --
>>> > 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.
>>> >
>>>
>>> --
>>> 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.
>>>
>>
>
> --
> 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.
>

-- 
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