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.
