fhoeben/sample-fitnesse-project

Missing docs for installing into an existing FitNesse installation

MMatten opened this issue · 26 comments

Hi.

(Is there a more appropriate support forum?)

I can't find any docs about how to install just the fixtures into an existing FitNesse installation. E.g. so I can combine web service testing with existing database testing assets.

Is this possible / feasible / etc?

You are right there is no documentation on that. I wouldn't know what to put in it, since it really depends on what your existing installation looks like.
To be frank, what I've done in the past is create a new project based on the archetype/sample project and copy existing installation's code and wiki pages to that. But I see no reason the other way around can not be done.

As far as I can tell there are a couple of elements you could incorporate, and you can choose to do just one or all.

  1. Include the hsac-fitnesse-plugin to your plugins folder: for extra slim tables and symbols
  2. Include the hsac-fitnesse-fixtures (and its dependencies) to your classpath: to be able to use the fixtures themselve
  3. Include the selenium web drivers to a new webdrivers directory in your wiki: to use Selenium without having to set system properties using Selenium: only when SeleniumDriverSetup is used

Thanks for the response. My current installation is based upon the DbFit distribution (https://github.com/dbfit/dbfit) as I'm going mainly database / data warehouse testing and I wanted to add web services (mainly SOAP) testing for the services that sit over a database layer.

The DbFit distro (https://github.com/dbfit/dbfit/releases/tag/v3.2.0) uses a stock FitNesse build (pulled from the Maven central repo). The current released version is from a couple of years ago (a new release will be out very soon using the latest FitNesse release).

I'll try transplanting in the above items to my installation and see where I get to and report back!

I seem to hit the following error whichever way I try to set things up.

image

Do you know what might be going wrong?

Try clicking the 'Execution Log' button. That page might have more info

No clues. I can see your fixtures should be getting picked up though.

image

I'm now using the latest FitNesse build for this installation.

and the console where started fitnesse. Does that show anything?

Did you copy all dependencies for my fixtures to your installation (either in lib or fixtures)? (All the jars packaged in my -standalone.zip's fixtures directory.)

Thanks again.

I did add all the JARs from your distro to the fixtures folder. You can see they get picked up:-

image

Here's the test page again:-

image

Here's the console window:-

image

Note that I've also updated my plugins.properties to add the content from your distro. I'm not really sure if I needed to.

The plugins.properties change is only needed if you add the maven classpath plugin (which I would not recommend for you).

I just thought of what you might have missed. The actual fixture classes (or would that just be something that would happen to me?) :-)

Try placing the .jar in the fixtures directory...

I've got all the class files installed. E.g. under fixtures/nl/hsac/fitnesse/fixture/slim I can see lots of .class files.

All your .jar files are in the fixtures folder.

I don't think I need any custom .jar files for this example test.

For the file hsac-fitnesse-fixtures-3.16.0.jar I take it this is the archive/artefact that's the same as the .class files I've already got installed. Is this right?

Yes you are right

But in the screenshot I'm not sure I see that directory being used: the fixtures element on the classpath seems to be the only one that is not absolute. That might be causing problems. Try an absolute path for that dir

I've tried an absolute path too and I get the same result. It's very strange!

I can try building a new distro based upon yours and adding DbFit, etc, into it instead to see if that helps.

(I've been playing with XmlHttpTest and nearly have something working but I'm doing something silly most likely but posted that on stackexchange).

I'm sorry I can't provide an easy answer. There might be some conflict in versions of libraries used.

I have no personal experience with dbFit. I've done a few tests with jdbc slim (which I added as a maven dependency to my fitnesse installation) and that worked together quite well.

The DbFit district uses a vanilla Fitnesse JAR from the central repo and my classpath excludes the DbFit JARs.

Could there be and other file dependencies that I’ve not copied over?

I think I've cracked it. Somewhat embarrassingly I think I was mixing the binaries from your 3.15.1 release with the 4.0.0-SNAPSHOT release from the DbFit upcoming distro. They have slightly different FitNesse versions bundled.

By copying in the following directories:-

  • fixtures
  • plugins
  • target
  • webdrivers

I can run both my DbFit/Fitlibrary suites as well as test SOAP web services. Great!

Is this something that would be worth documenting as part of your project for other users wishing to add your binaries to their installations?

Glad to hear you managed to get it to work. I'm pretty sure you don't need the target directory. And as long as you are not doing any browser testing, web drivers will not be needed either.
The maven-classpath plugin can be removed from the plugins folder (if you don't use !pom in the wiki).
Does it still work in that case?

If you are willing to do a short write-up about your experiences, we could add that to the wiki on GitHub. Is that something you're interested in?

If you are willing to do a short write-up about your experiences, we could add that to the wiki on GitHub. Is that something you're interested in?

Yes. I can do that. I'll help to get the new DbFit release out first then write something up and get back to you.

Hello, i have a fitnesse testing framework, but now i need to upgrade my browser, so i need to update all my libraries. Does someone knows the latest versions for firefox, selenide, selenium and Fitnesse so they can work properly together????

Are you using this sample project, or some other fitnesse/selenium setup.

If you are NOT using the approach in this project I cannot advise you in general, as it depends on what (which versions) you are currently using and maybe even how you are using them. It might be a small matter of replacing some versions/jars and web driver executables. It might be more complex.

If you are using this sample project it is a matter of updating the version numbers for fitnesse and hsac-fitnesse-fixtures as described in the README

@MMatten have you ever gotten 'round to that write-up we discussed?

No, i'm not using this project as a base.
I have Selenium 2.47.1 firefox V32 selenide 2.17 and Fitnesse 20150424

@fhoeben sorry, not yet. However I think my initial problems were down to FitNesse version conflicts. It seems all I needed to do was to take the JARs from DbFit and add them to your distro, or in fact the fixtures directory from your distro and add them to the master (current FitNesse version) build of the DbFit project.

I can write this up. Where do you think it should go? On your project Wiki or in the README?

If it really was that simple a write-up might not be needed (we can point people to this issue).
But for a bit more elaborate description of which jars to put where, and what is needed in the wiki pages, a wiki page in this project seems like a good place.