Webtests und JMeter. Technologien: Überblick Funktionale Tests: Simplelenium Performance Messungen: JMeter Projekt Setup: Gradle, Jenkins
|
|
- Falko Julius Dittmar
- vor 8 Jahren
- Abrufe
Transkript
1 Webtests und JMeter Technologien: Überblick Funktionale Tests: Simplelenium Performance Messungen: JMeter Projekt Setup: Gradle, Jenkins Raimond Reichert
2 Webtests: Motivation Erhöhte Regress-Sicherheit
3 Technologien: Überblick
4 Technologien Überblick JUnit JMeter Unsere Webtests Simplelenium Selenium PhantomJs
5 Technologien: PhantomJs «Full web stack w/o browser» "PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector,..." var page = require('webpage').create(); page.open(' function(status) { console.log("status: " + status); if (status === "success") { page.render('example.png'); } phantom.exit(); }); // run with phantomjs example.js phantomjs.org
6 Technologien: Selenium «Selenium automates browsers» "WebDriver is the key interface against which tests should be written [...] ChromeDriver, FirefoxDriver, InternetExplorerDriver, PhantomJSDriver,..." WebDriver driver = new FirefoxDriver(); driver.navigate().to(" WebElement element = driver.findelement(by.name("q")); element.sendkeys("cheese!"); element.submit(); System.out.println("Page title is: " + driver.gettitle()); (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() { public Boolean apply(webdriver d) { return d.gettitle().tolowercase().startswith("cheese!"); } }); System.out.println("Page title is: " + driver.gettitle()); driver.quit();
7 Technologien: Simplelenium «Simple layer on top of Selenium» Ein Fluent Layer über Selenium, in Java 8 PhantomJs wird automatisch installiert Immer noch «work in progress» public class QuickStartTest extends SeleniumTest public void web_driver_site() { goto(" find("#q").fill("staleelementreferenceexceptions"); find("#submit").click(); } } find("a.gs title").should().havemoreitemsthan(5).contain("issue 1887 selenium Element not found in the cache").not().contain("selenium Rocks!");
8 Technologien: Simplelenium Finders and Verifacations Finders: Element-Suche via Selektor Verifications: Chainable Assertions für Test find("cssselector") find(org.openqa.selenium.by) find(".name").should().beempty() find(".name").should().beselected() find(".name").should().match(pattern.compile("regexp")); find(".name").should().havemoreitemsthan(min); //... find(".name").should().contain("a word").contain("anything").beselected().not().bedisplayed(); github.com/dgageot/simplelenium
9 Technologien: Simplelenium Narrowing Search find("...").withtext().beingempty().should()...; find("...").withtext().containing("text").should()...; find("...").withname().startingwith("text").should()...; find("...").withid().equalto("text").should()...; find("...").withtagname().equalto("h1").should()...; find("...").withclass().containingword("blue").should()...; find("...").withcssvalue("color").not().endingwith("grey").should()...; find("...").withtext().startswith("prefix").endingwith("suffix").should()...; //... github.com/dgageot/simplelenium
10 Technologien: Simplelenium Narrowing Search: Performanz? Achtung: Suchen mit Einschränkungen kann ineffizient sein: find("span").withtext().contains(text) // Suche Simplelenium Style, dauert ca. 10s auf komplexer Seite find(byxpath(string.format("(//span[contains(text(), '%s')])[1]", text))); // XPath für Suche, dauert < 1s auf komplexer Seite github.com/dgageot/simplelenium
11 Technologien: Simplelenium Finders and Verifacations The way Simplelenium deals with timing issue: It tries to make the search Then the verification If it passes, then we're cool If not, it tries again immediately with a new search to avoid Staled elements It does so for at least 5 seconds github.com/dgageot/simplelenium
12 Technologien: Simplelenium Actions: interact with the page find("...").fill("name"); find("...").submit(); find("...").click(); find("...").pressreturn(); find("...").sendkeys("a", "B", "C"); find("...").clear(); find("...").doubleclick(); find("...").contextclick(); find("...").release(); //... find("...").select("text"); find("...").deselect(); //... github.com/dgageot/simplelenium
13 Technologien: Simplelenium Limitations Support anything else than PhantomJS Support alerts, iframes and windows We need iframes for dialoges... Reading properties from web elements We need to read IDs to go to detail pages... github.com/dgageot/simplelenium
14 Technologien: JMeter «load test functional behavior» Testpläne beschreiben den Testablauf: ThreadGroup: In wie vielen Threads soll Sampler wie oft wiederholt werden. Sampler: Request, dessen Laufzeit gemessen werden soll: HTTP Request, SOAP Request u.a. Mit dem Java Request wird eine Implementation des Interfaces JavaSamplerClient ausgeführt. Listener: Sammeln die Daten der Samplers. jmeter.apache.org
15 Funktionale Tests: Simplelenium
16 Funktionale Tests: Simplelenium Beispiel eines Tests run(optional<sampleresult>): JMeter-Schnittstelle goto(pageobject): Lädt entsprechende Seite takesnapshot(navigation, String): Speichert public class OrderTrackingUseCase extends EnhancedSeleniumTest implements SamplingRunnable public void run(optional<sampleresult> parentsampleresult) { goto(loginpageobject); takesnapshot( loginpageobject.loginifneccessary(...), "1_logged_in"); goto(switchcustomerpageobject); takesnapshot( switchcustomerpageobject.change(customer_name), "2_changed_customer");
17 Funktionale Tests: Simplelenium Beispiel eines Tests addsample(...): Fügt Messwert hinzu (psr) -> Navigation: Zu messender Methoden-Aufruf addsample( parentsampleresult, "load order tracking overview page", (psr) > takesnapshot(goto(overviewpageobject), "3_order_tracking")); } overviewpageobject.verifycolumns("rang", "Status",...).verifyRowsSize(10); }
18 Funktionale Tests: Simplelenium Page Objects für «Fluent Tests» EnhancedPageObject: Simplelenium-Erweiterungen Url: Jedes PageObject muss eine URL haben public class OverviewPageObject implements EnhancedPageObject { /* nur Auszug */ private final String url; public OverviewPageObject(String url) { this.url = url; public String url() { return getapplicationurl(url); }
19 Funktionale Tests: Simplelenium Page Objects für «Fluent Tests» XPath: Häufig ein guter Helfer aber leider nicht immer robust private static final String FIRST_TR_CONTEXT_MENU_LINK_XPATH = "//div[@id=\"%s\"]//tr[1]//td[last()]//"+ "a[@class=\"load table menu dynamic\"]"; public OverviewPageObject opencontextmenuforfirsttablerow( String divcontainingoverviewtableid) { } } findbyxpath(string.format( FIRST_TR_CONTEXT_MENU_LINK_XPATH, divcontainingoverviewtableid) ).click(); waitforajaxresponse(); return this;
20 Funktionale Tests: Simplelenium Interface EnhancedPageObject By: Selenium-Klasse für CSS-, XPath-Selektor u.a. /* Selector helper methods */ By byidendswith(string id) By byxpath(string xpath) By bylabelcontains(string text) By bylistitemcontains(string text) By bytablecellcontains(string text) By byelementcontains(string elementxpath, String text)
21 Funktionale Tests: Simplelenium Interface EnhancedPageObject DomElement: Simplelenium-Klasse für DOM-Element /* Simplelenium finder methods */ DomElement findbyidendswith(string id) DomElement findbyxpath(string xpath) DomElement findspancontaining(string text) DomElement findh1containing(string text) //...
22 Funktionale Tests: Simplelenium Interface EnhancedPageObject WebElement: Selenium-Klasse für DOM-Element Benötigt, wenn Simplelenium zu viel abstrahiert... /* Selenium finder methods */ WebElement findwebelementbyxpath(string xpath) WebElement findwebelement(by selector) List<WebElement> findwebelements(by selector) //...
23 Funktionale Tests: Simplelenium Interface EnhancedPageObject Warten in Variationen... /* Helper methods to wait for certain conditions */ void waitforajaxresponse() void waituntilelementispresent(final By selector) void waituntilelementisnotpresent(final By selector) void waitfor(expectedcondition<boolean> condition) //...
24 Funktionale Tests: Simplelenium Der Frust
25 Funktionale Tests: Simplelenium Der Frust
26 Funktionale Tests: Simplelenium EnhancedPageObject Code zur Erhöhung der Teststabilität: Verwendet Klassen im Package workarounds: workarounds.teststability.sleep(double seconds): workarounds.teststability.execute(runnable runnable)
27 Funktionale Tests: Simplelenium Annotation TestConfiguration Mit der Annotation TestConfiguration kann einem Test eine Priorität gegeben werden. Falls System Property onlyhighprioritytests gesetzt ist, lässt der SamplingTestRunner nur Tests mit Priority.HIGH laufen.
28 Funktionale Tests: Simplelenium Klasse Configuration Tests werden über System Properties (-Dkey=value) konfiguriert, siehe Kasse Configuration: protocol (default = http host (default = focke.ergon.ch) port (default = 8080) context (default = ordermgmt) screenshots (default = true) onlyhighprioritytests (default = false) Screenshots werden im Order snapshots gespeichert.
29 Performance Messungen: JMeter
30 Performance Messungen: JMeter Die wichtigsten Klassen
31 Performance Messungen: JMeter UseCaseJavaSamplerClient UseCaseJavaSamplerClient erstellt ein JMeter SampleResult für die gesamte Laufzeit des Use Cases. Die Use Cases können untergeordnete Messpunkte hinzufügen. public class UseCaseJavaSamplerClient extends AbstractJavaSamplerClient implements Serializable public SampleResult runtest(javasamplercontext javasamplercontext) { initializefromjmeterdefaultparameters(javasamplercontext); return sample(createusecase()); } } protected SamplingRunnable createusecase() { return (SamplingRunnable) execute( () > Class.forName(getUseCaseClassName()).newInstance() ); }
32 Performance Messungen: JMeter SamplingRunnable Ein Use Case ist für UseCaseJavaSamplerClient eine Implementation von SamplingRunnable: public interface SamplingRunnable { } void run(optional<sampleresult> parentsampleresult);
33 Performance Messungen: JMeter JMeter Testplan UseCaseJavaSamplerClient: Parametrisierbar SystemExitSamplerClient: Anders lassen sich die PhantomJs-Prozesse nicht abschiessen...
34 Performance Messungen: JMeter JMeter Testplan: Konfiguration Testpläne werden über System Properties konfiguriert, siehe build.gradle: usecaseclassname (default = NoopUseCase) threads (default = 1) rampup (default = 1) loopcount (default = 1)
35 Projekt Setup: Gradle, Jenkins
36 Gradle-Setup Zentrale Tasks Gradle-Wrapper gradlew ist im Projekt enthalten IntelliJ-Projekt erzeugen: gradlew idea Alle Webtests laufen lassen: gradlew test -Dhost=focke.ergon.ch -Dport=8080 JMeter "headless" für einen Use Case laufen lassen: gradlew jmeterusecase -Dhost=focke.ergon.ch -Dport=8080 -DuseCaseClassName=ch.ergon.webtest.usecases.FactoryUseCase -Dthreads=1 -Drampup=1 -DloopCount=1
37 Gradle-Setup Task «jmeterusecase» Installiert lokal im build-verzeichnis JMeter. Erzeugt "fat jar" des Webtests-Projekts für <jmeter>/lib/ext. Output sind drei JMeter-XML mit Sample Results: Alle Samples mit Subsamples: Orginal-Daten Erfolgreiche Samples mit Subsamples: Totale Laufzeit ohne Verfälschung durch nicht-erfolgreiche Samples Erfolgreiche Subsamples der erfolgreichen Samples: Laufzeit der explizit definierten Messpunkte
38 Jenkins-Setup Zentrale Jobs JUnit-Tests: *.webtest Checkstyle, FindBugs: *.webtest-checkin-build-n-audit Performance Messungen via JMeter: *.webtest.perftest Ohne Suffix: Verwendung von Master Suffix -*-9.0 etc. für entsprechenden Release
39 Jenkins-Setup Performance Messungen: Grafiken Antwortzeiten aller Resultate: WizardIpTelefonUseCase-10-users-1-loops.xml
40 Jenkins-Setup Performance Messungen: Grafiken Fehlerquote aller Resultate: WizardIpTelefonUseCase-10-users-1-loops.xml
41 Jenkins-Setup Performance Messungen: Grafiken Antwortzeiten der erfolgreichen Resultate: WizardIpTelefonUseCase-10-users-1-loops.success.xml
42 Jenkins-Setup Performance Messungen: Grafiken Antwortzeiten der erfolgreichen Subsamples: WizardIpTelefonUseCase-10-users-1-loops.success.subsamples.xml
43
Web-Anwendungen mit Arquillian testen
Michael Kotten open knowledge @michaelkotten @_openknowledge Wozu denn testen? Ich mach doch keine Fehler! Wozu denn testen? > Notwendig bei komplexen Systemen > Sicherung von > Qualität > Funktionalität
MehrAuszug aus JAX-WS Folien
Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrEs wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.
Struts Code Peaces Element Es wird das Struts Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Allgemeines Autor: Sascha Wolski Sebastian Hennebrüder
MehrProgrammentwicklung ohne BlueJ
Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie
MehrKurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen
Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen QuickStart Guide to read a transponder with a scemtec TT reader and software UniDemo Voraussetzung: - PC mit der
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrPraktische Übung 'JUnit-Test'
Praktische Übung 'JUnit-Test' Starten Sie für die folgende Übung Eclipse und laden Sie das Testprojekt von folgender URL: http://pi.informatik.uni-siegen.de/berlik/swt/currency.zip Darin ist die Klasse
MehrEinführung in die Informatik Tools
Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht
MehrKurzanweisung für Google Analytics
Kurzanweisung für Google Analytics 1. Neues Profil für eine zu trackende Webseite erstellen Nach dem Anmelden klicken Sie rechts oben auf den Button Verwaltung : Daraufhin erscheint die Kontoliste. Klicken
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrEnglish. Deutsch. niwis consulting gmbh (https://www.niwis.com), manual NSEPEM Version 1.0
English Deutsch English After a configuration change in the windows registry, you have to restart the service. Requirements: Windows XP, Windows 7, SEP 12.1x With the default settings an event is triggered
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
Mehr8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung
8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung Im Folgenden wird die Konfiguration von BRRP gezeigt. Beide Router sind jeweils über Ihr Ethernet 1 Interface am LAN angeschlossen. Das Ethernet
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrÜbungen zu Softwaretechnik
Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte
MehrGEB UND GRAPHENE IM VERGLEICH. Stefan Hildebrandt
GEB UND GRAPHENE IM VERGLEICH Stefan Hildebrandt / @hildebrandttk FOLIEN ALS HTML-PRÄSENTATION 0 TESTEN VON WEBANWENDUNGEN Akzeptanztests Funktionale Tests Unit-Tests von Komponenten Last- / Kapazitätstests
MehrJava Einführung Collections
Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...
MehrAJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.
DRUPAL 7 AJAX FRAMEWORK Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks AJAX Beispiele Fragen: Gibt es jemanden der noch gar keine Erfahrungen
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrChristian Meder inovex. Sauberes Grün QS für Android
Konferenz Christian Meder inovex Sauberes Grün QS für Android Sauberes Grün: QS für Android W-JAX, 2011 Christian Meder inovex GmbH Chief Technology Officer 09.11.2011 1 Speaker Christian Meder Schwerpunkte
Mehr1.1. Apache 2.0.48 / Tomcat 4.1.27 via JK2 2.0.4 JNI ## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
by Peter Rossbach, Michael Kloss 1. Apache / Tomcat via JNI Peter Roßbach und Michael Kloss Um den Tomcat mit dem Apache zu kombinieren gibt es mehrere Möglichkeiten. Man kann dies über eine mod_proxy
MehrLösungsvorschläge. zu den Aufgaben im Kapitel 4
Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere
MehrFussball.de JavaScript
Fussball.de JavaScript - larsp_fussballde_js Fussball.de JavaScript Fussball.de JavaScript Extension Key: larsp_fussballde_js Language: de Keywords: Fussball.de Ergebnisse Tabelle Spielplan Bundesliga
MehrTesten von webbasierten Benutzeroberflächen
Studiengruppe: IB6C Email: qasmi@hm.edu Dozent: Michael Theis 1 Agenda: Das eine basierte Testumgebung 2 Wer kennt diese Situationen nicht? =>Typische Fehler bei Webanwendungen! 3 Fehler wie diese sollten
MehrXMLBeam. Einfach XML-Handling. W3L AG solutions@w3l.de
1 XMLBeam Einfach XML-Handling W3L AG solutions@w3l.de 2015 2 Inhaltsverzeichnis Was ist XMLBeam XML lesen XML schreiben Weitere Features zurück 3 Was ist XMLBeam Java Library ohne Abhängigkeiten Vereinfacht
MehrSchedulingund Thread-Ausführer
Schedulingund Thread-Ausführer Scheduling Ein Scheduler arbeitet Programmstücke nach einer festen Zeitspanne oder zu einer fixen Zeitpunkt wiederholt oder einmal ab. Notwendigkeiten für Scheduling sind
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
Mehram Beispiel von JUnit
Aufbau eines Testwerkzeugs am Beispiel von JUnit Üblicher Ansatz für Tests und Fehlersuche: Print-Befehle, Debugger-Ausdrücke, Test-Skripte möglichst über globale Variable debug steuerbar Command Pattern
MehrSichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben
Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den
Mehr188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
MehrSupport-Tipp Mai 2010 - Release Management in Altium Designer
Support-Tipp Mai 2010 - Release Management in Altium Designer Mai 2010 Frage: Welche Aufgaben hat das Release Management und wie unterstützt Altium Designer diesen Prozess? Zusammenfassung: Das Glück eines
MehrModerne Web- Anwendungen mit
Moderne Web- Anwendungen mit Oliver.Damm@akquinet.de September 2013 Web- Anwendungen mit Vaadin???
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrSynchronisation in Java. Invisible Web
Synchronisation in Java Studienprojekt Invisible Web Tang Zhihong Synchronisation in Java Synchronisationsproblem Monitore Wait und notify PipedInputStream und PipedOutputStream Synchronisation von Collections
MehrApplet Firewall und Freigabe der Objekte
Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable
MehrWhiteStarUML Tutorial
WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/
MehrWebService in Java SE und EE
Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.
MehrSemTalk Services. SemTalk UserMeeting 29.10.2010
SemTalk Services SemTalk UserMeeting 29.10.2010 Problemstellung Immer mehr Anwender nutzen SemTalk in Verbindung mit SharePoint Mehr Visio Dokumente Viele Dokumente mit jeweils wenigen Seiten, aber starker
MehrUSB Treiber updaten unter Windows 7/Vista
USB Treiber updaten unter Windows 7/Vista Hinweis: Für den Downloader ist momentan keine 64 Bit Version erhältlich. Der Downloader ist nur kompatibel mit 32 Bit Versionen von Windows 7/Vista. Für den Einsatz
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrDatenaustausch@IC RL
Datenaustausch@IC RL SAP cfolders Erste Schritte Erstes Login: Ihre Initial-Zugangsdaten zu SAP cfolders finden Sie im ProjektPortal nach Klick auf den Reiter Projekt SAP cfolders, im Channel SAP cfolders
MehrÜbungen zur Android Entwicklung
Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen
MehrSpock und Geb: Übersichtlich und nachvollziehbar Testen für alle!
Spock und Geb: Übersichtlich und nachvollziehbar Testen für alle! Entwicklertag Karlsruhe, 20.05.2015 Ralf D. Müller, Freelancer Tobias Kraft, exensio GmbH Meine Software wird durch automatisierte Tests
MehrKomponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009
Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger
MehrDokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache)
Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache) vom 8. August 2005 Seite 1 / 7 1.System-Voraussetzungen Um dieses System zu verwenden, muß Oracles HTTP-Server mit dem
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrKURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich?
KURZANLEITUNG Firmware-Upgrade: Wie geht das eigentlich? Die Firmware ist eine Software, die auf der IP-Kamera installiert ist und alle Funktionen des Gerätes steuert. Nach dem Firmware-Update stehen Ihnen
MehrÜbung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse
Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12
MehrKlassendefinitionen verstehen
Klassendefinitionen verstehen Java-Programme bestehen aus Klassendefinitionen und sonst nichts! 1 1.0 Konzepte Felder Konstruktoren Methoden Parameter Zuweisungen ( = ) Anweisungen bedingte Anweisungen
Mehrphp Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.
MehrLokale Installation von DotNetNuke 4 ohne IIS
Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation
MehrTesten von graphischen Benutzeroberflächen. 24. Juni 2015
Testen von graphischen Benutzeroberflächen 24. Juni 2015 Überblick Motivation für das automatische Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien für GUIs Capture / Replay Testmethode
Mehrversus Christian Grobmeier http://www.grobmeier.de @grobmeier
versus Christian Grobmeier http://www.grobmeier.de @grobmeier Programmiersprache von Google Kann JS ersetzen Läuft in einer VM Für ernsthafte Anwendungen Jung und rockt Heavy Metal Band aus England Ersetzt
MehrÜberleben im Funkloch
Überleben im Funkloch Offlinefähige Apps für Android entwickeln Christian Janz (@c_janz ) christian.janz@bridging-it.de Christian Janz Consultant im Bereich Softwareentwicklung Java/JEE bei Bridging IT
MehrDie Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:
Installation des GeoShop Redirector für IIS (Stand 24.8.2007) ============================================================= 0 Überblick ----------- Die Installation des GeoShop Redirector für IIS (Internet
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrMailUtilities: Remote Deployment - Einführung
MailUtilities: Remote Deployment - Einführung Zielsetzung Die Aufgabe von Remote Deployment adressiert zwei Szenarien: 1. Konfiguration der MailUtilities von einer Workstation aus, damit man das Control
MehrSwitch 1 intern verbunden mit onboard NICs, Switch 2 mit Erweiterungs-NICs der Server 1..6
Zuordnung LAN-Verbindungen zu Server Ports und Ports Bei der Netzwerk-Einrichtung der Server im Modular System ist die Frage zu beantworten, welche LAN-Verbindung (gemäß Betriebssystembezeichnung) mit
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrONET: FT-NIR-Netzwerke mit zentraler Administration & Datenspeicherung. ONET Server
: FT-NIR-Netzwerke mit zentraler Administration & Datenspeicherung Motivation für die Vernetzung von Spektrometern Weiterhin wachsender Bedarf für schnelle Analysenmethoden wie NIR Mehr Kalibrationen werden
Mehrhttps://portal.microsoftonline.com
Sie haben nun Office über Office365 bezogen. Ihr Account wird in Kürze in dem Office365 Portal angelegt. Anschließend können Sie, wie unten beschrieben, die Software beziehen. Congratulations, you have
MehrÜbung 8: Semaphore in Java (eigene Implementierung)
Übung 8: Semaphore in Java (eigene Implementierung) Ziel der Übung: Diese Übung dient dazu, eine eigene Implementierung einer Semaphore-Klasse in der Programmiersprache Java kennenzulernen. Anschließend
Mehr10.3.1.10 Übung - Konfigurieren einer Windows-XP-Firewall
5.0 10.3.1.10 Übung - Konfigurieren einer Windows-XP-Firewall Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie erfahren, wie man die Windows XP-Firewall konfiguriert und
MehrOnline-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd
Online-Prüfungs-ABC ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd Telefon Support: 0 62 23 / 86 55 55 Telefon Vertrieb: 0 62 23 / 86 55 00 Fax: 0 62 23 / 80 55 45 (c) 2003 ABC Vertriebsberatung
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrSoftware-Engineering und Optimierungsanwendungen in der Thermodynamik
Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung
MehrKapitel 9. Inner Classes. 9.1 Wiederholung: Iteratoren. Ausführen einer Operation auf allen Elementen einer Containerklasse
Kapitel 9 Inner Classes 9.1 Wiederholung: Iteratoren Ausführen einer Operation auf allen Elementen einer Containerklasse (zb Liste, Baum,...) vgl. map/f old in der funktionalen Programmierung. Aber: higher-order
MehrEinrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications
Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications Windows 8 Systemsteuerung > Programme > Windows Features aktivieren / deaktivieren > Im Verzeichnisbaum
MehrApache JMeter. Arbeit von Bundi Beat, 6Ie. Fachhochschule Aargau Departement Technik Studiengang Informatik Betreuender Dozent: D. Gruntz, C.
Apache JMeter Arbeit von Bundi Beat, 6Ie Fachhochschule Aargau Departement Technik Studiengang Informatik Betreuender Dozent: D. Gruntz, C.Nicola Windisch, 3. Juli 2003 Inhaltsverzeichnis 1. Was ist JMeter?...3
MehrFlash, Network und Facebook. Steven Mohr steven@stevenmohr.de
Flash, Network und Facebook Steven Mohr steven@stevenmohr.de Gliederung 1. Wie ist eine Facebook-App aufgebaut 2. Basics 3. Erste Demo einer kleinen Flash-Facebook-App 4. Friends, Achievements und Invites
MehrMusterlösungen zur Klausur Informatik 3
Musterlösungen zur Klausur Informatik 3 Justus-Liebig-Universität Gießen Wintersemester 2003/2004 Aufgabe 1 (6 Punkte) Man kreuze bei den folgenden Deklarationen und Definitionen jeweils an, ob sie aus
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrNeue Funktionen im GUI für PC-DMIS V3.x 4.x Seite 1 von 8
Neue Funktionen im GUI für PC-DMIS V3.x 4.x Seite 1 von 8 Neue Funktionen im GUI ab V 2.x für PC-DMIS Wie funktioniert GUI für PC-DMIS? GUI heißt Grafical User Interface. Das bedeutet grafische Benutzer
MehrApple Train the Trainer 10 App Store Submission. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/
Apple Train the Trainer 10 App Store Submission Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Übersicht Allgemeines Provisioning Profiles Application Binary vorbereiten
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrSwitching. Übung 7 Spanning Tree. 7.1 Szenario
Übung 7 Spanning Tree 7.1 Szenario In der folgenden Übung konfigurieren Sie Spanning Tree. An jeweils einem Switch schließen Sie Ihre Rechner über Port 24 an. Beide Switche sind direkt über 2 Patchkabel
MehrUm DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:
1. Konfiguration von DynDNS 1.1 Einleitung Im Folgenden wird die Konfiguration von DynDNS beschrieben. Sie erstellen einen Eintrag für den DynDNS Provider no-ip und konfigurieren Ihren DynDNS Namen bintec.no-ip.com.
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrDennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring
Dennis Schulte / Tobias Flohre Enterprise Java Batch mit Spring Dennis Schulte Düsseldorf @denschu www.github.com/denschu blog.codecentric.de/author/dsc tel +49 (0) 1515 _ 288 2395 dennis.schulte@codecentric.de
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrNathan Burgener. Design by Contract. Modul SWE
NathanBurgener DesignbyContract ModulSWE NathanBurgener Inhaltsverzeichnis 1 WasistDesignbyContract...3 1.1 Überblick...3 1.2 DesignbyContractmitMethoden...4 1.3 DesignbyContractmitKlassen...5 1.4 Vererbung...6
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
Mehrwww.horoskop-server.de Programmers Manual Geodaten Ver. 2.0
www.horoskop-server.de Programmers Manual Geodaten Ver. 2.0 Inhaltsverzeichnis Intro...3 Quick Start...3 Request...4 Parameter...4 Response...5 XML Format...5 Header...5 Liste der Orte...6 Stand: 28.12.2005
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Freitag Inhaltsübersicht Exceptions und Errors Ausnahmebehandlung: try/catch/finally Threads Zugriffskontrolle bei gemeinsamen Variablen: synchronized, wait(), notify()
MehrIntegration von KS-Hostmonitor in itop
Integration von KS-Hostmonitor in itop Itop ist ein Konfigurationsmanagement und Ticketsystem von combodo (www.combodo.com) KS Advanced Hostmonitor ist ein Netzwerkmonitoring Tool von KS-Soft (www.ks-soft.net)
MehrNach Ihrer erstmaligen Anmeldung sollten Sie Ihr Passwort ändern. Dazu klicken Sie bitte auf Ihren Namen.
1 Passwort ändern Nach Ihrer erstmaligen Anmeldung sollten Sie Ihr Passwort ändern Dazu klicken Sie bitte auf Ihren Namen Abb 1-1 Erstmaliger Anmeldung Danach erscheint ein PopUp indem Sie Ihr Passwort
MehrClientkonfiguration für Hosted Exchange 2010
Clientkonfiguration für Hosted Exchange 2010 Vertraulichkeitsklausel Das vorliegende Dokument beinhaltet vertrauliche Informationen und darf nicht an Dritte weitergegeben werden. Kontakt: EveryWare AG
MehrProbeklausur Softwareengineering SS 15
Probeklausur Softwareengineering SS 15 Hinweis: Die Bearbeitungsdauer entspricht dem Punktewert. Aufgabe 1 (10 min) Beschreiben Sie das Vorgehensmodell Test-Driven-Development (TDD) a) Erläutern Sie das
MehrKonfigurationsbeispiel
Redundante VPN-Verbindung In diesem Beispiel wird ein redundantes VPN zwischen einer Zywall 35 und Zywall 70 konfiguriert. Diese Konfiguration ist nur mittels Hostnamen möglich. Falls Sie fixe oder selten
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrA-CERT CERTIFICATION SERVICE
A-CERT ADVANCED pdf-signaturprüfung einrichten 2011 A-CERT ADVANCED p pdf-signaturprüfung g p g einrichten und e-billing Stammzertifikat installieren Support - Kurzinformation optimiert für Adobe Reader
MehrWhitepaper. Produkt: List & Label 16. List & Label 16 unter Linux/Wine. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: List & Label 16 List & Label 16 unter Linux/Wine List & Label 16 unter Linux/Wine - 2 - Inhalt Allgemeines 3 Voraussetzungen 3 Schritt-für-Schritt
MehrArrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Arrays: Wiederholung Ein Array ist ein Tupel von Elementen gleichen
MehrMSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003
Page 1 of 11 Konfiguration NNTP unter Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 14.03.2005 Das Network News Transfer Protocol (NNTP) wird durch die Request for Comments
MehrBeispiel: DB-Mock (1/7)
Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau
Mehr