Cucumber Recipes

Total Page:16

File Type:pdf, Size:1020Kb

Cucumber Recipes Early Praise for Cucumber Recipes With Cucumber Recipes you feel like the authors are right there with you, offering you advice, showing you hidden gems, or gently chastising you for things you know you shouldn’t be doing. From general advice about taming unruly test suites or scaling out across multiple servers, to craziness like testing embedded Arduino hardware projects, they manage to cover an enormous amount of ground in a small space. Prepare for a fun and informative ride. ➤ Dan North Originator of BDD and author of the RSpec story runner (Cucumber’s predecessor) There are many cookbooks but very few “chef books.” Cucumber Recipes is inspiring enough to qualify as a chef book. If there’s a will and a desire to use Cucumber in the process, Cucumber Recipes will more than likely show you a way...or many ways! From the basic to the esoteric, there’s something for everyone in Cucumber Recipes. ➤ Michael Larsen Senior quality assurance engineer, SocialText It is good to see that a free tool like Cucumber has been able to build up a com- munity that treats BDD as its own child and carries it to nearly every possible platform and technology. This book provides a closer look at the details. ➤ Gáspár Nagy Developer coach at TechTalk, creator of SpecFlow If you’re automating tests of any kind using Cucumber, in any language, against any type of software, you need this cookbook. Its recipes will help you write useful, easily maintained tests for even the most puzzling scenarios. Like all good cook- books, it teaches good techniques and principles that will help you improve all your tests. Best of all, you can actually code the examples yourself, and learn by doing. ➤ Lisa Crispin Co-author, Agile Testing: A Practical Guide for Testers and Agile Teams Cucumber Recipes has testing solutions for a variety of platforms. It is a powerful book that gives us useful tips to use BDD in our chosen environment. To realize the power of BDD, Cucumber Recipes is a must on every software test engineer’s table. ➤ Kavitha Naveen Senior lead—quality engineering Cucumber Recipes Automate Anything with BDD Tools and Techniques Ian Dees Matt Wynne Aslak Hellesøy The Pragmatic Bookshelf Dallas, Texas • Raleigh, North Carolina Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf, PragProg and the linking g device are trade- marks of The Pragmatic Programmers, LLC. Every precaution was taken in the preparation of this book. However, the publisher assumes no responsibility for errors or omissions, or for damages that may result from the use of information (including program listings) contained herein. Our Pragmatic courses, workshops, and other products can help you and your team create better software and have more fun. For more information, as well as the latest Pragmatic titles, please visit us at http://pragprog.com. The team that produced this book includes: Jackie Carter (editor) Potomac Indexing, LLC (indexer) Kim Wimpsett (copyeditor) David J Kelly (typesetter) Janet Furlow (producer) Juliet Benda (rights) Ellie Callahan (support) Copyright © 2013 The Pragmatic Programmers, LLC. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher. Printed in the United States of America. ISBN-13: 978-1-937785-01-7 Encoded using the finest acid-free high-entropy binary digits. Book version: P1.0—February 2013 Contents Foreword . vii Acknowledgments . xi Introduction . xiii 1. Cucumber Techniques . 1 Recipe 1. Compare and Transform Tables of Data 2 Recipe 2. Generate an RTF Report with a Custom Formatter 7 Recipe 3. Run Slow Setup/Teardown Code with Global Hooks 13 Recipe 4. Refactor to Extract Your Own Application Driver DSL 18 Recipe 5. Define Steps as Regular Ruby Methods 22 Recipe 6. Compare Images 27 Recipe 7. Test Across Multiple Cores 33 Recipe 8. Test Across Multiple Machines with SSH 36 Recipe 9. Run Your Features Automatically with Guard and Growl 41 Recipe 10. Add Cucumber to Your Continuous Integration Server 47 Recipe 11. Publish Your Documentation on Relish 55 Recipe 12. Test Through Multiple Interfaces Using Worlds 61 Recipe 13. Manipulate Time 67 Recipe 14. Drive Cucumber’s Wire Protocol 72 Recipe 15. Implement a Wire Protocol Listener 75 2. Java . 83 Recipe 16. Use Cucumber Directly with JRuby 84 Recipe 17. Use Cucumber with Java via Cucumber-JVM 87 Recipe 18. Drive a Spring + Hibernate Project 92 Recipe 19. Test a Grails App Using grails-cucumber 99 Contents • vi Recipe 20. Test Scala Code 104 Recipe 21. Test Clojure Code 109 Recipe 22. Drive a Swing Interface with FEST 111 3. .NET and Windows . 117 Recipe 23. Get Good Text Output on Windows 118 Recipe 24. Test .NET Code with SpecFlow 124 Recipe 25. Drive a Windows App Using White 130 Recipe 26. Test Windows GUIs with AutoIt 135 Recipe 27. Test on Windows Phone 139 4. Mobile and Web . 147 Recipe 28. Test on iOS Using Frank 148 Recipe 29. Test Android Apps with Calabash 153 Recipe 30. Parse HTML Tables 160 Recipe 31. Drive JavaScript/CoffeeScript Using Cucumber-JS 164 Recipe 32. Test a Web App Using Watir 168 Recipe 33. Test a PHP App with cuke4php 173 Recipe 34. Play Back Canned Network Data Using VCR 181 Recipe 35. Drive a Flash App Using Cuke4AS3 185 Recipe 36. Monitor a Web Service Using Nagios and Cucumber 195 5. Other Languages and Platforms . 201 Recipe 37. Drive a Mac GUI Using AppleScript and System Events 202 Recipe 38. Drive a Mac GUI Using MacRuby and AXElements 209 Recipe 39. Test Python Code Using Lettuce 214 Recipe 40. Test Erlang Code 217 Recipe 41. Test Lua Code Using cucumber-lua 221 Recipe 42. Test a GUI on Linux, Mac, or Windows with Sikuli 225 Recipe 43. Test an Arduino Project Using Serial 230 A1. RSpec Expectations . 237 A1.1 Basics 237 A1.2 Custom Matchers 238 A1.3 Alternatives 239 Bibliography . 241 Index . 243 Foreword There was a time when one could analyze all that a program needed to do and then write the program that met that need. This stopped being a winning strategy when computers got big enough and fast enough to hold a description of the problem, not just the solution. I embraced this change that went by the name of object-oriented programming. The advice was to divide large programs into parts that captured natural diversity. Then we were to program the parts to ask other parts for results without saying exactly how these results were to be achieved. This sounded simple. We no longer had to think everything through all of the time. Then, when we discovered one more case late in development, we were thankful we kept that complexity at a distance. It was a good plan, but it turned out to be not quite that simple. Not only was there more than one way to chop up a program into parts, there was no easy way to tell which approach was going to prove to be leveraged when unforeseen needs surfaced, as they always do. Agile We forged ahead. We found dozens of techniques that helped keep track of what we had done, where we were going, and, especially, how to say “yes, we can” when asked to do something never once mentioned until our programs were used. When we say Agile today, we’re distinguishing ourselves from the days when we would resist change even if it meant finishing a program that wouldn’t be used. We asked our pioneers to experiment. We asked that they try new things and share with each other how they worked out. We asked our best developers to think about these new problems: where have we been, where are we going, and how will we know when we get there? This book carries that tradition forward. Let me explain how. report erratum • discuss Foreword • viii Patterns A program is a mathematical object that follows precise rules. This stops being important when we can no longer fully analyze our problems as we might a proof. Our progress toward Agile accelerated when we started cata- loging solutions rather than deriving new ones from scratch each time they occurred. A recurring pattern became an object of interest. A recurring problem in a context and a solution known to work—this is something worth sharing. When we started naming and documenting these patterns, we created a liter- ature that had not yet existed. Practical problem solving was respected. Well-worn solutions were judged valuable...more valuable even than the most innovative ideas. Although Cucumber offers a new and innovative way of pushing Agile forward, there is no reason for every Cucumber user to rediscover the contents of this book. The solutions come from many, for sure. But the simple existence of this catalog will raise our collective competence as we come to know of solu- tions whether we need them right now or not. This book covers lots of ground. Some of it you will use immediately; other parts you will later. However, you will be served well to know the range of problems already solved. Platforms We appreciate how computers become more powerful each year. We hardly think of them as computers anymore.
Recommended publications
  • Sci-Fi Prop Model Kit Catalog
    SSCCII--FFII PPRROOPP MMOODDEELL KKIITT CCAATTAALLOOGG 2/13 Welcome to the Arsenal Models sci-fi prop model kit catalog. We specialize in screen-accurate prop replica kits from your favorite science fiction films and TV shows. Prop kits shown are 1:1 scale highly detailed replicas of actual props used in the films or shows. Many are casts of actual screen-used prop weapons. Others are based on the actual weapons used by the prop makers with the proper modifications. All kits are cast in heavy solid white durable resin and come in full color boxes picturing the finished prop. Instructions and any hardware or labels required are also included. Since these are resin garage kits, a little kit building experience is helpful for assembling and finishing the prop, but not necessary. Remember, although the finished props look very authentic, these are only resin prop guns and cannot be made to fire anything. Please look over the entire catalog as items from a particular series can appear throughout. Ordering instructions are on the back page of the catalog. Thanks for looking! Battlestar Galactica Colonial Warrior Blaster This is a replica of the gun sidearm by the Colonial Warriors in the classic 70s show. Kit is one piece solid white resin and measures about twelve inches long. Comes in photo box with instructions…............................$45.00 Farscape Pulse Pistol This kit is the pulse pistol from the hit Sci-fi Channel series Farscape. This is an exact replica of the screen used props from the filming of the show. Includes main body and side scope.
    [Show full text]
  • IYIR for HTML
    INFOSEC UPDATE 2006 Student Workbook Norwich University June 19-20, 2006 M. E. Kabay, PhD, CISSP-ISSMP Assoc. Prof. Information Assurance Program Director, MSIA BSIA Division of Business Management Norwich University [email protected] Copyright © 2006 M. E. Kabay. All rights reserved. Page 1 INFOSEC UPDATE 2006 -- June 19-20, 2006 01 Introduction Category 01 Introduction 2006-06-12 Introduction M. E. Kabay, PhD, CISSP WELCOME Welcome to the 2005 edition of the Information Security Year in Review (IYIR) project. In 1993 and 1994, I was an adjunct professor in the Institute for Government Informatics Professionals in Ottawa, Canada under the aegis of the University of Ottawa. I taught a one-semester course introducting information security to government personnel and enjoyed the experience immensely. Many of the chapters of my 1996 textbook, _The NCSA Guide to Enterprise Security_ published by McGraw-Hill were field-tested by my students. In 1995, I was asked if I could run a seminar for graduates of my courses to bring them up to date on developments across the entire field of information security. Our course had twenty students and I so enjoyed it that I continued to develop the material and teach the course with the NCSA (National Computer Security Association; later called ICSA and then eventually renamed TruSecure Corporation and finally CyberTrust, its current name) all over the United States, Canada, Europe, Asia and the Caribbean. After a few years of working on this project, it became obvious that saving abstracts in a WordPerfect file was not going to cut it as an orderly method for organizing the increasing mass of information that I was encountering in my research.
    [Show full text]
  • Watir Recipes the Problem Solving Guide to Watir
    Watir Recipes The problem solving guide to Watir Zhimin Zhan This book is for sale at http://leanpub.com/watir-recipes This version was published on 2017-02-12 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. © 2013 - 2017 Zhimin Zhan Also By Zhimin Zhan Practical Web Test Automation Selenium WebDriver Recipes in Ruby Selenium WebDriver Recipes in Java Learn Ruby Programming by Examples Learn Swift Programming by Examples Selenium WebDriver Recipes in Python API Testing Recipes in Ruby Selenium WebDriver Recipes in Node.js To Xindi, for your understanding and support. Thank you! Contents Preface ........................................... i Preface to First Edition ................................ ii Who should read this book .............................. iii How to read this book ................................. iii Get recipe test scripts ................................. iii Send me feedback ................................... iv 1. Introduction ...................................... 1 Watir and its variants ................................. 1 RSpec .......................................... 2 Run recipe scripts ................................... 3 2. Watir and Selenium WebDriver .......................... 10 Install Selenium Browser Drivers ........................... 10 Cross browser testing
    [Show full text]
  • Automated Testing Clinic Follow-Up: Capybara-Webkit Vs. Poltergeist/Phantomjs | Engineering in Focus
    Automated Testing Clinic follow-up: capybara-webkit vs. polter... https://behindthefandoor.wordpress.com/2014/03/02/automated-... Engineering in Focus the Fandor engineering blog Automated Testing Clinic follow-up: capybara-webkit vs. poltergeist/PhantomJS with 2 comments In my presentation at the February Automated Testing SF meetup I (Dave Schweisguth) noted some problems with Fandor’s testing setup and that we were working to fix them. Here’s an update on our progress. The root cause of several of our problems was that some of the almost 100 @javascript scenarios in our Cucumber test suite weren’t running reliably. They failed occasionally regardless of environment, they failed more on slower CPUs (e.g. MacBook Pros only a couple of years old), when they failed they sometimes hung forever, and when we killed them they left behind webkit-server processes (we were using the capybara-webkit driver) which, if not cleaned up, would poison subsequent runs. Although we’ve gotten pretty good at fixing flaky Cucumber scenarios, we’d been stumped on this little handful. We gave up, tagged them @non_ci and excluded them from our build. But they were important scenarios, so we had to run them manually before deploying. (We weren’t going to just not run them: some of those scenarios tested our subscription process, and we would be fools to deploy a build that for all we knew wouldn’t allow new users to subscribe to Fandor!) That made our release process slower and more error-prone. It occurred to me that I could patch the patch and change our deployment process to require that the @non_ci scenarios had been run (by adding a git tag when those scenarios were run and checking for it when deploying), but before I could put that in to play a new problem appeared.
    [Show full text]
  • Table of Contents
    Table of Contents PART I. Introduction 5 A. Overview 5 B. Historical Background 6 PART II. The Study 16 A. Background 16 B. Independence 18 C. The Scope of the Monitoring 19 D. Methodology 23 1. Rationale and Definitions of Violence 23 2. The Monitoring Process 25 3. The Weekly Meetings 26 4. Criteria 27 E. Operating Premises and Stipulations 32 PART III. Findings in Broadcast Network Television 39 A. Prime Time Series 40 1. Programs with Frequent Issues 41 2. Programs with Occasional Issues 49 3. Interesting Violence Issues in Prime Time Series 54 4. Programs that Deal with Violence Well 58 B. Made for Television Movies and Mini-Series 61 1. Leading Examples of MOWs and Mini-Series that Raised Concerns 62 2. Other Titles Raising Concerns about Violence 67 3. Issues Raised by Made-for-Television Movies and Mini-Series 68 C. Theatrical Motion Pictures on Broadcast Network Television 71 1. Theatrical Films that Raise Concerns 74 2. Additional Theatrical Films that Raise Concerns 80 3. Issues Arising out of Theatrical Films on Television 81 D. On-Air Promotions, Previews, Recaps, Teasers and Advertisements 84 E. Children’s Television on the Broadcast Networks 94 PART IV. Findings in Other Television Media 102 A. Local Independent Television Programming and Syndication 104 B. Public Television 111 C. Cable Television 114 1. Home Box Office (HBO) 116 2. Showtime 119 3. The Disney Channel 123 4. Nickelodeon 124 5. Music Television (MTV) 125 6. TBS (The Atlanta Superstation) 126 7. The USA Network 129 8. Turner Network Television (TNT) 130 D.
    [Show full text]
  • Collaboration and Social Media-2008
    Research Report Collaboration and Social Media-2008 Taking Stock of Today’s Experiences and Tomorrow’s Opportunities Geoffrey Bock Steve Paxhia The Gilbane Group June 9, 2008 Gilbane Group Inc. 763 Massachusetts Avenue Cambridge, MA 02139 USA Tel: 617.497.9443 Fax: 617.497.5256 [email protected] http://gilbane.com With Thanks to Our Sponsors Platinum Gold Silver ©2008 Gilbane Group, Inc. i http://gilbane.com Collaboration and Social Media — 2008 Table of Contents With Thanks to Our Sponsors .................................................................................. i Our Perspective ................................................................................. vi How American Companies Use Social Media ....................................... i Tracking Social Media ............................................................................................. 2 Adopting Social Media .............................................................................................. 5 Social Media Profiles .............................................................................................. 10 A Social Media Roadmap ....................................................................................... 30 Customer Stories ............................................................................. 32 Awareness at Earth Knowledge ............................................................................. 33 EMC Documentum eRoom at Bechtel ................................................................... 36 EMC Documentum eRoom
    [Show full text]
  • John Athayde and Bruce Williams — «The Rails View
    What readers are saying about The Rails View This is a must-read for Rails developers looking to juice up their skills for a world of web apps that increasingly includes mobile browsers and a lot more JavaScript. ➤ Yehuda Katz Driving force behind Rails 3.0 and Co-founder, Tilde In the past several years, I’ve been privileged to work with some of the world’s leading Rails developers. If asked to name the best view-layer Rails developer I’ve met, I’d have a hard time picking between two names: Bruce Williams and John Athayde. This book is a rare opportunity to look into the minds of two of the leading experts on an area that receives far too little attention. Read, apply, and reread. ➤ Chad Fowler VP Engineering, LivingSocial Finally! An authoritative and up-to-date guide to everything view-related in Rails 3. If you’re stabbing in the dark when putting together your Rails apps’ views, The Rails View provides a big confidence boost and shows how to get things done the right way. ➤ Peter Cooper Editor, Ruby Inside and Ruby Weekly The Rails view layer has always been a morass, but this book reins it in with details of how to build views as software, not just as markup. This book represents the wisdom gained from years’ worth of building maintainable interfaces by two of the best and brightest minds in our business. I have been writing Ruby code for over a decade and Rails code since its inception, and out of all the Ruby books I’ve read, I value this one the most.
    [Show full text]
  • Bdd & Test Automation
    BDD & TEST AUTOMATION: HOW NOT TO SHOOT YOURSELF IN THE FOOT Mati Parv About the speaker Mati Parv Automation Engineer @ Proekspert [email protected] What this is about Introduction to BDD and related tools Retro-fitting automation: should you do it? How it worked out for us Automated UI testing in web applications Hands-on session Introduction: BDD What is BDD Behavior-Driven Development An "outside-in" methodology, starting from the outside by identifying business outcomes, drilling down into the feature set that will achieve these outcomes. Focuses on the "how" of the software, not the "why" Introduction: Cucumber Describe how the software should behave in plain text The descriptions are the documentation... ... and the tests... ... and the specification. Helps us deliver value, create software that matters Cucumber: Example Feature: Search courses In order to ensure better utilization of courses Potential students should be able to search for courses Scenario: Search by topic Given there are 240 courses which do not have the topic "BDD" And there are 2 courses A001, B205 that have the topic "BDD" When I search for "BDD" Then I should see the following courses: | Course code | | A001 | | B205 | What happened in our case? Retro-fitting automation to mature codebase Should you do it? When does it work? Use Cucumber as the testing tool Is it good enough? Downside: maintenance hell is easy to achieve What are the alternatives? Continue with manual testing? Not good enough! Use another tool? UI automation in web apps What's good Tests run in a web browser – headless or not Allows to emulate user behavior Can be part of a CI process Downsides Performance can suffer, especially in an actual browser Initial test writing can be time-consuming Hands-on session Setup Application under test http://bdd-workshop-ntd2013.herokuapp.com Prepared test template http://git.io/6wD9Jw Required toolset Ruby 1.9+ RSpec, Capybara, Selenium-Webdriver Template code from above git repository Questions? Thank you!.
    [Show full text]
  • Analysis of Domain Specific Languages for GUI Testing: Rspec and Cucumber for Sikuli
    Journal of Multidisciplinary Engineering Science and Technology (JMEST) ISSN: 3159-0040 Vol. 2 Issue 1, January - 2015 Analysis of Domain Specific Languages for GUI testing: RSpec and Cucumber for Sikuli Ivan Evgrafov, [email protected] Raimund Hocke Roman S. Samarev, [email protected] Head Developer of SikuliX, Elena V. Smirnova, [email protected] [email protected], Nidderau, Germany Bauman Moscow State Technical University, Russia Abstract – This article is devoted to new usage tions. Little languages are small DSLs that do not include of the domain specific languages (DSL) for software many features found in General Purpose Programming with a Graphical User Interfaces (GUI) testing. This languages (GPLs). The testers use the GPPL in case if paper’s authors are a developers of the enhanced there is no time to create special DSL - in case of the short software Sikulix, the product which targeted for the term software project or if they could not find a proper programs with graphical interface testing. They pro- DSL, or if they could not create their own DSL. And they pose it as a functional basis for DSL. The SikuliX is use a domain-specific language (DSL), a computer lan- considering as an environment for domain specific guage specialized to a particular application domain in languages (DSL and DSEL). The results of two spe- such a case [17]. This is in contrast to a general-purpose cialized testing DSL’s estimation are being presented language (GPPL), which is broadly applicable across do- in this paper: the frameworks Rspec which belongs mains, and lacks specialized features for a particular do- to a Domain Specific Embedded Language (DSEL) main.
    [Show full text]
  • Metrics That Matter Social Software for Business Performance Metrics That Matter
    Metrics that Matter Social Software for Business Performance Metrics that Matter Contents Introduction: When will social software prove itself? | 1 Current approaches to social software will likely fail | 2 Creating and retaining leaders | 3 Social software is essential to meet the challenge of constant change | 6 Extreme performance improvement is achievable | 9 Companies must focus to move the needle on business performance | 12 Long-term benefits of social software are transformative | 20 Conclusion: Social software is worth your time | 23 Appendix | 24 Note: Social software tools considered in this paper include wikis, blogs, microblogs, discussion forums, social networks, social book- marks, tagging, crowdsourcing, and prediction markets. Only internal-facing solutions (Socialcast, Socialtext, Traction, etc.) were in scope, excluding their external-facing equivalents (Twitter, Facebook, etc.). Social Software for Business Performance Introduction: When will social software prove itself? ENIOR executives are skeptical of the that business performance improvements are Svalue of social software. Their reluctance is possible: OSIsoft1 realized a 22% improvement understandable but self-defeating. Social soft- in average time to issue resolution through ware has the potential to address operational the customer support team’s use of Socialtext2 “pain points” and significantly wikis. Alcoa Fastening enhance business perfor- Systems3 experienced a 61% mance in the short–term and reduction in time spent transform it in the long–term. Companies that on compliance activities Companies that embrace embrace this through the use of Traction this opportunity will have a opportunity will Software.4 Both companies distinct advantage over their have a distinct believe these improvements competitors; skeptics will would have been impossible likely finish last.
    [Show full text]
  • Behavior-Driven Development and Cucumber
    Behavior-Driven Development and Cucumber CSCI 5828: Foundations of Software Engineering Lecture 09 — 02/14/2012 ! © Kenneth M. Anderson, 2012 1 Goals • Introduce concepts and techniques encountered in the first three chapters of the Cucumber textbook (I may also refer to it as the “testing” textbook) • Installing Cucumber • Behavior-Driven Development • Gherkin • Cucumber • It’s integration with ruby (other languages are also supported) © Kenneth M. Anderson, 2012 2 Side Note: Fred Brooks Appears Again • I like receiving confirmation that the information I put in front of you is important • At the start of Chapter 3 of the Cucumber book, take a look at the first citation: • “In his famous essay, No Silver Bullet [Bro95], Fred Brooks says: • ‘The hardest single part of building a software system is deciding precisely what to build.’” • They even reference The Mythical Man-Month on the same page! ! © Kenneth M. Anderson, 2012 3 Installing Cucumber (I) • If you would like to run the examples presented in lecture, you will need to install Cucumber • To do so, you will first need to install ruby • If you are on Linux or Mac OS X, the book recommends first installing rvm (Ruby Version Manager) • Instructions are here: <http://beginrescueend.com/> • Then use it to install ruby version 1.9.3-p0 • On Lion with XCode 4.2.1: “rvm install ruby-1.9.3-p0 --with-gcc=clang” • If you are on Windows, use the Ruby Installer • http://rubyinstaller.org/ © Kenneth M. Anderson, 2012 4 Installing Cucumber (II) • Once you have ruby installed, you may need to install
    [Show full text]
  • Product End User License Agreement
    END USER LICENSE AGREEMENT If you have another valid, signed agreement with Licensor or a Licensor authorized reseller which applies to the specific Licensor Software, Software Services, Maintenance or Consulting Services you are downloading, accessing or otherwise receiving, that other agreement shall control; otherwise by using, downloading, installing, copying, or accessing Licensor Software, Software Services, Maintenance or Consulting Services, or by clicking on "I accept" on or adjacent to the screen where these Master Terms may be displayed, you hereby agree to be bound by and accept these Master Terms. These Master Terms shall also apply to any Maintenance or Consulting Services you later acquire from Licensor relating to the Software or Software Services. You may place orders under these Master Terms by submitting separate Order Form(s). Capitalized terms used in these Master Terms and not otherwise defined, are defined at https://terms.tibco.com/posts/845635-definitions. 1. License Models, License Grant, Rights and Restrictions. Licensor provides Software on a Perpetual, or Term basis, embedded and delivered as part of Equipment, as Software Services and on a Subscription basis. The Supplemental Terms, include, but are not limited to, the license grant, rights and restrictions for each of the foregoing (including for evaluation purposes) which are located at https://terms.tibco.com. The availability of Software in one or more of the foregoing license models is at Licensor's sole discretion. Additional license requirements and notices, if any, if not included at https://terms.tibco.com, shall be contained in the Documentation that is delivered with the applicable Software.
    [Show full text]