Glad it is finally solved. Please let us know if you have any further problems.
Thanks, Jian On Mon, May 3, 2010 at 3:36 AM, Jonathan Share <[email protected]> wrote: > 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]<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]<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.
