OpenKeyWord  Version: 426, Datum:
SeCheckBox.cs
1 #region Header
2 /*
3  ==============================================================================
4  Author: Zoltan Hrabovszki <zh@openkeyword.de>
5 
6  Copyright © 2012, 2013, 2014, 2015 IT-Beratung Hrabovszki
7  www.OpenKeyWord.de
8  ==============================================================================
9 
10  This file is part of OpenKeyWord.
11 
12  OpenKeyWord is free software: you can redistribute it and/or modify
13  it under the terms of the GNU General Public License as published by
14  the Free Software Foundation, either version 3 of the License, or
15  (at your option) any later version.
16 
17  OpenKeyWord is distributed in the hope that it will be useful,
18  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  GNU General Public License for more details.
21 
22  You should have received a copy of the GNU General Public License
23  along with OpenKeyWord. If not, see <http://www.gnu.org/licenses/>.
24 
25  Diese Datei ist Teil von OpenKeyWord.
26 
27  OpenKeyWord ist Freie Software: Sie können es unter den Bedingungen
28  der GNU General Public License, wie von der Free Software Foundation,
29  Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren
30  veröffentlichten Version, weiterverbreiten und/oder modifizieren.
31 
32  OpenKeyWord wird in der Hoffnung, dass es nützlich sein wird, aber
33  OHNE JEDE GEWÄHRLEISTUNG, bereitgestellt; sogar ohne die implizite
34  Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.
35  Siehe die GNU General Public License für weitere Details.
36 
37  Sie sollten eine Kopie der GNU General Public License zusammen mit
38  OpenKeyWord erhalten haben. Wenn nicht, siehe <http://www.gnu.org/licenses/>.
39 */
40 #endregion Header
41 
42 namespace OKW.GUI.Selenium
43 {
44  using System;
45  using System.Collections.Generic;
46 
47  using OKW.GUI;
48 
56  {
57  #region Constructors
58 
68  public SeCheckBox(string Locator)
69  : base(Locator)
70  {
71  this.LM = new LogMessenger("GUI");
72  }
73 
74  public SeCheckBox( string fpsLocator, params OKWLocator[] fpLocators ) : base (fpsLocator, fpLocators)
75  {
76  this.LM = new LogMessenger("GUI");
77  }
78  #endregion Constructors
79 
80  #region Methods
81 
93  public virtual bool IsSelected()
94  {
95  bool bOK = false;
96  bool lvbReturn = false;
97 
98  this.LogFunctionStartDebug("IsSelected");
99 
100  try
101  {
102  // Hole Zusand: Frei nach William Shakespeare: Häckchen oder kein Häckchen, das ist hier die Frage?
103  lvbReturn = this.Me().Selected;
104  bOK = true;
105  }
106  finally
107  {
108  if (bOK)
109  {
110  this.LogFunctionEndDebug(lvbReturn);
111  }
112  else
113  {
114  this.LogFunctionEndDebug( );
115  }
116  }
117 
118  return lvbReturn;
119  }
120 
121 
127  public virtual void Checking()
128  {
129  this.LogFunctionStartDebug("Checking");
130 
131  try
132  {
133  // Hab ich ein Häckchen?
134  if (!this.IsSelected())
135  {
136  // Nö, Häckchensetzen
137  //this.Me().Click();
138  this.ClickOn();
139  }
140  }
141  finally
142  {
143  this.LogFunctionEndDebug();
144  }
145 
146  return;
147  }
148 
156  public override List<string> GetValue()
157  {
158  List<string> lvls_Return = new List<string>();
159  bool bOK = false;
160  try
161  {
162  this.LogFunctionStartDebug("GetValue");
163 
164  // Wenn das Objekt nicht existiert mit Exception beenden...
165  if (!this.GetExists())
166  {
167  string lvsLM = this.LM.GetMessage("Common", "OKWGUIObjectNotFoundException", "GetValue()");
168  throw new OKWGUIObjectNotFoundException(lvsLM);
169  }
170 
171  if (this.IsSelected())
172  {
173  string lvsValue = OKW_Const.Instance.GetConst4Internalname("CHECKED");
174  lvls_Return.Add(lvsValue);
175  }
176  else
177  {
178  string lvsValue = OKW_Const.Instance.GetConst4Internalname("UNCHECKED");
179  lvls_Return.Add(lvsValue);
180  }
181 
182  bOK = true;
183  }
184  finally
185  {
186  if (bOK)
187  {
188  this.LogFunctionEndDebug();
189  }
190  else
191  {
192  this.LogFunctionEndDebug(lvls_Return);
193  }
194  }
195 
196  return lvls_Return;
197  }
198 
199  // public virtual void TypeKey(List<string> Values) -> SeAnyWin.TypeKey()
200  // public virtual void Set Focus -> SeAnyWin.Set_Focus()
203  public virtual void Select(List<string> fps_Values)
204  {
205  this.LogFunctionStartDebug("Select", "fps_Values", fps_Values.ToString());
206 
207  try
208  {
209  // Wenn das Objekt nicht existiert mit Exception beenden...
210  if (!this.GetExists())
211  {
212  string lvsLM = this.LM.GetMessage("Common", "OKWGUIObjectNotFoundException", "Select()");
213  throw new OKWGUIObjectNotFoundException(lvsLM + "\\Locator: >>" + this.Locator+ "<<");
214  }
215 
216  // Sprachabhängige Werte holen
217  string lvsCHECKED = OKW_Const.Instance.GetConst4Internalname("CHECKED");
218  string lvsUNCHECKED = OKW_Const.Instance.GetConst4Internalname("UNCHECKED");
219 
220  if (fps_Values[0].ToUpper() == lvsCHECKED.ToUpper())
221  {
222  this.Checking();
223  }
224  else if (fps_Values[0].ToUpper() == lvsUNCHECKED.ToUpper())
225  {
226  this.UnChecking();
227  }
228  else
229  {
230  // LANGUAGE: Exceptionmeldungen in eine Eigene xml Auslagern.
231  string lvsLM = this.LM.GetMessage("Common", "OKWNotAllowedValueException", fps_Values[0]);
232  throw new OKWNotAllowedValueException(lvsLM);
233  }
234  }
235  finally
236  {
237  this.LogFunctionEndDebug();
238  }
239 
240  return;
241  }
242 
251  public virtual void UnChecking()
252  {
253  this.LogFunctionStartDebug("UnChecking");
254 
255  try
256  {
257  // Hab ich ein Häckchen?
258  if (this.IsSelected())
259  {
260  // Jepp: dann klicken und Häckchen weg...
261  this.ClickOn();
262  }
263  }
264  finally
265  {
266  this.LogFunctionEndDebug();
267  }
268 
269  return;
270  }
271 
272  #endregion Methods
273  }
274 }
static OKW_Const Instance
Holt die einzige Instanz dieser Klasse. Die Instanz dieser Klasse.
Definition: OKW_Const.cs:309
Diese Ausnahme wird ausgelöst, wenn ein GUI-Objekt zu den im Frame gegebenen Objekterkennungseigensch...
string GetConst4Internalname(string fpsInternalname)
Methode ermittelt für Internalname und der aktuell eingestellten Sprache den Wert für Const...
Definition: OKW_Const.cs:551
Diese Klasse representiert eine CheckBox, die mit Selenium angsteuert wird.
Definition: SeCheckBox.cs:55
OKW_Const verwaltet die sprachabhängigen OKW-Konstanten.
Definition: OKW_Const.cs:128
override List< string > GetValue()
Ermittelt den aktuellen Wert der CheckBox.
Definition: SeCheckBox.cs:156
SeCheckBox(string Locator)
Konstruktor der Klasse SeCheckBox.
Definition: SeCheckBox.cs:68
virtual void Select(List< string > fps_Values)
Definition: SeCheckBox.cs:203
LogMessenger liest Log-Meldungen sprachspezifisch für die im Konstruktor gegeben Klasse aus der Zugeh...
Definition: LogMessenger.cs:90
virtual void UnChecking()
Method verlässt die Checkbox unangehakt, egal ob sie vorher angehakt war oder nicht. Anmerkung: Die Eigenschaft Elemen.Selected ist nicht beschreibar. Daher.
Definition: SeCheckBox.cs:251
Description of OKWLocator.
Definition: OKWLocator.cs:52
virtual bool IsSelected()
Method ermittel oder liefert den aktuellen zustend der Checkbox, also ob die angehakt oder Nicht ange...
Definition: SeCheckBox.cs:93
virtual void Checking()
Method verlässt die Checkbox angehakt, egal ob diese vorher angehakt war oder nicht.
Definition: SeCheckBox.cs:127
Description of SeSimpleDataObjBase.
Definition: Core.cs:40