Skip to content

Commit

Permalink
add 0.7.0 snapshit
Browse files Browse the repository at this point in the history
  • Loading branch information
telluriumsource committed Apr 14, 2010
0 parents commit 40db339
Show file tree
Hide file tree
Showing 762 changed files with 123,061 additions and 0 deletions.
16 changes: 16 additions & 0 deletions .classpath
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="**" kind="src" output="core/target/classes" path="core/src/main/resources"/>
<classpathentry kind="src" output="reference-projects/tellurium-junit-java/target/classes" path="reference-projects/tellurium-junit-java/src/main/groovy"/>
<classpathentry kind="src" output="extensions/dojo-widget/target/classes" path="extensions/dojo-widget/src/main/groovy"/>
<classpathentry kind="src" output="reference-projects/tellurium-junit-java/target/classes" path="reference-projects/tellurium-junit-java/src/main/resources"/>
<classpathentry kind="src" output="extensions/dojo-widget/target/classes" path="extensions/dojo-widget/src/main/resources"/>
<classpathentry kind="src" output="extensions/dojo-widget/target/test-classes" path="extensions/dojo-widget/src/test/groovy"/>
<classpathentry kind="src" output="core/target/test-classes" path="core/src/test/groovy"/>
<classpathentry kind="src" output="core/target/classes" path="core/src/main/groovy"/>
<classpathentry excluding="**" kind="src" output="core/target/test-classes" path="core/src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry exported="true" kind="con" path="GROOVY_SUPPORT"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
1 change: 1 addition & 0 deletions .gitignore
@@ -0,0 +1 @@
target/
29 changes: 29 additions & 0 deletions .project
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>tellurium</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.codehaus.groovy.eclipse.groovyBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.maven.ide.eclipse.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.maven.ide.eclipse.maven2Nature</nature>
<nature>org.codehaus.groovy.eclipse.groovyNature</nature>
</natures>
</projectDescription>
15 changes: 15 additions & 0 deletions .settings/de.loskutov.anyedit.AnyEditTools.prefs
@@ -0,0 +1,15 @@
#Thu Sep 04 19:11:42 CDT 2008
activeContentFilterList=*.makefile,makefile,*.Makefile,Makefile,Makefile.*,*.mk,MANIFEST.MF
convertActionOnSaave=AnyEdit.CnvrtTabToSpaces
eclipse.preferences.version=1
inActiveContentFilterList=
javaTabWidthForJava=true
org.eclipse.jdt.ui.editor.tab.width=2
projectPropsEnabled=false
removeTrailingSpaces=true
replaceAllSpaces=false
replaceAllTabs=false
saveAndAddLine=false
saveAndConvert=false
saveAndTrim=true
useModulo4Tabs=false
4 changes: 4 additions & 0 deletions .settings/org.codehaus.groovy.eclipse.preferences.prefs
@@ -0,0 +1,4 @@
#Thu Aug 14 23:30:33 CDT 2008
eclipse.preferences.version=1
groovy.compiler.output.path=bin-groovy
support.groovy=true
13 changes: 13 additions & 0 deletions .settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,13 @@
#Wed Sep 03 21:52:16 CDT 2008
eclipse.preferences.version=1
org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.groovy
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.5
8 changes: 8 additions & 0 deletions .settings/org.maven.ide.eclipse.prefs
@@ -0,0 +1,8 @@
#Mon Sep 01 22:35:10 CDT 2008
activeProfiles=
eclipse.preferences.version=1
fullBuildGoals=process-test-resources
includeModules=true
resolveWorkspaceProjects=true
resourceFilterGoals=process-resources resources\:testResources
version=1
15 changes: 15 additions & 0 deletions LICENSE.txt
@@ -0,0 +1,15 @@
/*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/

139 changes: 139 additions & 0 deletions README
@@ -0,0 +1,139 @@
README

----------------------------------------------------------------------------------------------------------------------------------------------------------

Tellurium Team (TelluriumSource@Gmail.com)

(http://code.google.com/p/aost)

----------------------------------------------------------------------------------------------------------------------------------------------------------

The Tellurium Automated Testing Framework (Tellurium) is a UI module-based automated testing framework for web
applications. The UI module is a collection of UI elements you group together. Usually, the UI module represents
a composite UI object in the format of nested basic UI elements. For example, the Google search UI module can be
expressed as follows,

ui.Container(uid: "GoogleSearchModule", clocator: [tag: "td"], group: "true"){
InputBox(uid: "Input", clocator: [title: "Google Search"])
SubmitButton(uid: "Search", clocator: [name: "btnG", value: "Google Search"])
SubmitButton(uid: "ImFeelingLucky", clocator: [value: "I'm Feeling Lucky"])
}

The UI module makes it possible to build UI elements' locators at run time. The framework does Object to Locator
Mapping (OLM) automatically at run time so that you can define UI objects simply by their attributes, i.e., Composite
Locators denoted by the "clocator". Furthermore, Tellurium uses the Group Locating Concept (GLC) to exploit
information inside a collection of UI components to help finding their locators and the GLC is denoted by the "group"
attribute in the above UI module.

The Tellurium framework defines a new Domain Specific Language (DSL) for web testing. Still take the above Google
search module as an example, you can use the following DSLs to do a Google search,

type "GoogleSearchModule.Input", "Tellurium test"
click "GoogleSearchModule.Search"
waitForPageToLoad 30000

One very powerful feature of Tellurium is that you can use UI templates to represent many identical UI elements or
dynamic size of different UI elements at runtime, which are extremely useful to test dynamic web such as a data grid.
One typical data grid example is as follows,

ui.Table(uid: "table", clocator: [:]){
InputBox(uid: "{row: 1, column: 1} as Input", clocator: [:])
Selector(uid: "{row: all, column: 2}", clocator: [:])
UrlLink(uid: "{row: 3, column: all}", clocator: [:])
TextBox(uid: "{row: all, column: all}", clocator: [:])
}

Data Driven Testing is another important feature of Tellurium. You can define data format in an expressive way.
In you data file, you can specify which test you want to run, the input parameters, and expected results. Tellurium
automatically binds the input data to variables defined in your test script and run the tests you specified in the
input file. The test results will be recorded by a test listener and output in different formats, for example,
an XML file.

Tellurium UI Model Plugin (TrUMP) is a Firefox plugin to automatically create UI modules for users. In addition,
Tellurium provides you the capability to composite UI objects into a Tellurium widget object. You can pack Tellurium
widgets as a jar file and then use a Tellurium widget just like a single tellurium UI object once you include the
jar file. As a result, Tellurium is robust, expressive, flexible, and reusable.

The Tellurium framework is written in Groovy and Java. The test cases can be written in Java, Groovy, or pure DSL.
You do not really need to know Groovy before you use it because the UI module definition and actions on UIs are
written in DSLs and the rest could be written in Java syntax. Tellurium also supports JUnit and TestNG. Detailed
Introduction, User Guide, Frequent Asked Questions, and illustrative examples are provided.

Your feedback and comments are very important to us. Please post your comments and suggestions on Tellurium user
group or write directly to us.

Thanks.

RESOURCES

Tellurium Project Home
http://code.google.com/p/aost/

Tellurium User Group
http://groups.google.com/group/tellurium-users

Tellurium Developer Group
http://groups.google.com/group/tellurium-developers

Tellurium on Twitter
http://twitter.com/TelluriumSource

TelluriumSource
http://telluriumsource.org

NEWS

* 2010-03-10, TelluriumSource.org is up and running
* 2010-03-04, Run Tellurium Integration Tests with Maven Cargo Plugin
* 2010-02-15, Disclose UI Module APIs in Tellurium 0.7.0.
* 2010-02-11, Tellurium 0.7.0 RC1 is Available Now
* 2010-02-10, Santa: The Tellurium UI Module Group Locating Algorithm
* 2010-02-08, Tellurium UI Module Visual Effect
* 2010-01-28, Tellurium is on Vimeo now.
* 2010-01-22, Added new wiki guide How to create your own Tellurium testing project with IntelliJ 9.0 Community Edition.
* 2010-01-15, What's New in Tellurium 0.7.0 is updated to track changes in 0.7.0.
* 2009-12-02, Tellurium was presented at Rich Web Experience 2009.
* 2009-11-22, Welcome Harihara Vinayakaram to our team.
* 2009-11-20, IRC Channel #tellurium is Available Now.
* 2009-10-10, Tellurium Facebook Group has been created and you are welcome to join.
* 2009-09-20, Special thanks to Davlyn Jones, the Tellurium user guide 0.6.0 is officially released now.
* 2009-09-18, Special thanks to Jared Rawlinson, Tellurium has a new project logo now.
* 2009-09-09, Please poll where did you find Tellurium.
* 2009-08-18, Welcome Kamal Ahmed to our team.
* 2009-08-15, Welcome Mahendra Kariya and Ajay Ravichandran to our team.
* 2009-07-27, The first draft of Tellurium User Guide is available now. You can download the pdf file from here.
* 2009-07-15, Welcome Kevin Zhang to our team.
* 2009-07-09, Welcome Davlyn Jones and Ramesh Ramamurthy to our team.
* 2009-06-26, Tellurium was presented at CodeStock 2009.
* 2009-06-26, Tellurium is on Twitter and Reddit now.
* 2009-06-24, Tellurium celebrates its first anniversary. Please read the article, Tellurium First Anniversary: Retrospect and Prospect.
* 2009-06-23, Added a video demo Tellurium beginner tutorial.
* 2009-06-21, Welcome Jeff Xiong to our Team.
* 2009-06-18, Tellurium 0.6.0 is released, please see the announcement.
* 2009-06-12, Tellurium creator, Dr. Jian Fang, was interviewed by InfoQ China.
* 2009-06-10, Tellurium Chinese Document project is created.
* 2009-05-13, Tellurium Core and reference projects 0.6.0 RC1 are out, Please see the announcement.
* 2009-05-10, Added Tellurium 0.6.0 feature introduction: Whats New in Tellurium 0.6.0
* 2009-04-28, Tellurium provides Selenium Grid support
* 2009-04-23, Tellurium Automated Testing Framework LinkedIn Group has been created and you are welcome to join.
* 2009-04-14, Tellurium starts to support jQuery selector.
* 2009-03-15, tutorial 10 Minutes to Tellurium is created and it includes a wiki page, presentation slides, and a screencast video.
* 2009-03-13, two Tellurium Maven archetypes are available, i.e., tellurium-junit-archetype and tellurium-testng-archetype for Tellurium JUnit and TestNG project, respectively.
* 2009-03-04, Tellurium UI Module Firefox Plugin (TrUMP) 0.1.0 is released
* 2009-02-18, Tellurium UI Module Firefox Plugin (TrUMP) 0.1.0 Release Candidate is available
* 2009-02-17, Tellurium Demo Videos are uploaded, you can use VLC media player to watch them
* 2009-01-29, Tellurium UI Module Firefox Plugin (TrUMP) 0.1.0 preview version is available
* 2008-12-03, Tellurium core 0.5.0 and reference projects are released
* 2008-12-02, Welcome Mikhail Koryak to our team.
* 2008-11-15, Tellurium 0.5.0 Release Candidate RC01 is out
* 2008-08-22, Welcome Haroon Rasheed to our team.
* 2008-08-13, Tellurium 0.4.0 is released and this release includes a lot of new features and enhancements such as data driven testing, framework configuration, and JUnit 4 support.
* 2008-07-29, The AOST framework is officially renamed to the Tellurium Automated Testing framework (Tellurium).
* 2008-07-29, Welcome Matt Senter to our team.
* 2008-07-18, Welcome Vivek Mongolu to our team.
* 2008-07-18, AOST user group is created. Please join and post your questions, comments, and suggestions there.
* 2008-07-12, AOST 0.3.0 is out and it comes with significant feature enhancement including Composite Locator, Group Locating Concept, and Multiple UI Modules in one DslContext?.
* 2008-07-02, UI Object ID is refactored to support nested UI objects.
* 2008-06-25, The AOST framework became public with version 0.2.0.
* 2008-01-01, the AOST framework second prototype was created.
* 2007-06-01, the AOST framework first prototype was created.
11 changes: 11 additions & 0 deletions core/.classpath
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/test/groovy"/>
<classpathentry kind="src" path="src/main/groovy"/>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry exported="true" kind="con" path="GROOVY_SUPPORT"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
29 changes: 29 additions & 0 deletions core/.project
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>tellurium</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.maven.ide.eclipse.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.codehaus.groovy.eclipse.groovyBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.maven.ide.eclipse.maven2Nature</nature>
<nature>org.codehaus.groovy.eclipse.groovyNature</nature>
</natures>
</projectDescription>
37 changes: 37 additions & 0 deletions core/HOWTO.txt
@@ -0,0 +1,37 @@

Before build the project using the ant script, please first change
the javahome in the build.properties file, i.e., replace the following
line

javahome = /usr/java/current

with the java home on your own machine.

The run the ant tasks for

1) To clean build files

ant clean

2) To generate the artifact (jar file will be under the dist/ directory)

ant dist

3) To compile tests

ant compile-test


4) To run dsl in Linux (first run ant compile-test before run the dsl tests)

./rundsl.sh src/test/resources/example/dsl/DataDrivenGoogleBookListCodeHosting.dsl

./rundsl.sh src/test/resources/example/dsl/GoogleStartPage.dsl

./rundsl.sh src/test/resources/example/dsl/DataDrivenGoogleStartPage.dsl

5) Use Maven, you need to run

mvn test


15 changes: 15 additions & 0 deletions core/LICENSE.txt
@@ -0,0 +1,15 @@
/*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/

0 comments on commit 40db339

Please sign in to comment.