Selenium und https (SSL)

30. Juli 2010 in Browser, Internet, Tutorials von Leo

Normalerweise wird einer Unbekannten SSL Verbindung nicht getraut, weshalb man beim Testen mit phpunit an dieser Stelle scheitert. Um das ganze nun zum laufen zu bringen, benötigen wir ein neues Firefox Profil, mit welchem wir mit Selenium Testen. Standardmässig erstellt Selenium ein Temporäres Firefox Profil, dies klappt jedoch nicht da der Verbindung wie gesagt nicht vertraut wird.

Mit einem neuen Profil kann man nun zuerst Firefox mit diesem Profil starten, die Seite aufrufen und der Verbindung trauen. Diese Einstellung wird dann im Firefox Profil gespeichert.

Und so gehts:
1. Alle Firefox Fenster schliessen.

2. Firefox mit der folgenden Kommandozeile Ausführen (Ausführen: Windows Taste + R):
firefox.exe -ProfileManager -no-remote

3. Ein neues Profil erstellen (und haken setzen bei “Nicht Fragen beim Starten”, ansonsten bleibt Selenium hängen).
4. Jetzt durch das Profil Setup gehen und alles Einrichten. (Das Profil am besten auf C:\Selenium oder so verlagern, kurze Pfade sind empfehlenswert!)
5. Ist das Profil eingerichtet, startet man Firefox ganz normal und geht auf seine mit SSL geschützte Seite. Dort Vertraut man nun der SSL Verbindung. Danach kann Firefox geschlossen werden.

6. In der BATCH-Datei, welche wir zum Starten benötigen nun die Zeilen so bearbeiten:

cd C:\Selenium\selenium-server-1.0.3 (Pfad zu Selenium Server)
#firefox
java -jar selenium-server.jar -firefoxProfileTemplate c:\selenium (Pfad zum Firefox Profil)

Nun startet Selenium Firefox mit dem soeben erstellen Profil, anstatt schnell ein eigenes einzurichten.

Das wars!

MouseOver Effekt auf div Element mit Javascript

12. April 2010 in Browser, Tutorials von Leo

Kürzlich musste ich für einen Event eines Kunden etwas Javascript schreiben, um ein paar div Elemente (HTML) mit einem MouseOver und MouseOut Effekt versehren, welche dem div Element z.B. eine neue Hintergrundfarbe geben.

Eigentlich kann das ganze in Browsern wie Firefox, Google Chrome und Safari (?) ganz simpel mit einem div:hover gemacht werden, jedoch würde dies im Internet Explorer (mal wieder) nicht funktionieren. Deshalb musste Javascript her, welches das ganze nun in allen Browsern ermöglicht.

Und so wird es gemacht:

1. Zuerst muss Prototype (aktuell 1.6) heruntergeladen und auf seinen Server hochgeladen werden. Ansonsten würde das Javascript nicht funktionieren.

2. Nun erstellt man eine neue Javascript Datei (.js) und ladet diese auch auf seinen Server. Im HTML File müssen die beiden Javascript Files nun noch eingebunden werden:

<script src="scripts/prototype.js" type="text/javascript"></script>
<script src="scripts/dein-effekt.js" type="text/javascript"></script>

Der Pfad und Dateiname muss natürlich noch durch den eigenen ersetzt werden.

3. Zu erst erstellen wir ein HTML Gerüst aus div’s:

<div class="content">
  <div class="team">
     <div class="tools">Anmelden!</div>
  </div>
</div>

Hierbei handelt es sich nun um ein Turnier, bei dem man sich Anmelden kann. Der Link zur Anmeldung erscheint jedoch nur, wenn man mit der Maus über das div “team” fährt.

4. Im Javascript schreiben wir nun folgendes:

var act = 0;

Event.observe(window, 'load', function() { //wenn das Fenster geladen hat

	var team = $('content').select('div.team'); //Hier wir dem JS das div gezeigt

Gleich darunter:

		team.each(function(team){ //hierbei wird das div.team ausgewählt
				Event.observe(team, 'mouseover', function() { //mouseover div.team
						mouseOver(team);
				});
				Event.observe(team, 'mouseout', function() { //mouseout div.team
						mouseOut(team);
				});
	});
});

Danach kommt zuerst einmal die Funktion mouseOver:

function mouseOver(team){
	children = team.childElements(); //die Unterelemente werden gewählt
	tool = children[0]; // das nullte Unterelement (als das gleich darauf folgende
	tool.style.display='block'; //jetzt wird das div (div.tools) angezeigt
	team.addClassName('act');
	//tool.addClassName('act');
}

Und die Funktion mouseOut:

function mouseOut(team){
	children = team.childElements();
	tool = children[0];
	tool.style.display='none';
	team.removeClassName('act');
	tool.removeClassName('act');
}

Im CSS müssen nun noch die Class definiert werden. Die Class .act, für active (aktiv), welche sagt dass das Element aktiv ist, also die Maus gerade auf dem Element ist.
Das Javascript versteckt und zeigt lediglich ein div Element und gibt bzw. nimmt ihm eine neue CSS Class.

Das Javascript sollte wie folgt aussehen:

var act = 0;

Event.observe(window, 'load', function() {

	var team = $('content').select('div.team');

		team.each(function(team){
				Event.observe(team, 'mouseover', function() {
						mouseOver(team);
				});
				Event.observe(team, 'mouseout', function() {
						mouseOut(team);
				});
	});
});

function mouseOver(team){
	children = team.childElements();
	tool = children[0];
	tool.style.display='block';
	team.addClassName('act');
	//tool.addClassName('act');
}

function mouseOut(team){
	children = team.childElements();
	tool = children[0];
	tool.style.display='none';
	team.removeClassName('act');
	tool.removeClassName('act');
}

CSS: Markierter Text Stylen

13. November 2009 in Browser, CSS, Tutorials von Leo

Kürzlich hab ich auf einer meiner täglich Internet besuchen etwas ganz tolles entdeckt. Das Stylen von markiertem Text. So war die Hintergrundfarbe des Markierten Textes plötzlich rot – was man ja auch nicht alle Tage sieht. Natürlich wollte ich wissen wie dies denn nun wirklich Funktioniert, und ob ich das auch gleich hier im Blog einbauen kann. Und siehe da, es funktioniert und war extrem einfach!

So wirds per CSS gemacht:


::-moz-selection{
background: #cf9;
color: #222;
}

::selection {
background: #ffffda;
color: #333;
}

Der obere Teil gilt für Firefox, der untere sollte im IE, und in neueren Versionen auch auf Opera funktionieren.

Viel Spass!

WOT – Sicherer Surfen

9. Oktober 2009 in Browser, Internet von Leo

Einige die sich viel im World Wide Web herumtreiben kennen WOT sicherlich schon, jedoch möchte ich allen andern, die von WOT noch nie gehört haben, dies hier gerne Präsentieren. WOT oder ausgeschrieben Web of Trust ist ein Plugin für Firefox, mit welchem man sicherer Surfen kann. Das ganze funktioniert so, dass jeder WOT User andere Seiten bewerten kann und dazu auch Kommentare abgeben kann. So kann er andere WOT User vor warnen falls eine Seite nur Betrügt und eine Falle ist. Natürlich kann man andere Seiten auch positiv Bewerten, um zu zeigen das die Seite völlig ungefährlich ist und man sich dort gerne aufhalten kann.