10 Minutes to Tellurium

  Jian Fang (John.Jian.Fang@gmail.com)
Vivek Mongolu (vivekmongolu@gmail.com)
   Matt Senter (mat...
What is Tellurium?
                                             Tellurium is a UI module
                                 ...
Tellurium Features
         UI module-based, separate UI from testing
     ●

         code
         Use UI attributes to ...
How to use Tellurium?
                                           Use Tellurium jar and configuration file
                ...
Setup Maven
    Assume you have Maven 2.0.9 installed
●


    Add Tellurium Maven Repository to your Maven
●

    settings...
Create a Tellurium Test Project
                          Tellurium provides two
                      ●

                ...
Open Project using IntelliJ IDEA
    Open IntelliJ IDEA and do the following steps
●


    New Project > Import project fr...
Download and Install TrUMP
                   TrUMP IDE is a Firefox
               ●

                     plugin to auto...
Use TrUMP to Record UI Module




    Open http://code.google.com/p/aost/downloads/list
●


    Click on the Download sear...
Create UI module
    Export the UI module as NewUiModule.groovy
●


    Add methods
●


     class NewUiModule extends Dsl...
Create Tellurium Test Cases
public class NewTestCase extends TelluriumJavaTestCase {
  private static NewUiModule app;

  ...
Questions and Comments ?
    Post them to Tellurium user group at
●


    http://groups.google.com/group/tellurium-users
 ...
Upcoming SlideShare
Loading in...5
×

Ten Minutes To Tellurium

2,105

Published on

The Tellurium Automated Testing Framework (Tellurium) is a UI module-based web automated testing framework built on top of Selenium. Here is a step by step guide to teach you how to create a New Tellurium Test project.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,105
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
33
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Ten Minutes To Tellurium

  1. 1. 10 Minutes to Tellurium Jian Fang (John.Jian.Fang@gmail.com) Vivek Mongolu (vivekmongolu@gmail.com) Matt Senter (matt.senter@gmail.com) Haroon Rasheed (haroonzone@gmail.com) Quan Bui (Quan.Bui@gmail.com) Mikhail Koryak (koryak@gmail.com)
  2. 2. What is Tellurium? Tellurium is a UI module ● based web testing framework built on top of JUnit TestNG Selenium Reference Project Reference Project Tellurium includes ● Tellurium Widget Domain Specific ● Languages Tellurium Core TrUMP Java object to UI Mapping ● JUnit, TestNG, and Data ● Tellurium Engine Driven Testing support
  3. 3. Tellurium Features UI module-based, separate UI from testing ● code Use UI attributes to define UI ● Dynamically generate runtime locators ● Use Groovy to achieve expressiveness ● Define widgets for reusable components ● Address dynamic web such as data grid and ● Javascript events ui.Container(uid: quot;Googlequot;, clocator: [tag: quot;tablequot;]) { InputBox(uid: quot;Inputquot;, clocator: [tag: quot;inputquot;, title: quot;Google Searchquot;, name: quot;qquot;]) SubmitButton(uid: quot;Searchquot;, clocator: [tag: quot;inputquot;, type: quot;submitquot;, value: quot;Google Searchquot;, name: quot;btnGquot;]) SubmitButton(uid: quot;ImFeelingLuckyquot;, clocator: [tag: quot;inputquot;, value: quot;I'm Feeling Luckyquot;, name: quot;btnIquot;]) }
  4. 4. How to use Tellurium? Use Tellurium jar and configuration file Maven Use Reference Project as Manually create Project Maven Archetype a base TrUMP Create UI modules Groovy Class extends DslContext Create methods for UI modules JUnit/TestNG Create Test Cases In Java, Groovy, or DSL Run Tests
  5. 5. Setup Maven Assume you have Maven 2.0.9 installed ● Add Tellurium Maven Repository to your Maven ● settings.xml <settings>     <profiles>         <profile>             <activation>                 <activeByDefault>true</activeByDefault>             </activation>             <repositories>                  <repository>                       <id>kungfuters-public-snapshots-repo</id>                     <name>Kungfuters.org Public Snapshot Repository</name>                     <releases>                                   <enabled>false</enabled>                     </releases>                             <snapshots>                                 <enabled>true</enabled>                     </snapshots>                             <url>http://kungfuters.org/nexus/content/repositories/snapshots</url>                 </repository>               </repositories>         </profile>     </profiles> </settings>
  6. 6. Create a Tellurium Test Project Tellurium provides two ● archetypes Tellurium-junit-archetype – tellurium-testng-archetype – Use a Tellurium archetype ● to create a new project called “demo” mvn archetype:create -DgroupId=example -DartifactId=demo -DarchetypeArtifactId=tellurium-junit-archetype -DarchetypeGroupId=tellurium -DarchetypeVersion=1.0-SNAPSHOT
  7. 7. Open Project using IntelliJ IDEA Open IntelliJ IDEA and do the following steps ● New Project > Import project from external mode > Select Maven > Select Project directory > Finish Make sure Groovy in project is 1.6.0 ● Compile project ● Run the sample test GoogleSearchTestCase ●
  8. 8. Download and Install TrUMP TrUMP IDE is a Firefox ● plugin to automatically create UI modules for users Download TrUMP xpi file ● from Tellurium project site to install it Or download it directly ● from Firefox addons
  9. 9. Use TrUMP to Record UI Module Open http://code.google.com/p/aost/downloads/list ● Click on the Download search Module ● Generate UI module ● Customize UI module ●
  10. 10. Create UI module Export the UI module as NewUiModule.groovy ● Add methods ● class NewUiModule extends DslContext { public void defineUi() { ui.Form(uid: quot;TelluriumDownloadquot;, clocator: [tag: quot;formquot;, method: quot;getquot;, action: quot;listquot;], group: quot;truequot;) { Selector(uid: quot;DownloadTypequot;, clocator: [tag: quot;selectquot;, name: quot;canquot;, id: quot;canquot;]) InputBox(uid: quot;Inputquot;, clocator: [tag: quot;inputquot;, type: quot;textquot;, name: quot;qquot;, id: quot;qquot;]) SubmitButton(uid: quot;Searchquot;, clocator: [tag: quot;inputquot;, type: quot;submitquot;, value: quot;Searchquot;]) } } //Add your methods here public void searchDownload(String keyword) { keyType quot;TelluriumDownload.Inputquot;, keyword click quot;TelluriumDownload.Searchquot; waitForPageToLoad 30000 } public String[] getAllDownloadTypes() { return getSelectOptions(quot;TelluriumDownload.DownloadTypequot;) } public void selectDownloadType(String type) { selectByLabel quot;TelluriumDownload.DownloadTypequot;, type } }
  11. 11. Create Tellurium Test Cases public class NewTestCase extends TelluriumJavaTestCase { private static NewUiModule app; @BeforeClass public static void initUi() { app = new NewUiModule(); app.defineUi(); } @Before public void setUpForTest() { connectUrl(quot;http://code.google.com/p/aost/downloads/listquot;); } @Test public void testTelluriumProjectPage() { String[] allTypes = app.getAllDownloadTypes(); assertNotNull(allTypes); assertTrue(allTypes[1].contains(quot;All Downloadsquot;)); app.selectDownloadType(allTypes[1]); app.searchDownload(quot;TrUMPquot;); } }
  12. 12. Questions and Comments ? Post them to Tellurium user group at ● http://groups.google.com/group/tellurium-users Vist Tellurium Project website for any updates ● http://code.google.com/p/aost Tellurium Firefox Plugin is available publicly at ● https://addons.mozilla.org/en-US/firefox/addon/11035
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×