blob: ccbaeb1491606f967736ebe774c575b1b383d634 [file] [log] [blame]
<!DOCTYPE html>
<head>
<title>RCPTT Documentation Center</title>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://www.eclipse.org/rcptt/shared/css/bootstrap.min.css">
<link rel="stylesheet" href="https://www.eclipse.org/rcptt/shared/css/main.css">
<link rel="stylesheet" href="https://www.eclipse.org/rcptt/shared/css/prism.css">
<link rel="icon" href="https://www.eclipse.org/rcptt/shared/img/favicon.ico">
<script src="https://www.eclipse.org/rcptt/shared/js/jquery.min.js"></script>
<script src="https://www.eclipse.org/rcptt/shared/js/bootstrap.min.js"></script>
<script src="https://www.eclipse.org/rcptt/shared/js/prism.js"></script>
<script src="https://www.eclipse.org/rcptt/shared/js/ecl.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-39589807-5', 'eclipse.org');
ga('send', 'pageview');
</script>
</head>
<body>
<div id="before-footer">
<header>
<nav class="navbar navbar-default navbar-static-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">RCPTT Documentation Center</span>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active" >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/getstarted">User Guide</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/faq/">FAQ</a>
</li>
<li>
<a href="http://eclipse.org/rcptt">Back to RCPTT Main Site</a>
</li>
<li>
<a href="http://eclipse.org">Eclipse.org</a>
</li>
</ul>
</div>
</nav>
</header>
<section class="content">
<div class="container">
<div class="row">
<div class="col-sm-3">
<div class="rcptt-sidebar">
<ul class="nav">
<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/getstarted/">Get Started</a>
</li>
<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/testeditor/">Test Case Editor</a>
</li>
<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/controlpanel">Control Panel</a>
</li>
<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/assertions/">Assertions</a>
</li>
<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/ecl/">Eclipse Command Language</a>
<ul class="nav">
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/ecl/new-command-guide/">New ECL Command Guide</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/ecl/excel-import-export/">ECL commands for Excel import and export</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/ecl/xml-import-export/">ECL commands for XML import and export</a>
</li>
</ul>
</li>
<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/">Contexts</a>
<ul class="nav">
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/workspace/">Workspace</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/workbench/">Workbench</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/launch/">Launch</a>
</li>
<li class="active" >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/preferences/">Preferences</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/parameters/">Parameters</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/group/">Group</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/folder/">Folder</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/default/">Default</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/super/">Super</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/ecl/">ECL Script</a>
</li>
</ul>
</li>
<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/verifications/">Verifications</a>
<ul class="nav">
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/verifications/text/">Text</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/verifications/treetable/">Table/Tree</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/verifications/errorlog/">Error Log</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/verifications/time/">Time</a>
</li>
</ul>
</li>
<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/procedures/">Procedures and Variables</a>
</li>
<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/runner/">Test Runner</a>
<ul class="nav">
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/runner/arguments/">Arguments</a>
</li>
</ul>
</li>
<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/maven/">Maven plugin</a>
</li>
<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/rap/">RAP</a>
<ul class="nav">
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/rap/install/">Install instructions</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/rap/recordReplay/">Record and Replay</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/rap/capability/">Capability Contexts</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/rap/rap-commands/">ECL commands</a>
</li>
<li >
<a href="https://www.eclipse.org/rcptt/documentation/userguide/rap/rap-maven/">Maven plugin</a>
</li>
</ul>
</li>
<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/integration/test-rail-integration/">Integration with TestRail</a>
</li>
</ul>
</div>
</div>
<div class="col-sm-9">
<h1>Preferences Contexts</h1>
<h3> Introduction</h3>
<p>Preferences contexts allow to ensure that correct Application-Under-Test preferences are applied before test execution.
This can be particularly useful when preferences which control the behavior of pop-up dialogs are being set in your AUT.
The well-known example, while not completely relevant to test execution, is the Confirm Exit dialog, which has the "Always exit without prompt" checkbox.</p>
<p>The Preferences Context editor displays tree of all available preferences and allows modifying/removing some of their values.</p>
<p><p>Move a mouse over highlighted areas on a screenshot below to get a documentation regarding UI elements</p>
</p>
<div class="screenshot">
<img src="https://www.eclipse.org/rcptt/shared/img/screenshot-preferences-context-editor.png"></img>
<div class="ann" style="top:93px;left:118px;">
<div class="ann-border" style="width:120px;height:19px;"></div>
<div class="ann-overlay" style="left:0px;;">
Context name. This name is automatically synced with file system name. Symbols in name which are not allowed in file names are replaced with underscore character.
</div>
</div>
<div class="ann" style="top:119px;left:118px;">
<div class="ann-border" style="width:100px;height:19px;"></div>
<div class="ann-overlay" style="left:0px;;">
All you need to know about tags
</div>
</div>
<div class="ann" style="top:118px;left:584px;">
<div class="ann-border" style="width:22px;height:22px;"></div>
<div class="ann-overlay" style="left:0px;;">
Use this button to open tag selection dialog with list of tags from another test resources
</div>
</div>
<div class="ann" style="top:92px;left:616px;">
<div class="ann-border" style="width:75px;height:22px;"></div>
<div class="ann-overlay" style="left:0px;;">
Make a snapshot of AUT preferences and copy them into this context
</div>
</div>
<div class="ann" style="top:118px;left:616px;">
<div class="ann-border" style="width:75px;height:22px;"></div>
<div class="ann-overlay" style="left:0px;;">
Applies preferences to AUT. If option is on, clears existing AUT preferences first
</div>
</div>
<div class="ann" style="top:152px;left:69px;">
<div class="ann-border" style="width:95px;height:20px;"></div>
<div class="ann-overlay" style="left:0px;;">
Arbitrary plain text associated with a context
</div>
</div>
<div class="ann" style="top:200px;left:75px;">
<div class="ann-border" style="width:115px;height:21px;"></div>
<div class="ann-overlay" style="left:0px;;">
Click this button to clear current AUT preferences first
</div>
</div>
<div class="ann" style="top:227px;left:541px;">
<div class="ann-border" style="width:144px;height:22px;"></div>
<div class="ann-overlay" style="left:0px;;">
Pretty much the same as Eclipse's standard Project/FileSystem import wizards, but imported resources go directly inside Preferences context, not inside RCPTT workspace.
</div>
</div>
<div class="ann" style="top:256px;left:541px;">
<div class="ann-border" style="width:144px;height:22px;"></div>
<div class="ann-overlay" style="left:0px;;">
You can manually add a preference into a context with this button
</div>
</div>
<div class="ann" style="top:285px;left:541px;">
<div class="ann-border" style="width:144px;height:22px;"></div>
<div class="ann-overlay" style="left:0px;;">
Removes selected preference(s) from a context
</div>
</div>
<div class="ann" style="top:227px;left:75px;">
<div class="ann-border" style="width:460px;height:230px;"></div>
<div class="ann-overlay" style="left:0px;;">
List of preferences which should be applied. You can change the value of any preference.
</div>
</div>
</div>
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Preferences context example</h3>
</div>
<div class="panel-body">
In the <a href="http://uml-lab.com">UML Lab</a> product when a user saves the UML diagram for the first time, the dialog popup appears which asks whether to turn automatic code generation on or off.
Based on user input, it modifies its internal property <i>com.yattasolutions.codegen.GenerateCodeOnSave</i> and also sets <i>com.yattasolutions.umllab.dontshow.generateCodeOnSave</i> to <b>true</b>.
<br><br>
Thus, if a test case is recorded for the first time, clicking on any option on the dialog popup is recorded as well, but later this dialog does not appear and, as a result, execution fails since it cannot find the specified dialog.
There are two ways to ensure that test always passes in this case:
<br><br>
<ul>
<li>Create preferences context with <i>dontshow.generateCodeOnSave</i> set to <b>false</b></li>
<li>Create preferences context with <i>dontshow.generateCodeOnSave</i> set to <b>true</b> and remove script lines responsible for this dialog in the Test Editor</li>
<ul>
</div>
</div>
<div class="panel panel-warning">
<div class="panel-heading">
<h3 class="panel-title">Important</h3>
</div>
<div class="panel-body">
While it is currently not tracked by RCPTT, the Preferences context may depend on AUT workspace content since the context may contain project-specific preferences.
Therefore, it may also depend on a <a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/workspace">workspace context</a>, if there is one assigned to the test case.
In some cases, applying the Preference context fails if referred projects do not exist in the workspace.
In order to prevent this, you should either manually remove corresponding project preference nodes or use this context coupled with the workspace context.
In latter case, please ensure that your preference context runs after the workspace context (i.e. the preference context
is placed below the workspace context in the Contexts section of the Test Editor).
</div>
</div>
</div>
</div>
</div>
</section>
<script src="https://www.eclipse.org/rcptt/shared/js/main.js"></script>
</body>