Blogged with Flock
29 Feb · Fri 2008
Fink is searching for mirrors
apt-get: Waiting for headers
deb http://ftp.uni-bayreuth.de/linux/Debian/debian/ etch main non-free contrib deb-src http://ftp.uni-bayreuth.de/linux/Debian/debian/ etch main non-free contrib deb http://security.debian.org/ etch/updates main contrib non-free deb-src http://security.debian.org/ etch/updates main contrib non-freeAfter disabling the first two lines with "#" all worked fine. Afterwards I've added a more reliable mirror. Here you can find the list of Debian mirrors that you could configure in that file if you have similar problems.
26 Feb · Tue 2008
oAW Workshop auf der CG2008
Für die Code Generation 2008, die vom 25.-27. Juni 2008 in Cambridge stattfindet, wurde ein 3 stündiger oAW Workshop aufgenommen, den ich zusammen mit Sven Efftinge durchführen werde. In diesem Workshop werden wir die Erstellung von Model-to-Text und Model-to-Model Transformationen mit openArchitectureWare an praktischen Beispielen vermitteln. Wie genau wir den Workshop gestalten werden Sven und ich dann bald ausarbeiten. Auf jeden Fall wird im Vordergrund stehen, dass die Teilnehmer die Übungen live auf ihrem Notebook mitmachen können.
Die Code Generation 2008 wird hoffentlich dafür sorgen, dass openArchitectureWare auch außerhalb des deutschsprachigen Raums stärkere Aufmerksamkeit und Verbreitung bekommen wird. Vom Kernteam sind auf der Konferenz auch Markus Völter, Peter Friese und Arno Haase als Speaker vertreten. Damit stellt das oAW Team einen nennenswerten Anteil der Speaker auf der Konferenz.
Vielleicht sieht man sich ja da ...?
25 Feb · Mon 2008
Executing JUnit tests with JMeter using Maven
The blog post "Running JUnitSampler with Maven" describes already a workaround, but there is an issue if you are working on Windows.
Maven JMeter plugin
The Maven JMeter plugin is under development and the only available source is from the JMeterMavenPlugin Wiki Site. But do not download the code from there, the above mentioned blog has provides already a patched version.Maven Dependency Plugin
The blog post shows a code snippet using the Maven Dependency Plugin. The plugin is used to dump the classpath to a file, which is read by an extended JMeter plugin to create the classpath necessary to execute the JUnit tests. The plugin is referenced with version 2.0-alpha-4.In the meanwhile the plugin version 2.0 was released. There is a significant change from version 2.0-alpha-4. The alpha version used the colon ':' hard coded to separate path entries, but this is a serious problem for Windows systems, since you have the colon as the drive locator. This was fixed in the final version, which now uses the File.separator char. Further you could now explicitly set the separator using the pathSeparator property, which was not possible in 2.0-alpha-4.
The plugin configuration therefore must be:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<id>build-classpath</id>
<phase>test-compile</phase>
<goals>
<goal>build-classpath</goal>
</goals>
<configuration>
<cpFile>target/classpath</cpFile>
<includeScope>test</includeScope>
</configuration>
</execution>
</executions>
</plugin>
JUnitSampler limitations
The JUnitSampler implies that the test classes are derived from class TestCase. Therefore it does not work for:- Test Suites
- JUnit 4 style test classes
If setUp() and tearDown() methods should be called they must be public, otherwise they cannot be invoked.
Repository Configuration
Sometime I wonder why there are central repository sites like ibiblio if you can't find some fundamental jars there. I think I come to this back later in a separate blog post. Same problem for the JMeter jars. Of course I can download the jars and install them to my local repository, but I wanted to get the JMeter jar from a Maven repository. The only location I found was the repository at thinkpond.orgSo instead of installing JMeter manually you can configure the repository:
<repositories>
<repository>
<id>thinkpond.org</id>
<name>thinkpond.org Repository</name>
<url>http://bin.thinkpond.org/repo</url>
</repository>
</repositories>
Conclusion
It is a bit tricky to integrate JMeter in Maven. But with the tips found in the mentioned blog it is possible to manage the task. Building the JMeter plugin from source is not what I wanted to do to get things running. Also it does not seem that the mentioned workaround will go into the development of the JMeter plugin.Executing JUnit tests using JMeter's JUnitSampler has some limitations that are annoying for JUnit 4 users. Hopefully there will come a JUnit4Sampler in future.
If you plan to use this framework stack be aware that you will have to keep a patched version of the JMeter plugin in your development environment until there will be an official solution. If you can live with the mentioned workarounds and limitations this combination can be a comfortable way to execute performance tests using Maven. Especially setting up JMeter's classpath can be tedious without Maven integration.
Appendix
Resources
- Running JUnitSampler with Maven
- Maven JMeter plugin and report generation (the last steps to get it working)
- Maven Dependency Plugin - Homepage
- Maven Dependency Plugin - dependency:build-classpath
- Thinkpond.org Maven2 repository
Downloads
21 Feb · Thu 2008
Relaunch oaw.itemis.de
Zurück zu oaw.itemis.de. Wie sicher vielen aufgefallen ist hat itemis die aktive Unterstützung für openArchitectureWare in der letzten Zeit massiv intensiviert. Besonders freue ich mich, dass wir mit Sven Efftinge und Peter Friese zwei ausgezeichnete MDSD Experten und entscheidende openArchitectureWare Comitter im Kollegenkreis dazugewonnen haben. Als eine der Maßnahmen zur Verbesserung des openArchitectureWare Angebots wird oaw.itemis.de gerade überarbeitet und das itemis Angebot zu openArchitectureWare in einem professionellen Outfit präsentieren. Die neue Website ist im Prinzip fertig, wir bereiten gerade den Switch vor.
Was mir am Herzen liegt ist, dass das deutschsprachige Forum weiter verfügbar ist. Das Forum ist mittlerweile der einzige aktive Bereich, der von dem System noch genutzt wird. Das aber soll auch so bleiben. Ich sehe das deutschsprachige Supportforum als ein wichtiges Instrument an, um den vielen Usern Hilfestellung zu diesem bemerkenswerten Framework zu bieten. Das englischsprachige Forum ist sicher noch wichtiger, aber manche Anwender wissen es auch zu schätzen, dass sie mit uns auf deutsch kommunizieren können. Die meisten Anwender kommen immerhin aus Deutschland.
Ich hoffe, die Umstellung verläuft reibungslos und unsere Usergemeinde wird das erweiterte Angebot zu schätzen wissen.
14 Feb · Thu 2008
Web GUI Integrationstests mit Fitnesse und HtmlFixture
In meinem Fall habe ich mir den Test einer Web GUI vorgenommen. Bei FIT muss man für die Anbindung der zu testenden Objekte sogenannte Fixtures implementieren. Für den Test von Web GUIs bin ich dabei auf die Erweiterung HtmlFixture gestoßen. Leider ist auf dieser (offiziellen) Seite nur eine alte Version aus 2005 verlinkt, der Link zu den passenden Sourcen funktioniert erst gar nicht. Die verfügbare Version wurde mit HtmlUnit Version 1.5 getestet.
Leider hatte ich recht bald Probleme mit der HtmlUnit Version, weswegen ich ein Upgrade auf die aktuelle Version 1.14 versuchte. Das wiederum führte zu NoSuchMethodError bei der Fixture Set Value, ist also inkompatibel.
Da der Sourcelink auf der HtmlFixture Seite bei Fitnesse.org nicht funktionierte habe ich einfach mal bei Sourceforge gesucht. Dabei fand ich raus, dass das Projekt HtmlFixture sich dort befindet. Leider ist keine Aktivität mehr vorhanden. Dagegen gibt es eine Reihe Bug Reports, Feature Requests und sogar wenige Patches. Doch wenn sich offenbar keiner drum kümmert ist das Projekt halt tot.
Zum Glück bin ich über HtmlFixture Improved bei Sourceforge gestolpert, das offenbar eine Weiterentwicklung ist. Und die letzte Version 2.1.1 ist tatsächlich mit HtmlUnit 1.14 kompatibel.
Über die konkrete Installation von Fitnesse mit HtmlFixture möchte ich dann später mal berichten.