Propostion: Standard directory layout for a WebTest project

View: New views
8 Messages — Rating Filter:   Alert me  

Propostion: Standard directory layout for a WebTest project

by Marc Guillemot :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,

we've already mentionned the necessity to make WebTest projects easier to start. One element could be to propose a standard directory structure. For this purpose, it would be good to find something on which we have a consensus. Dierk, Tomi and myself have following structure to propose for discussion:

- dtds
  - project.dtd (1)
  - project-entities.dtd (generated)  (2)
  - webtest.dtd (generated) (3)
- definitions (4)
- environment (5)
- includes (6)
- reports (generated) (7)
- tests (8)
- build.xml (9)
- definitions.xml (generated) (10)

with:
(1) dtds/project.dtd
the dtd that has to be referenced by the tests. Contains reference to project-entities.dtd and webtest.dtd and allows to add manually other entities

(2) dtds/project-entities.dtd
declare entities for all *.xml files from the includes directory. Automatically generated.

(3) dtds/webtest.dtd
the dtd for all tasks and macros available after tasks and macros definition. Automatically generated by AntStructure

(4) definitions
the directory where macro definitions and project specific tasks (as Groovy scripts) can be placed as xml snippets

(5) environment
the directory where properties for server, user, ... settings should be placed

(6) includes
the directory where xml snippets can be placed that will be automatically made available as entities through the dtd

(7) reports
the directory where the reports are generated

(8) tests
the directory where the real tests are located

(9) build.xml
the main entry point. Imports a webtest.xml from WebTest's home and just needs to override the wanted targets (if any).

(10) definitions.xml
contains all macro declaration (through entities) and is imported before tests execution to make the macros available


Comments are welcome.

Marc.

Re: Propostion: Standard directory layout for a WebTest project

by Paul King :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


+1

A worthwhile endeavor in the spirit of 'convention over configuration'
so long as there are hooks to change the configuration in the rare
cases too.

Some things to consider:
- Would we permit subdirectories under tests, environment, definitions etc?
  (I think we would have to)
- Will the structure make it easy to work with Eclipse/IntelliJ? (I have
  always found it hard to use WTP to do XML validation and also have
  relative paths to DTDs (e.g. ../dtds/webtest.dtd) and entity declarations etc.)
- definitions.xml -> definitions?
- BC issue: will a fixed structure make life a nightmare for existing users?
- Is there a reason for macro declaration to be through entities and not
  just imported directly?
- I am a big Groovy fan but we should support JRuby and JavaScript etc
  scripts too
- We need to make it easy for reports to be somewhere else (it is the
  only directory not part of the source tree)
- We should think a bit about data-driven tests (would all that belong
  in environment?) Maybe we could support 'data' too eventually.

I would be happy to help flesh out and trial something.

Cheers, Paul.

Marc Guillemot wrote:

> Hi all,
>
> we've already mentionned the necessity to make WebTest projects easier to
> start. One element could be to propose a standard directory structure. For
> this purpose, it would be good to find something on which we have a
> consensus. Dierk, Tomi and myself have following structure to propose for
> discussion:
>
> - dtds
>   - project.dtd (1)
>   - project-entities.dtd (generated)  (2)
>   - webtest.dtd (generated) (3)
> - definitions (4)
> - environment (5)
> - includes (6)
> - reports (generated) (7)
> - tests (8)
> - build.xml (9)
> - definitions.xml (generated) (10)
>
> with:
> (1) dtds/project.dtd
> the dtd that has to be referenced by the tests. Contains reference to
> project-entities.dtd and webtest.dtd and allows to add manually other
> entities
>
> (2) dtds/project-entities.dtd
> declare entities for all *.xml files from the includes directory.
> Automatically generated.
>
> (3) dtds/webtest.dtd
> the dtd for all tasks and macros available after tasks and macros
> definition. Automatically generated by AntStructure
>
> (4) definitions
> the directory where macro definitions and project specific tasks (as Groovy
> scripts) can be placed as xml snippets
>
> (5) environment
> the directory where properties for server, user, ... settings should be
> placed
>
> (6) includes
> the directory where xml snippets can be placed that will be automatically
> made available as entities through the dtd
>
> (7) reports
> the directory where the reports are generated
>
> (8) tests
> the directory where the real tests are located
>
> (9) build.xml
> the main entry point. Imports a webtest.xml from WebTest's home and just
> needs to override the wanted targets (if any).
>
> (10) definitions.xml
> contains all macro declaration (through entities) and is imported before
> tests execution to make the macros available
>
>
> Comments are welcome.
>
> Marc.

_______________________________________________
WebTest mailing list
WebTest@...
http://lists.canoo.com/mailman/listinfo/webtest

Re: Propostion: Standard directory layout for a WebTest project

by Marc Guillemot :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Paul,

according to your remarks, I think that I haven't been as precise as I wanted:

> - Would we permit subdirectories under tests, environment, definitions etc?
>   (I think we would have to)

sure

> - Will the structure make it easy to work with Eclipse/IntelliJ? (I have
>  always found it hard to use WTP to do XML validation and also have
>  relative paths to DTDs (e.g. ../dtds/webtest.dtd) and entity declarations etc.)

to some extend, yes. IDEs have a good support... when tests are "correctly" set up. For the rest, we will have to wait for WebTestClipse ;-)

- definitions.xml -> definitions?

??
definitions.xml is a ant file generated from the content of the definitions directory

> - BC issue: will a fixed structure make life a nightmare for existing users?

absolutely not. No necessity to move

> - Is there a reason for macro declaration to be through entities and not
>  just imported directly?

to keep code shorter, the files within definitions dir don't need to be full ant files (that could be imported) but only the macros themselves

> - I am a big Groovy fan but we should support JRuby and JavaScript etc
>  scripts too

Groovy was just an example. I meant anything that has to be executed once before the tests run.

> - We need to make it easy for reports to be somewhere else (it is the
> only directory not part of the source tree)

yep. All locations will be defined with properties that can be "overriden" with other values

> - We should think a bit about data-driven tests (would all that belong
>  in environment?) Maybe we could support 'data' too eventually.

how would you use your content from the data dir?

> I would be happy to help flesh out and trial something.

thanks for the help. I have already nearly all ingredients, I just need to find time to mix them together ;-)

Marc.

Re: Propostion: Standard directory layout for a WebTest project

by Paul King :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Marc Guillemot wrote:
> Hi Paul,
>
> according to your remarks, I think that I haven't been as precise as I
> wanted:

I was pretty sure I knew what you meant - just making sure.

>> - Would we permit subdirectories under tests, environment, definitions
>> etc?
>>   (I think we would have to)
>
> sure
>
>> - Will the structure make it easy to work with Eclipse/IntelliJ? (I have
>>  always found it hard to use WTP to do XML validation and also have
>>  relative paths to DTDs (e.g. ../dtds/webtest.dtd) and entity declarations
>> etc.)
>
> to some extend, yes. IDEs have a good support... when tests are "correctly"
> set up. For the rest, we will have to wait for WebTestClipse ;-)
>
> - definitions.xml -> definitions?
>
> ??
> definitions.xml is a ant file generated from the content of the definitions
> directory

Sure, just wondering about its placement - fine in top-level directory.

>> - BC issue: will a fixed structure make life a nightmare for existing
>> users?
>
> absolutely not. No necessity to move
>
>> - Is there a reason for macro declaration to be through entities and not
>>  just imported directly?
>
> to keep code shorter, the files within definitions dir don't need to be full
> ant files (that could be imported) but only the macros themselves

OK, IDEs may not format them correctly - they tend not to like fragments
as much but I currently live with this now. And I guess we can support
either.

>> - I am a big Groovy fan but we should support JRuby and JavaScript etc
>>  scripts too
>
> Groovy was just an example. I meant anything that has to be executed once
> before the tests run.
>
>> - We need to make it easy for reports to be somewhere else (it is the
>> only directory not part of the source tree)
>
> yep. All locations will be defined with properties that can be "overriden"
> with other values
>
>> - We should think a bit about data-driven tests (would all that belong
>>  in environment?) Maybe we could support 'data' too eventually.
>
> how would you use your content from the data dir?

I don't have a specific example in mind but just thinking about things
like PropertyTable.

>> I would be happy to help flesh out and trial something.
>
> thanks for the help. I have already nearly all ingredients, I just need to
> find time to mix them together ;-)

Happy baking! ;-)


_______________________________________________
WebTest mailing list
WebTest@...
http://lists.canoo.com/mailman/listinfo/webtest

Re: Propostion: Standard directory layout for a WebTest project

by Paul King :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Marc Guillemot wrote:
> [...] For the rest, we will have to wait for WebTestClipse ;-)

Will it be ready in time:

http://www.eclipsecon.org/summiteurope2006/

;-)


_______________________________________________
WebTest mailing list
WebTest@...
http://lists.canoo.com/mailman/listinfo/webtest

RE: Proposition: Standard directory layout for a WebTest project

by Colin O'Brien-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Marc,

Below is my current directory structure for webtest, would I be able to
continue using this, or would it be necessary to change things to fit
the proposed structure in your earlier mail...? I think there is some
similarity to your proposal and what I have now so I don't think there
would be that much to change...

Canoo
     |__webtest.dtd
     |__webTestTaskdefs.properties
     |__bin
     |__conf
     |__doc
     |__lib
     |__includes
          |__(Global includes, config, definition)

     |__modules
          |__(Modules used in multiple test cases)

     |__properties
          |__(Test case property files)

     |__UseCases
          |__(Actual Test Cases)

     |__TestSuites
          |__(build.xml files)

     |__TestFiles
          |__(Input files required for test cases)

     |__resources
          |__(Report xsl, stylesheets etc...)

     |__results
          |__(Test suite result reports and last responses

Regards,
Colin.

-----Original Message-----
From: webtest-admin@...
[mailto:webtest-admin@...] On Behalf Of Marc Guillemot
Sent: 29 June 2006 13:37
To: webtest@...
Subject: [Webtest] Propostion: Standard directory layout for a WebTest
project


Hi all,

we've already mentionned the necessity to make WebTest projects easier
to
start. One element could be to propose a standard directory structure.
For
this purpose, it would be good to find something on which we have a
consensus. Dierk, Tomi and myself have following structure to propose
for
discussion:

- dtds
  - project.dtd (1)
  - project-entities.dtd (generated)  (2)
  - webtest.dtd (generated) (3)
- definitions (4)
- environment (5)
- includes (6)
- reports (generated) (7)
- tests (8)
- build.xml (9)
- definitions.xml (generated) (10)

with:
(1) dtds/project.dtd
the dtd that has to be referenced by the tests. Contains reference to
project-entities.dtd and webtest.dtd and allows to add manually other
entities

(2) dtds/project-entities.dtd
declare entities for all *.xml files from the includes directory.
Automatically generated.

(3) dtds/webtest.dtd
the dtd for all tasks and macros available after tasks and macros
definition. Automatically generated by AntStructure

(4) definitions
the directory where macro definitions and project specific tasks (as
Groovy
scripts) can be placed as xml snippets

(5) environment
the directory where properties for server, user, ... settings should be
placed

(6) includes
the directory where xml snippets can be placed that will be
automatically
made available as entities through the dtd

(7) reports
the directory where the reports are generated

(8) tests
the directory where the real tests are located

(9) build.xml
the main entry point. Imports a webtest.xml from WebTest's home and just
needs to override the wanted targets (if any).

(10) definitions.xml
contains all macro declaration (through entities) and is imported before
tests execution to make the macros available


Comments are welcome.

Marc.
--
View this message in context:
http://www.nabble.com/Propostion%3A-Standard-directory-layout-for-a-WebT
est-project-tf1867243.html#a5101914
Sent from the WebTest forum at Nabble.com.

_______________________________________________
WebTest mailing list
WebTest@...
http://lists.canoo.com/mailman/listinfo/webtest




_______________________________________________
WebTest mailing list
WebTest@...
http://lists.canoo.com/mailman/listinfo/webtest

Parent Message unknown RE: Propostion: Standard directory layout for a WebTest project

by Schütz Tomi (KSFC 413) :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

With your support, we'll do it ;)

Best regards,
Tomi

-----Original Message-----
From: webtest-admin@... [mailto:webtest-admin@...] On Behalf Of Paul King
Sent: Thursday, June 29, 2006 4:52 PM
To: webtest@...
Subject: Re: [Webtest] Propostion: Standard directory layout for a WebTest project

Marc Guillemot wrote:
> [...] For the rest, we will have to wait for WebTestClipse ;-)

Will it be ready in time:

http://www.eclipsecon.org/summiteurope2006/

;-)


_______________________________________________
WebTest mailing list
WebTest@...
http://lists.canoo.com/mailman/listinfo/webtest
_______________________________________________
WebTest mailing list
WebTest@...
http://lists.canoo.com/mailman/listinfo/webtest

RE: Proposition: Standard directory layout for a WebTest project

by Marc Guillemot :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Colin,

you will surely be able to continue to use the structure you want. The idea is only to propose a good start directory layout and some "tools" able to facilitate work on this structure..

Marc.