How to Write a plugin for JMeter
|
|
|
- Owen Gray
- 9 years ago
- Views:
Transcription
1 How to Write a plugin for JMeter Authors Mike Stover, Peter Lin Revision 1.1 November 2005 Copyright Apache
2 Table of Contents Basic structure of JMeter...3 Writing a Visualizer... 5 GraphListener...8 ItemListener...8 Writing Custom Graphs... 8 Making a TestBean Plugin For Jmeter...10 Building JMeter...14
3 How to write a plugin for JMeter Introduction from Peter Lin On more than one occasion, users have complained JMeter's developer documentation is out of date and not very useful. In an effort to make it easier for developers, I decided to write a simple step-by-step tutorial. When I mentioned this to mike, he had some ideas about what the tutorial should cover. Before we dive into the tutorial, I'd like to say writing a plugin isn't necessarily easy, even for someone with several years of java experience. The first extension I wrote for JMeter was a simple utility to parse HTTP access logs and produce requests in XML format. It wasn't really a plugin, since it was a stand alone command line utility. My first real plugin for JMeter was the webservice sampler. I was working on a.net project and needed to stress test a webservice. Most of the commercial tools out there for testing.net webservices suck and cost too much. Rather than fork over several hundred dollars for a lame testing tool, or a couple thousand dollars for a good one, I decided it was easier and cheaper to write a plugin for JMeter. After a two weeks of coding on my free time, I had a working prototype using Apache Soap driver. I submitted it back to JMeter and mike asked me if I want to be a committer. I had contributed patches to Jakarta JSTL and tomcat in the past, so I considered it an honor. Since then, I've written the access log sampler, Tomcat 5 monitor and distribution graph. Mike has since then improved the access log sampler tremendously and made it much more useful. Introduction from Mike Stover One of my primary goals in designing JMeter was to make it easy to write plugins to enhance as many of JMeter's features as possible. Part of the benefit of being open-source is that a lot of people could potentially lend their efforts to improve the application. I made a conscious decision to sacrifice some simplicity in the code to make plugin writing a way of life for a JMeter developer. While some folks have successfully dug straight into the code and made improvements to JMeter, a real tutorial on how to do this has been lacking. I tried a long time ago to write some documentation about it, but most people did not find it useful. Hopefully, with Peter's help, this attempt will be more successful.
4 Basic structure of JMeter JMeter is organized by protocols and functionality. This is done so that developers can build new jars for a single protocol without having to build the entire application. We'll go into the details of building JMeter later in the tutorial. Since most of the jmeter developers use eclipse, the article will use eclipse directory as a reference point. Root directory - /eclipse/workspace/jakarta-jmeter/
5 jakarta-jmeter bin contains the.bat and.sh files for starting Jmeter. It also contains ApacheJMeter.jar and properties file docs directory contains the JMeter documentation files extras ant related extra files lib contains the required jar files for Jmeter lib/ext contains the core jar files for jmeter and the protocols src contains subdirectory for each protocol and component test unit test related directory xdocs Xml files for documentation. JMeter generates documentation from Xml. As the tutorial progresses, an explanation of the subdirectories will be provided. For now, lets focus on src directory. From the screen capture, we see the following directories. Src components contains non-protocol-specific components like visualizers, assertions, etc.. core the core code of JMeter including all core interfaces and abstract classes. examples example sampler demonstrating how to use the new bean framework functions standard functions used by all components htmlparser a snapshot of HtmlParser, donated by HtmlParser project on sourceforge jorphan utility classes providing common utility functions monitor tomcat 5 monitor components protocol contains the different protocols JMeter supports Within protocol directory, are the protocol specific components. Protocol ftp components for load testing ftp servers http components for load testing web servers java components for load testing java components jdbc components for load testing database servers using jdbc jndi components for load testing jndi ldap components for load testing LDAP servers mail components for load testing mail servers tcp components for load testing TCP services As a general rule, all samplers related to HTTP will reside in http directory. The exception to the rule is the Tomcat5 monitor. It is separate, because the functionality of the monitor is slightly different than stress or functional testing. It may eventually be reorganized, but for now it is in its own directory. In terms of difficulty, writing visualizers is probably one of the harder plugins to write. Jmeter Gui TestElement Contract When writing any Jmeter component, there are certain contracts you must be aware of ways a Jmeter component is expected to behave if it will run properly in the Jmeter environment. This section describes the contract that the GUI part of your component must fulfill. GUI code in Jmeter is strictly separated from Test Element code. Therefore, when you write a component, there will be a class for the Test Element, and another for the GUI presentation. The GUI presentation class is stateless in the sense that it should never hang onto a reference to the Test Element (there are exceptions to this though).
6 A gui element should extend the appropriate abstract class provided: AbstractSamplerGui AbstractAssertionGui AbstractConfigGui AbstractControllerGui AbstractPostProcessorGui AbstractPreProcessorGui AbstractVisualizer AbstractTimerGui These abstract classes provide so much plumbing work for you that not extending them, and instead implementing the interfaces directly is hardly an option. If you have some burning need to not extend these classes, then you can join me in IRC where I can convince you otherwise :-). So, you've extended the appropriate gui class, what's left to do? Follow these steps: 1. Implement getresourcelabel() 1. This method should return the name of the resource that represents the title/name of the component. The resource will have to be entered into Jmeters messages.properties file (and possibly translations as well). 2. Create your gui. Whatever style you like, layout your gui. Your class ultimately extends Jpanel, so your layout must be in your class's own ContentPane. Do not hook up gui elements to your TestElement class via actions and events. Let swing's internal model hang onto all the data as much as you possibly can. 1. Some standard gui stuff should be added to all Jmeter gui components: 1. call setborder(makeborder()) for your class. This will give it the standard Jmeter border 2. add the title pane via maketitlepanel(). Usually this is the first thing added to your gui, and should be done in a Box vertical layout scheme, or with Jmeter's VerticalLayout class. Here is an example init() method: private void init() setlayout(new BorderLayout()); setborder(makeborder()); Box box = Box.createVerticalBox(); box.add(maketitlepanel()); box.add(makesourcepanel()); add(box,borderlayout.north); add(makeparameterpanel(),borderlayout.center); 3. Implement public void configure(testelement el) 1. Be sure to call super.configure(e). This will populate some of the data for you, like the name of the element. 2. Use this method to set data into your gui elements. Example: public void configure(testelement el) super.configure(el); useheaders.setselected(el.getpropertyasboolean (RegexExtractor.USEHEADERS)); usebody.setselected(!el.getpropertyasboolean (RegexExtractor.USEHEADERS)); regexfield.settext(el.getpropertyasstring (RegexExtractor.REGEX)); templatefield.settext(el.getpropertyasstring
7 (RegexExtractor.TEMPLATE)); defaultfield.settext(el.getpropertyasstring (RegexExtractor.DEFAULT)); matchnumberfield.settext(el.getpropertyasstring (RegexExtractor.MATCH_NUM)); refnamefield.settext(el.getpropertyasstring (RegexExtractor.REFNAME)); 4. implement public void modifytestelement(testelement e). This is where you move the data from your gui elements to the TestElement. It is the logical reverse of the previous method. 1. Call super.configuretestelement(e). This will take care of some default data for you. 2. Example: public void modifytestelement(testelement e) super.configuretestelement(e); e.setproperty(new BooleanProperty (RegexExtractor.USEHEADERS,useHeaders.isSelected())); e.setproperty (RegexExtractor.MATCH_NUMBER,matchNumberField.getText ()); if(e instanceof RegexExtractor) RegexExtractor regex = (RegexExtractor)e; regex.setrefname(refnamefield.gettext()); regex.setregex(regexfield.gettext()); regex.settemplate(templatefield.gettext()); regex.setdefaultvalue(defaultfield.gettext()); 5. implement public TestElement createtestelement(). This method should create a new instance of your TestElement class, and then pass it to the modifytestelement (TestElement) method you made above. public TestElement createtestelement() RegexExtractor extractor = new RegexExtractor(); modifytestelement(extractor); return extractor; The reason you cannot hold onto a reference for your Test Element is because Jmeter reuses instance of gui class objects for multiple Test Elements. This saves a lot of memory. It also makes it incredibly easy to write the gui part of your new component. You still have to struggle with the layout in Swing, but you don't have to worry about creating the right events and actions for getting the data from the gui elements into the TestElement where it can do some good. Jmeter knows when to call your configure, and modifytestelement methods where you can do it in a very straightforward way. Writing Visualizers is somewhat of a special case, however. Writing a Visualizer Of the component types, visualizers require greater depth in Swing than something like
8 controllers, functions or samplers. You can find the full source for the distribution graph in components/org/apache/jmeter/visualizers/. The distribution graph visualizer is divided into two classes. DistributionGraphVisualizer visualizer which Jmeter instantiates DistributionGraph Jcomponent which draws the actual graph The easiest way to write a visualizer is to do the following: 1. extend org.apache.jmeter.visualizers.gui.abstractvisualizer 2. implement any additional interfaces need for call back and event notification. For example, the DistributionGraphVisualizer implements the following interfaces: 1. ImageVisualizer 2. ItemListener according to the comments in the class, ItemListener is out of date and isn't used anymore. 3. GraphListener 4. Clearable AbstractVisualizer provides some common functionality, which most visualizers like graph results use. The common functionality provided by the abstract class includes: configure test elements This means it create a new ResultCollector, sets the file and sets the error log create the stock menu update the test element when changes are made create a file panel for the log file create the title panel In some cases, you may not want to display the menu for the file textbox. In that case, you can override the init() method. Here is the implementation for DistributionGraphVisualizer. 1 /** 2 * Initialize the GUI. 3 */ 4 private void init() 5 6 this.setlayout(new BorderLayout()); 7 8 // MAIN PANEL 9 Border margin = new EmptyBorder(10, 10, 5, 10); this.setborder(margin); // Set up the graph with header, footer, Y axis and graph display 14 JPanel graphpanel = new JPanel(new BorderLayout()); 15 graphpanel.add(creategraphpanel(), BorderLayout.CENTER); 16 graphpanel.add(creategraphinfopanel(), BorderLayout.SOUTH); // Add the main panel and the graph 19 this.add(maketitlepanel(), BorderLayout.NORTH); 20 this.add(graphpanel, BorderLayout.CENTER); 21 The first thing the init method does is create a new BorderLayout. Depending on how you want to layout the widgets, you may want to use a different layout manager. Keep mind using different layout managers is for experts. The second thing the init method does is create a border. If you want to increase or decrease the
9 border, change the four integer values. Each integer value represents pixels. If you want your visualizer to have no border, skip lines 9 and 11. Line 15 calls creategraphpanel, which is responsible for configuring and adding the DistributionGraph to the visualizer. 1 private Component creategraphpanel() 2 3 graphpanel = new JPanel(); 4 graphpanel.setborder(borderfactory.createbevelborder( 5 BevelBorder.LOWERED,Color.lightGray,Color.darkGray)); 6 graphpanel.add(graph); 7 graphpanel.setbackground(color.white); 8 return graphpanel; 9 At line 6, the graph component is added to the graph panel. The constructor is where a new instance of DistributionGraph is created. public DistributionGraphVisualizer() model = new SamplingStatCalculator("Distribution"); graph = new DistributionGraph(model); graph.setbackground(color.white); init(); The constructor of DistributionGraphVisualizer is responsible for creating the model and the graph. Every time a new result is complete, the engine passes the result to all the listeners by calling add(sampleresult res). The visualizer passes the new SampleResult to the model. 1 public synchronized void add(sampleresult res) 2 3 model.addsample(res); 4 updategui(model.getcurrentsample()); 5 In the case of the DistributionGraphVisualizer, the add method doesn't acutally update the graph. Instead, it calls updategui in line four. public synchronized void updategui(sample s) // We have received one more sample if (delay == counter) updategui(); counter = 0; else counter++; Unlike GraphVisualizer, the distribution graph attempts to show how the results clump; therefore the DistributionGraphVisualizer delays the update. The default delay is 10 sampleresults. 1 public synchronized void updategui() 2 3 if (graph.getwidth() < 10) 4 graph.setpreferredsize(new Dimension(getWidth() - 40, getheight() - 160)); 5 6 graphpanel.updateui();
10 7 graph.repaint(); 8 Lines 3 to 4 are suppose to resize the graph, if the user resizes the window or drags the divider. Line 6 updates the panel containing the graph. Line 7 triggers the update of the DistributionGraph. Before we cover writing graphcs, there are couple of important methods visualizer must implement. public String getlabelresource() return "distribution_graph_title"; The label resource retrieves the name of the visualizer from the properties file. The file is located in core/org/apache/jmeter/resources. It's best not to hardcode the name of the visualizer. Message.properties file is organized alphabetically, so adding a new entry is easy. public synchronized void clear() this.graph.clear(); model.clear(); repaint(); Every component in Jmeter should implement logic for clear() method. If this isn't done, the component will not clear the UI or model when the user tries to clear the last results and run a new test. If clear is not implemented, it can result in a memory leak. public JComponent getprintablecomponent() return this.graphpanel; The last method visualizers should implement is getprintablecomponent(). The method is responsible for returning the Jcomponent that can be saved or printed. This feature was recently added so that users can save a screen capture of any given visualizer. GraphListener Visualizers should implement GraphListener. This is done to make it simpler to add new Sample instances to listeners. As a general rule, if the a custom graph does not plot every single sample, it does not need to implement the interface. public interface GraphListener public void updategui(sample s); public void updategui(); The important method in the interface is updategui(sample s). From DistributionGraphVisualizer, we see it calls graph.repaint() to refresh the graph. In most cases, the implementation of updategui(sample s) should do just that. ItemListener
11 Visualizers generally do not need to implement this interface. The interface is used with combo boxes, checkbox and lists. If your visualizer uses one of these and needs to know when it has been updated, the visualizer will need to implement the interface. For an example of how to implement the interface, please look at GraphVisualizer. Writing Custom Graphs For those new to Swing and haven't written custom Jcomponents yet, I would suggest getting a book on Swing and get a good feel for how Swing widgets work. This tutorial will not attempt to explain basic Swing concepts and assumes the reader is already familiar with the Swing API and MVC (Model View Controller) design pattern. From the constructor of DistributionGraphVisualizer, we see a new instance of DistributionGraph is created with an instance of the model. public DistributionGraph(SamplingStatCalculator model) this(); setmodel(model); The implementation of setmodel method is straight forward. private void setmodel(object model) this.model = (SamplingStatCalculator) model; repaint(); Notice the method calls repaint after it sets the model. If repaint isn't called, it can cause the GUI to not draw the graph. Once the test starts, the graph would redraw, so calling repaint isn't critical. public void paintcomponent(graphics g) super.paintcomponent(g); final SamplingStatCalculator m = this.model; synchronized (m) drawsample(m, g); The other important aspect of updating the widget is placing the call to drawsample within a synchronized block. If drawsample wasn't synchronized, Jmeter would throw a ConcurrentModificationException at runtime. Depending on the test plan, there may be a dozen or more threads adding results to the model. The synchronized block does not affect the accuracy of each individual request and time measurement, but it does affect Jmeter's ability to generate large loads. As the number of threads in a test plan increases, the likelihood a thread will have to wait until the graph is done redrawing before starting a new request increases. Here is the implementation of drawsample. private void drawsample(samplingstatcalculator model, Graphics g) width = getwidth(); double height = (double)getheight() - 1.0; // first lets draw the grid
12 for (int y=0; y < 4; y++) int q1 = (int)(height - (height * 0.25 * y)); g.setcolor(color.lightgray); g.drawline(xborder,q1,width,q1); g.setcolor(color.black); g.drawstring(string.valueof((25 * y) + "%"),0,q1); g.setcolor(color.black); // draw the X axis g.drawline(xborder,(int)height,width,(int)height); // draw the Y axis g.drawline(xborder,0,xborder,(int)height); // the test plan has to have more than 200 samples // for it to generate half way decent distribution // graph. the larger the sample, the better the // results. if (model!= null && model.getcount() > 50) // now draw the bar chart Number ninety = model.getpercentpoint(0.90); Number fifty = model.getpercentpoint(0.50); total = model.getcount(); Collection values = model.getdistribution().values(); Object[] objval = new Object[values.size()]; objval = values.toarray(objval); // we sort the objects Arrays.sort(objval,new NumberComparator()); int len = objval.length; for (int count=0; count < len; count++) // calculate the height Number[] num = (Number[])objval[count]; double iper = (double)num[1].intvalue()/(double)total; double iheight = height * iper; // if the height is less than one, we set it // to one pixel if (iheight < 1) iheight = 1.0; int ix = (count * 4) + xborder + 5; int dheight = (int)(height - iheight); g.setcolor(color.blue); g.drawline(ix -1,(int)height,ix -1,dheight); g.drawline(ix,(int)height,ix,dheight); g.setcolor(color.black); // draw a red line for 90% point if (num[0].longvalue() == ninety.longvalue()) g.setcolor(color.red); g.drawline(ix,(int)height,ix,55); g.drawline(ix,(int)35,ix,0); g.drawstring("90%",ix - 30,20); g.drawstring(string.valueof(num[0].longvalue()),ix + 8, 20); // draw an orange line for 50% point if (num[0].longvalue() == fifty.longvalue()) g.setcolor(color.orange); g.drawline(ix,(int)height,ix,30); g.drawstring("50%",ix - 30,50); g.drawstring(string.valueof(num[0].longvalue()),ix + 8, 50);
13 In general, the rendering of the graph should be fairly quick and shouldn't be a bottleneck. As a general rule, it is a good idea to profile custom plugins. The only way to make sure a visualizer isn't a bottleneck is to run it with a tool like Borland OptimizeIt. A good way to test a plugin is to create a simple test plan and run it. The heap and garbage collection behavior should be regular and predictable. Making a TestBean Plugin For Jmeter In this part, we will go through the process of creating a simple component for Jmeter that uses the new TestBean framework. This component will be a CSV file reading element that will let users easily vary their input data using csv files. To most effectively use this tutorial, open the three files specified below (found in Jmeter's src/components directory). 1. Pick a package and make three files: [ComponentName].java (org.apache.jmeter.config.csvdataset.java) [ComponentName]BeanInfo.java (org.apache.jmeter.config.csvdatasetbeaninfo.java) [ComponentName]Resources.properties (org.apache.jmeter.config.csvdatasetresources.properties) 2) CSVDataSet.java must implement the TestBean interface. In addition, it will extend ConfigTestElement, and implement LoopIterationListener. TestBean is a marker interface, so there are no methods to implement. Extending ConfigTestElement will make our component a Config element in a test plan. By extending different abstract classes, you can control the type of element your component will be (ie AbstractSampler, AbstractVisualizer, GenericController, etc - though you can also make different types of elements just by instantiating the right interfaces, the abstract classes can make your life easier). 3) CSVDataSetBeanInfo.java should extend org.apache.jmeter.testbeans.beaninfosupport create a zero-parameter constructor in which we call super(csvdataset.class); we'll come back to this. 4) CSVDataSetResources.properties - blank for now 5) Implement your special logic for you plugin class. a) The CSVDataSet will read a single CSV file and will store the values it finds into JMeter's running context. The user will define the file, define the variable names for each "column". The CSVDataSet will open the file when the test starts, and close it when the test ends (thus we implement TestListener). The CSVDataSet will update the contents of the variables for every test thread, and for each iteration through its parent controller, by reading new lines in the file. When we reach the end of the file, we'll start again at the beginning. When implementing a TestBean, pay careful attention to your properties. These properties will become the basis of a gui form by which users will configure the CSVDataSet element.
14 b) Your element will be cloned by JMeter when the test starts. Each thread will get it's own instance. However, you will have a chance to control how the cloning is done, if you need it. c) Properties: filename, variablenames. With public getters and setters. filename is self-explanatory, it will hold the name of the CSV file we'll read variablenames is a String which will allow a user to enter the names of the variables we'll assign values to. Why a String? Why not a Collection? Surely users will need to enter multiple (and unknown number)variable names? True, but if we used a List or Collection, we'd have to write a gui component to handle collections, and I just want to do this quickly. Instead, we'll let users input comma-delimited list of variable names. d) I then implemented the IterationStart method of the LoopIterationListener interface. The point of this "event" is that your component is notified of when the test has entered it's parent controller. For our purposes, every time the CSVDataSet's parent controller is entered, we will read a new line of the data file and set the variables. Thus, for a regular controller, each loop through the test will result in a new set of values being read. For a loop controller, each iteration will do likewise. Every test thread will get different values as well. 6) Setting up your gui elements in CSVDataSetBeanInfo: You can create groupings for your component's properties. Each grouping you create needs a label and a list of property names to include in that grouping. Ie: a) createpropertygroup("csv_data",new String[]"filename","variableNames"); Creates a grouping called "csv_data" that will include gui input elements for the "filename" and "variablenames" properties of CSVDataSet. Then, we need to define what kind of properties we want these to be: p = property("filename"); p.setvalue(not_undefined, Boolean.TRUE); p.setvalue(default, ""); p.setvalue(not_expression,boolean.true); p = property("variablenames"); p.setvalue(not_undefined, Boolean.TRUE); p.setvalue(default, ""); p.setvalue(not_expression,boolean.true); This essentially creates two properties whose value is not allowed to be null, and whose default values are "". There are several such attributes that can be set for each property. Here is a rundown: NOT_UNDEFINED : The property will not be left null. DEFAULT : A default values must be given if NOT_UNDEFINED is true. NOT_EXPRESSION : The value will not be parsed for functions if this is true.
15 NOT_OTHER TAGS : This is not a free form entry field a list of values has to be provided. : With a String[] as the value, this sets up a predefined list of acceptable values, and JMeter will create a dropdown select. Additionally, a custom property editor can be specified for a property: p.setpropertyeditorclass(fileeditor.class); This will create a text input plus browse button that opens a dialog for finding a file. Usually, complex property settings are not needed, as now. For a more complex example, look at org.apache.jmeter.protocol.http.sampler.accesslogsamplerbeaninfo 7) Defining your resource strings. In CSVDataSetResources.properties we have to define all our string resources. To provide translations, one would create additional files such as CSVDataSetResources_ja.properties, and CSVDataSetResources_de.properties. For our component, we must define the following resources: displayname - This will provide a name for the element that will appear in menus. csv_data.displayname - we create a property grouping called "csv_data", so we have to provide a label for the grouping filename.displayname - a label for the filename input element. filename.shortdescription - a tool-tip-like help text blurb. variablenames.displayname - a label for the variable name input element. variablenames.shortdescription - tool tip for the variablenames input element. 8) Debug your component. Building JMeter Like other Jakarta projects, Jmeter uses ANT to compile and build the distribution. Jmeter has several tasks defined, which make it easier for developers. For those unfamiliar with ANT, it's a build tool similar to make on Unix. A list of the ANT tasks with a short description is provided below. all builds all components and protocols compile compiles all the directories and components compile-core compiles the core directory and all dependencies compile-components compiles the components directory and all dependencies compile-ftp compiles the samples in ftp directory and all dependencies compile-functions compiles the functions and all dependencies compile-htmlparser compiles htmlparser and all dependencies compile-http compiles the samplers in http directory and all dependencies compile-java compiles the samplers in java directory and all dependencies compile-jdbc compiles the samplers in jdbc directory and all dependencies compile-jorphan compiles the jorphan utility classes compile-ldap compiles the samplers in ldap directory and all dependencies compile-monitor compiles the sampler in monitor directory and all dependencies compile-rmi compiles the samplers in rmi directory and all dependencies compile-tests compiles the tests and all dependencies docs-api creates the javadocs
16 docs-all generates all docs. package compiles everythng and creates jar files of the compiled protocols package-only creates jar files of the compiled components Here are some example commands. ant compile-http ant package ant docs-all Command description Compiles just http components Creates the jar files Generates the html documentation and javadocs
Summer Internship 2013
Summer Internship 2013 Group IV - Enhancement of Jmeter Week 4 Report 1 9 th June 2013 Shekhar Saurav Report on Configuration Element Plugin 'SMTP Defaults' Configuration Elements or config elements are
Ad Hoc Reporting. Usage and Customization
Usage and Customization 1 Content... 2 2 Terms and Definitions... 3 2.1 Ad Hoc Layout... 3 2.2 Ad Hoc Report... 3 2.3 Dataview... 3 2.4 Page... 3 3 Configuration... 4 3.1 Layout and Dataview location...
Web Application Testing. Web Performance Testing
Web Application Testing Web Performance Testing Objectives of Performance Testing Evaluate runtime compliance to performance requirements Check different properties such as throughput (bits/sec, packets/sec)
JMETER - MONITOR TEST PLAN
http://www.tutorialspoint.com JMETER - MONITOR TEST PLAN Copyright tutorialspoint.com In this chapter, we will discuss how to create a Test Plan using JMeter to monitor webservers. The uses of monitor
How To Test A Load Test On A Java Testnet 2.5 (For A Testnet) On A Test Server On A Microsoft Web Server On An Ipad Or Ipad (For An Ipa) On Your Computer Or Ipa
1 of 11 7/26/2007 3:36 PM Published on dev2dev (http://dev2dev.bea.com/) http://dev2dev.bea.com/pub/a/2006/08/jmeter-performance-testing.html See this if you're having trouble printing code examples Using
ORACLE BUSINESS INTELLIGENCE WORKSHOP
ORACLE BUSINESS INTELLIGENCE WORKSHOP Creating Interactive Dashboards and Using Oracle Business Intelligence Answers Purpose This tutorial shows you how to build, format, and customize Oracle Business
Event processing in Java: what happens when you click?
Event processing in Java: what happens when you click? Alan Dix In the HCI book chapter 8 (fig 8.5, p. 298), notification-based user interface programming is described. Java uses this paradigm and you
Building and Using Web Services With JDeveloper 11g
Building and Using Web Services With JDeveloper 11g Purpose In this tutorial, you create a series of simple web service scenarios in JDeveloper. This is intended as a light introduction to some of the
Real-time Device Monitoring Using AWS
Real-time Device Monitoring Using AWS 1 Document History Version Date Initials Change Description 1.0 3/13/08 JZW Initial entry 1.1 3/14/08 JZW Continue initial input 1.2 3/14/08 JZW Added headers and
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean
Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean Course Description Getting Started with Android Programming is designed to give students a strong foundation to develop apps
IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
WP Popup Magic User Guide
WP Popup Magic User Guide Plugin version 2.6+ Prepared by Scott Bernadot WP Popup Magic User Guide Page 1 Introduction Thank you so much for your purchase! We're excited to present you with the most magical
WebObjects Web Applications Programming Guide. (Legacy)
WebObjects Web Applications Programming Guide (Legacy) Contents Introduction to WebObjects Web Applications Programming Guide 6 Who Should Read This Document? 6 Organization of This Document 6 See Also
ORACLE BUSINESS INTELLIGENCE WORKSHOP
ORACLE BUSINESS INTELLIGENCE WORKSHOP Integration of Oracle BI Publisher with Oracle Business Intelligence Enterprise Edition Purpose This tutorial mainly covers how Oracle BI Publisher is integrated with
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
Evaluator s Guide. PC-Duo Enterprise HelpDesk v5.0. Copyright 2006 Vector Networks Ltd and MetaQuest Software Inc. All rights reserved.
Evaluator s Guide PC-Duo Enterprise HelpDesk v5.0 Copyright 2006 Vector Networks Ltd and MetaQuest Software Inc. All rights reserved. All third-party trademarks are the property of their respective owners.
INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3
INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3 Often the most compelling way to introduce yourself to a software product is to try deliver value as soon as possible. Simego DS3 is designed to get you
Writer Guide. Chapter 15 Using Forms in Writer
Writer Guide Chapter 15 Using Forms in Writer Copyright This document is Copyright 2005 2008 by its contributors as listed in the section titled Authors. You may distribute it and/or modify it under the
The Power Loader GUI
The Power Loader GUI (212) 405.1010 [email protected] Follow: @1010data www.1010data.com The Power Loader GUI Contents 2 Contents Pre-Load To-Do List... 3 Login to Power Loader... 4 Upload Data Files to
M-Files Gantt View. User Guide. App Version: 1.1.0 Author: Joel Heinrich
M-Files Gantt View User Guide App Version: 1.1.0 Author: Joel Heinrich Date: 02-Jan-2013 Contents 1 Introduction... 1 1.1 Requirements... 1 2 Basic Use... 1 2.1 Activation... 1 2.2 Layout... 1 2.3 Navigation...
Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102
Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Interneer, Inc. Updated on 2/22/2012 Created by Erika Keresztyen Fahey 2 Workflow - A102 - Basic HelpDesk Ticketing System
IOIO for Android Beginners Guide Introduction
IOIO for Android Beginners Guide Introduction This is the beginners guide for the IOIO for Android board and is intended for users that have never written an Android app. The goal of this tutorial is to
2. Click the download button for your operating system (Windows, Mac, or Linux).
Table of Contents: Using Android Studio 1 Installing Android Studio 1 Installing IntelliJ IDEA Community Edition 3 Downloading My Book's Examples 4 Launching Android Studio and Importing an Android Project
TDA - Thread Dump Analyzer
TDA - Thread Dump Analyzer TDA - Thread Dump Analyzer Published September, 2008 Copyright 2006-2008 Ingo Rockel Table of Contents 1.... 1 1.1. Request Thread Dumps... 2 1.2. Thread
Introduction to Testing Webservices
Introduction to Testing Webservices Author: Vinod R Patil Abstract Internet revolutionized the way information/data is made available to general public or business partners. Web services complement this
TIBCO Silver Fabric Continuity User s Guide
TIBCO Silver Fabric Continuity User s Guide Software Release 1.0 November 2014 Two-Second Advantage Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED
Mocean Android SDK Developer Guide
Mocean Android SDK Developer Guide For Android SDK Version 3.2 136 Baxter St, New York, NY 10013 Page 1 Table of Contents Table of Contents... 2 Overview... 3 Section 1 Setup... 3 What changed in 3.2:...
Practical Example: Building Reports for Bugzilla
Practical Example: Building Reports for Bugzilla We have seen all the components of building reports with BIRT. By this time, we are now familiar with how to navigate the Eclipse BIRT Report Designer perspective,
2/24/2010 ClassApps.com
SelectSurvey.NET Training Manual This document is intended to be a simple visual guide for non technical users to help with basic survey creation, management and deployment. 2/24/2010 ClassApps.com Getting
WordPress websites themes and configuration user s guide v. 1.6
WordPress websites themes and configuration user s guide v. 1.6 Congratulations on your new website! Northeastern has developed two WordPress themes that are flexible, customizable, and designed to work
Developing NFC Applications on the Android Platform. The Definitive Resource
Developing NFC Applications on the Android Platform The Definitive Resource Part 1 By Kyle Lampert Introduction This guide will use examples from Mac OS X, but the steps are easily adaptable for modern
www.novell.com/documentation Policy Guide Access Manager 3.1 SP5 January 2013
www.novell.com/documentation Policy Guide Access Manager 3.1 SP5 January 2013 Legal Notices Novell, Inc., makes no representations or warranties with respect to the contents or use of this documentation,
SonicWALL GMS Custom Reports
SonicWALL GMS Custom Reports Document Scope This document describes how to configure and use the SonicWALL GMS 6.0 Custom Reports feature. This document contains the following sections: Feature Overview
DiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
Crystal Reports for Eclipse
Crystal Reports for Eclipse Table of Contents 1 Creating a Crystal Reports Web Application...2 2 Designing a Report off the Xtreme Embedded Derby Database... 11 3 Running a Crystal Reports Web Application...
JIDE Action Framework Developer Guide
JIDE Action Framework Developer Guide Contents PURPOSE OF THIS DOCUMENT... 1 WHAT IS JIDE ACTION FRAMEWORK... 1 PACKAGES... 3 MIGRATING FROM EXISTING APPLICATIONS... 3 DOCKABLEBARMANAGER... 9 DOCKABLE
Elixir Schedule Designer User Manual
Elixir Schedule Designer User Manual Release 7.3 Elixir Technology Pte Ltd Elixir Schedule Designer User Manual: Release 7.3 Elixir Technology Pte Ltd Published 2008 Copyright 2008 Elixir Technology Pte
PASTPERFECT-ONLINE DESIGN GUIDE
PASTPERFECT-ONLINE DESIGN GUIDE INTRODUCTION Making your collections available and searchable online to Internet visitors is an exciting venture, now made easier with PastPerfect-Online. Once you have
Chapter 15 Using Forms in Writer
Writer Guide Chapter 15 Using Forms in Writer OpenOffice.org Copyright This document is Copyright 2005 2006 by its contributors as listed in the section titled Authors. You can distribute it and/or modify
Getting Started with Sites at Penn State
About Sites at Penn State Getting Started with Sites at Penn State The Sites at Penn State tool is powered by WordPress.com, a powerful, personal publishing platform that allows you to create a website
Ansur Test Executive. Users Manual
Ansur Test Executive Users Manual April 2008 2008 Fluke Corporation, All rights reserved. All product names are trademarks of their respective companies Table of Contents 1 Introducing Ansur... 4 1.1 About
NASA Workflow Tool. User Guide. September 29, 2010
NASA Workflow Tool User Guide September 29, 2010 NASA Workflow Tool User Guide 1. Overview 2. Getting Started Preparing the Environment 3. Using the NED Client Common Terminology Workflow Configuration
EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.
WA2088 WebSphere Application Server 8.5 Administration on Windows Student Labs Web Age Solutions Inc. Copyright 2013 Web Age Solutions Inc. 1 Table of Contents Directory Paths Used in Labs...3 Lab Notes...4
A Practical Guide to Test Case Types in Java
Software Tests with Faktor-IPS Gunnar Tacke, Jan Ortmann (Dokumentversion 203) Overview In each software development project, software testing entails considerable expenses. Running regression tests manually
JBoss SOAP Web Services User Guide. Version: 3.3.0.M5
JBoss SOAP Web Services User Guide Version: 3.3.0.M5 1. JBoss SOAP Web Services Runtime and Tools support Overview... 1 1.1. Key Features of JBossWS... 1 2. Creating a Simple Web Service... 3 2.1. Generation...
Design Approaches of Web Application with Efficient Performance in JAVA
IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.7, July 2011 141 Design Approaches of Web Application with Efficient Performance in JAVA OhSoo Kwon and HyeJa Bang Dept
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
Performance Analysis of webmethods Integrations using Apache JMeter Information Guide for JMeter Adoption
TORRY HARRIS BUSINESS SOLUTIONS Performance Analysis of webmethods Integrations using Apache JMeter Information Guide for JMeter Adoption Ganapathi Nanjappa 4/28/2010 2010 Torry Harris Business Solutions.
Tutorial Reference Manual. Java WireFusion 4.1
Tutorial Reference Manual Java WireFusion 4.1 Contents INTRODUCTION...1 About this Manual...2 REQUIREMENTS...3 User Requirements...3 System Requirements...3 SHORTCUTS...4 DEVELOPMENT ENVIRONMENT...5 Menu
Android Application Development: Hands- On. Dr. Jogesh K. Muppala [email protected]
Android Application Development: Hands- On Dr. Jogesh K. Muppala [email protected] Wi-Fi Access Wi-Fi Access Account Name: aadc201312 2 The Android Wave! 3 Hello, Android! Configure the Android SDK SDK
Various Load Testing Tools
Various Load Testing Tools Animesh Das May 23, 2014 Animesh Das () Various Load Testing Tools May 23, 2014 1 / 39 Outline 3 Open Source Tools 1 Load Testing 2 Tools available for Load Testing 4 Proprietary
2. Building Cross-Tabs in Your Reports Create a Cross-Tab Create a Specified Group Order Filter Cross-Tab by Group Keep Groups Together
Crystal Reports Level 2 Computer Training Solutions Course Outline 1. Creating Running Totals Create a Running Total Field Modify a Running Total Field Create a Manual Running Total on Either Detail Data
WP Popup Magic User Guide
WP Popup Magic User Guide Introduction Thank you so much for your purchase! We're excited to present you with the most magical popup solution for WordPress! If you have any questions, please email us at
Basic tutorial for Dreamweaver CS5
Basic tutorial for Dreamweaver CS5 Creating a New Website: When you first open up Dreamweaver, a welcome screen introduces the user to some basic options to start creating websites. If you re going to
Course Name: Course in JSP Course Code: P5
Course Name: Course in JSP Course Code: P5 Address: Sh No BSH 1,2,3 Almedia residency, Xetia Waddo Duler Mapusa Goa E-mail Id: [email protected] Tel: (0832) 2465556 (0832) 6454066 Course Code: P5 3i
Geronimo Quartz Plugins
Table of Contents 1. Introduction 1 1.1. Target Use Cases.. 1 1.2. Not Target Use Cases.. 2 2. About the Geronimo Quartz Plugins. 2 3. Installing the Geronimo Quartz Plugins 2 4. Usage Examples 3 4.1.
Smooks Dev Tools Reference Guide. Version: 1.1.0.GA
Smooks Dev Tools Reference Guide Version: 1.1.0.GA Smooks Dev Tools Reference Guide 1. Introduction... 1 1.1. Key Features of Smooks Tools... 1 1.2. What is Smooks?... 1 1.3. What is Smooks Tools?... 2
History Explorer. View and Export Logged Print Job Information WHITE PAPER
History Explorer View and Export Logged Print Job Information WHITE PAPER Contents Overview 3 Logging Information to the System Database 4 Logging Print Job Information from BarTender Designer 4 Logging
Creating Acrobat Forms Acrobat 9 Professional
Creating Acrobat Forms Acrobat 9 Professional Acrobat forms typically have an origin from another program, like Word, Illustrator, Publisher etc. Doesn t matter. You design the form in another application
Sabre Red Apps. Developer Toolkit Overview. October 2014
Sabre Red Apps Developer Toolkit Overview October 2014 Red Apps are optional, authorized applications that extend the capabilities of Sabre Red Workspace. Red Apps are Sabre's branded version of an Eclipse
WEB TRADER USER MANUAL
WEB TRADER USER MANUAL Web Trader... 2 Getting Started... 4 Logging In... 5 The Workspace... 6 Main menu... 7 File... 7 Instruments... 8 View... 8 Quotes View... 9 Advanced View...11 Accounts View...11
NETWORK PRINT MONITOR User Guide
NETWORK PRINT MONITOR User Guide Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change without notice. We cannot be held liable
13 Managing Devices. Your computer is an assembly of many components from different manufacturers. LESSON OBJECTIVES
LESSON 13 Managing Devices OBJECTIVES After completing this lesson, you will be able to: 1. Open System Properties. 2. Use Device Manager. 3. Understand hardware profiles. 4. Set performance options. Estimated
Microsoft Expression Web Quickstart Guide
Microsoft Expression Web Quickstart Guide Expression Web Quickstart Guide (20-Minute Training) Welcome to Expression Web. When you first launch the program, you ll find a number of task panes, toolbars,
Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010
Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache
C-more Remote Access, Data Log, FTP File Transfer, and Email Tutorial
C-more Remote Access, Data Log, FTP File Transfer, and Email Tutorial P a g e 2 Introduction: This script will walk you through the basic process of setting up the remote access, data logging, FTP file
http://netbeans.org/kb/docs/java/gui-functionality.html?print=yes
Page 1 of 6 Introduction to GUI Building Contributed by Saleem Gul and Tomas Pavek, maintained by Ruth Kusterer and Irina Filippova This beginner tutorial teaches you how to create a simple graphical user
Outlook. Getting Started Outlook vs. Outlook Express Setting up a profile Outlook Today screen Navigation Pane
Outlook Getting Started Outlook vs. Outlook Express Setting up a profile Outlook Today screen Navigation Pane Composing & Sending Email Reading & Sending Mail Messages Set message options Organizing Items
COGNOS 8 Business Intelligence
COGNOS 8 Business Intelligence QUERY STUDIO USER GUIDE Query Studio is the reporting tool for creating simple queries and reports in Cognos 8, the Web-based reporting solution. In Query Studio, you can
Managing User Accounts and User Groups
Managing User Accounts and User Groups Contents Managing User Accounts and User Groups...2 About User Accounts and User Groups... 2 Managing User Groups...3 Adding User Groups... 3 Managing Group Membership...
Nintex Workflow 2010 Help Last updated: Friday, 26 November 2010
Nintex Workflow 2010 Help Last updated: Friday, 26 November 2010 1 Workflow Interaction with SharePoint 1.1 About LazyApproval 1.2 Approving, Rejecting and Reviewing Items 1.3 Configuring the Graph Viewer
Principles of Software Construction: Objects, Design and Concurrency. GUIs with Swing. toad 15-214. Spring 2013
Principles of Software Construction: Objects, Design and Concurrency GUIs with Swing 15-214 toad Spring 2013 Christian Kästner Charlie Garrod School of Computer Science 2012-13 C Garrod, C Kästner, J Aldrich,
Chapter 14: Links. Types of Links. 1 Chapter 14: Links
1 Unlike a word processor, the pages that you create for a website do not really have any order. You can create as many pages as you like, in any order that you like. The way your website is arranged and
SQL Server Database Web Applications
SQL Server Database Web Applications Microsoft Visual Studio (as well as Microsoft Visual Web Developer) uses a variety of built-in tools for creating a database-driven web application. In addition to
Legal Notes. Regarding Trademarks. 2012 KYOCERA Document Solutions Inc.
Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change without notice. We cannot be held liable for any problems arising from
SiteBuilder 2.1 Manual
SiteBuilder 2.1 Manual Copyright 2004 Yahoo! Inc. All rights reserved. Yahoo! SiteBuilder About This Guide With Yahoo! SiteBuilder, you can build a great web site without even knowing HTML. If you can
Creating Personal Web Sites Using SharePoint Designer 2007
Creating Personal Web Sites Using SharePoint Designer 2007 Faculty Workshop May 12 th & 13 th, 2009 Overview Create Pictures Home Page: INDEX.htm Other Pages Links from Home Page to Other Pages Prepare
Fixes for CrossTec ResQDesk
Fixes for CrossTec ResQDesk Fixes in CrossTec ResQDesk 5.00.0006 December 2, 2014 Resolved issue where the list of Operators on Category was not saving correctly when adding multiple Operators. Fixed issue
DIY Email Manager User Guide. http://www.diy-email-manager.com
User Guide http://www.diy-email-manager.com Contents Introduction... 3 Help Guides and Tutorials... 4 Sending your first email campaign... 4 Adding a Subscription Form to Your Web Site... 14 Collecting
Catalog Creator by On-site Custom Software
Catalog Creator by On-site Custom Software Thank you for purchasing or evaluating this software. If you are only evaluating Catalog Creator, the Free Trial you downloaded is fully-functional and all the
Create Mailing Labels from an Electronic File
Create Mailing Labels from an Electronic File Microsoft Word 2002 (XP) Electronic data requests for mailing labels will be filled by providing the requester with a commadelimited text file. When you receive
Wakanda Studio Features
Wakanda Studio Features Discover the many features in Wakanda Studio. The main features each have their own chapters and other features are documented elsewhere: Wakanda Server Administration Data Browser
Glassfish, JAVA EE, Servlets, JSP, EJB
Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,
www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk
CS506 Web Design and Development Solved Online Quiz No. 01 Which of the following is a general purpose container? JFrame Dialog JPanel JApplet Which of the following package needs to be import while handling
14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë
14.1 bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë bî~äì~íáåö=oéñäéåíáçå=ñçê=emi=rkfui=~åç=lééåsjp=eçëíë This guide walks you quickly through key Reflection features. It covers: Getting Connected
Application Developer Guide
IBM Maximo Asset Management 7.1 IBM Tivoli Asset Management for IT 7.1 IBM Tivoli Change and Configuration Management Database 7.1.1 IBM Tivoli Service Request Manager 7.1 Application Developer Guide Note
In this chapter, we lay the foundation for all our further discussions. We start
01 Struts.qxd 7/30/02 10:23 PM Page 1 CHAPTER 1 Introducing the Jakarta Struts Project and Its Supporting Components In this chapter, we lay the foundation for all our further discussions. We start by
Microsoft Query, the helper application included with Microsoft Office, allows
3 RETRIEVING ISERIES DATA WITH MICROSOFT QUERY Microsoft Query, the helper application included with Microsoft Office, allows Office applications such as Word and Excel to read data from ODBC data sources.
Apple Applications > Safari 2008-10-15
Safari User Guide for Web Developers Apple Applications > Safari 2008-10-15 Apple Inc. 2008 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system,
Start Learning Joomla!
Start Learning Joomla! Mini Course Transcript 2010 StartLearningJoomla.com The following course text is for distribution with the Start Learning Joomla mini-course. You can find the videos at http://www.startlearningjoomla.com/mini-course/
5. At the Windows Component panel, select the Internet Information Services (IIS) checkbox, and then hit Next.
Installing IIS on Windows XP 1. Start 2. Go to Control Panel 3. Go to Add or RemovePrograms 4. Go to Add/Remove Windows Components 5. At the Windows Component panel, select the Internet Information Services
How To Change Your Site On Drupal Cloud On A Pcode On A Microsoft Powerstone On A Macbook Or Ipad (For Free) On A Freebie (For A Free Download) On An Ipad Or Ipa (For
How-to Guide: MIT DLC Drupal Cloud Theme This guide will show you how to take your initial Drupal Cloud site... and turn it into something more like this, using the MIT DLC Drupal Cloud theme. See this
How to develop your own app
How to develop your own app It s important that everything on the hardware side and also on the software side of our Android-to-serial converter should be as simple as possible. We have the advantage that
Elgg 1.8 Social Networking
Elgg 1.8 Social Networking Create, customize, and deploy your very networking site with Elgg own social Cash Costello PACKT PUBLISHING open source* community experience distilled - BIRMINGHAM MUMBAI Preface
HP LoadRunner. Software Version: 11.00. Ajax TruClient Tips & Tricks
HP LoadRunner Software Version: 11.00 Ajax TruClient Tips & Tricks Document Release Date: October 2010 Software Release Date: October 2010 Legal Notices Warranty The only warranties for HP products and
About ZPanel. About the framework. The purpose of this guide. Page 1. Author: Bobby Allen ([email protected]) Version: 1.1
Page 1 Module developers guide for ZPanelX Author: Bobby Allen ([email protected]) Version: 1.1 About ZPanel ZPanel is an open- source web hosting control panel for Microsoft Windows and POSIX based
Web Dashboard User Guide
Web Dashboard User Guide Version 10.2 The software supplied with this document is the property of RadView Software and is furnished under a licensing agreement. Neither the software nor this document may
Features of The Grinder 3
Table of contents 1 Capabilities of The Grinder...2 2 Open Source... 2 3 Standards... 2 4 The Grinder Architecture... 3 5 Console...3 6 Statistics, Reports, Charts...4 7 Script... 4 8 The Grinder Plug-ins...
Developing In Eclipse, with ADT
Developing In Eclipse, with ADT Android Developers file://v:\android-sdk-windows\docs\guide\developing\eclipse-adt.html Page 1 of 12 Developing In Eclipse, with ADT The Android Development Tools (ADT)
