OpenKeyWord  Build_ID: 457, Datum: 01.02.2020 07:45:48
Dont repeat yourself. - Do it once and only once!
FrmSeChrome.java
1 package okw.gui.frames;
2 
3 import java.io.IOException;
4 import java.util.ArrayList;
5 
6 import javax.xml.xpath.XPathExpressionException;
7 
8 import org.openqa.selenium.chrome.ChromeDriver;
9 import org.openqa.selenium.chrome.ChromeOptions;
10 
11 import okw.OKW;
12 import okw.OKW_Memorize_Sngltn;
13 import okw.OKW_Properties;
14 // import okw.gui.adapter.selenium.webdriver.*;
15 import okw.gui.adapter.selenium.SeBrowserWindow;
16 
17 
48 @OKW (FN="Chrome")
49 public class FrmSeChrome extends SeBrowserWindow
50 {
51 
53 
58 
94  @Override
95  public void SelectWindow()
96  {
97  LogFunctionStart( "SelectWindow" );
98  LogPrint( "Do nothing here..." );
99  LogFunctionEnd();
100  }
101 
105  public void StartApp()
106  {
107  LogFunctionStartDebug( "StartApp" );
108 
109  try
110  {
111  String DriverPath;
112 
113  if ( ( DriverPath = System.getProperty( "webdriver.chrome.driver" ) ) != null )
114  {
115  LogPrint( "System.Property: webdriver.chrome.driver is set: '" + DriverPath + "'" );
116  MEM.set( "System.Property: webdriver.chrome.driver", DriverPath );
117  }
118  else if ( ( DriverPath = System.getenv( "OKWChromedriverPath" ) ) != null )
119  {
120  LogPrint( "System.Property: webdriver.chrome.driver is not set" );
121  LogPrint( "EnvVar: OKWChromedriverPath='" + DriverPath + "'" );
122  System.setProperty( "webdriver.chrome.driver", DriverPath );
123  MEM.set( "System.Property: webdriver.chrome.driver", DriverPath );
124  MEM.set( "OKW EnvVar: OKWChromedriverPath", DriverPath );
125  }
126  else
127  {
128  LogPrint( "System.Property: webdriver.chrome.driver is not set" );
129  LogWarning( "Enviroment Variable 'OKWChromedriverPath' is not set!" );
130 
131  String os_name = System.getProperty( "os.name" );
132 
133  switch ( os_name )
134  {
135  case "Mac OS X":
136  System.setProperty( "webdriver.chrome.driver", "/Applications/chromedriver" );
137  break;
138  case "Linux":
139  System.setProperty( "webdriver.chrome.driver", "/usr/bin/chromedriver" );
140  break;
141  default:
142  LogError( "Unknown Property: 'os.name'= '" + System.getProperty( "os.name" ) + "'" );
143  break;
144  }
145  }
146 
147  // get ChromeOptions from frmSeChrome.Propreties <-- OKW_Properties
148  ArrayList<String> frmSeChrome_option = OKW_Properties.getInstance().getPropertiesForKeysStartswith( "frmSeChrome.option." );
149 
150  ChromeOptions options = new ChromeOptions().addArguments( frmSeChrome_option );
151 
152  // Sets the path to the Chrome executable.
153  if ( OKW_Properties.getInstance().getProperty( "frmSeChrome.setBinary" ) != null )
154  options.setBinary( OKW_Properties.getInstance().getProperty( "frmSeChrome.setBinary" ) ) ;
155 
156 
157  mySeDriver.setDriver( new ChromeDriver( options ) );
158 
159  }
160  catch (XPathExpressionException e)
161  {
162  // TODO Auto-generated catch block
163  throw new RuntimeException( e );
164  }
165  catch (IOException e)
166  {
167  // TODO Auto-generated catch block
168  e.printStackTrace();
169  }
170  finally
171  {
172  this.LogFunctionEndDebug();
173  }
174  }
175 
176  public void StopApp()
177  {
178  LogFunctionStartDebug( "StopApp()" );
179 
180  mySeDriver.getDriver().close();
181  mySeDriver.getDriver().quit();
182 
183  try
184  {
185  //Runtime rt = Runtime.getRuntime();
186 
187  if (System.getProperty("os.name").toLowerCase().indexOf("windows") > -1)
188  {
189  LogPrintDebug( "before windows taskkill Chrome " );
190  //rt.exec("taskkill Chrome");
191  }
192  else
193  {
194  LogPrintDebug( "before linux/osx pkill -f Chrome " );
195  // rt.exec("pkill -f Chrome");
196  // rt.exec("killall chromedriver");
197  }
198 
199  //Thread.sleep( 3000 );
200  }
201  // catch (InterruptedException | IOException e)
202  catch ( Exception e)
203  {
204  LogPrintDebug( "before catch (InterruptedException | IOException e)" );
205  // TODO Auto-generated catch block
206  e.printStackTrace();
207  LogPrintDebug( "after catch (InterruptedException | IOException e)" );
208  }
209  finally
210  {
211  LogPrintDebug( "finaly.. " );
212  LogFunctionEndDebug();
213  }
214  }
215 }
okw.OKW_Properties
Reihenfolge der Resourcen-"Beladung".
Definition: OKW_Properties.java:46
okw.gui.frames.FrmSeChrome.StartApp
void StartApp()
Chrome Options https://github.com/GoogleChrome/chrome-launcher/blob/master/docs/chrome-flags-for-tool...
Definition: FrmSeChrome.java:105
okw.OKW_Memorize_Sngltn
OKW_Memorize ist die Speicher-Klasse hinter den Merke*-Schlüsselwörter.
Definition: OKW_Memorize_Sngltn.java:73
okw.OKW_Properties.getInstance
static OKW_Properties getInstance()
Holt die einzige Instanz dieser Klasse.
Definition: OKW_Properties.java:116
okw.gui.frames.FrmSeChrome.SelectWindow
void SelectWindow()
Diese Methode ist gedacht um ein Fenster/Dialog in den Vordergrund zu holen.
Definition: FrmSeChrome.java:95
okw.OKW_Properties.getProperty
String getProperty(String fpsKey)
Ermittelt den aktuellen Wert des Propertys gegeben mit dem Schlüssel fpsKey.
Definition: OKW_Properties.java:804
okw.OKW_Properties.getPropertiesForKeysStartswith
ArrayList< String > getPropertiesForKeysStartswith(String Startwith)
Ermittelt alle Properties der keys, die mit dem gegebenen String Startwitth Anfangen.
Definition: OKW_Properties.java:770
okw.OKW_Memorize_Sngltn.set
void set(String fpsKey, String fpsValue)
Setzt/Merkt sich das MemKey/Value-Paar.
Definition: OKW_Memorize_Sngltn.java:452
okw.gui.adapter.selenium.SeBrowserWindow
Definition: SeBrowserWindow.java:58
okw.OKW_Memorize_Sngltn.getInstance
static OKW_Memorize_Sngltn getInstance()
Diese Methode gibt die einzige Instanz dieser Klasse zurück.
Definition: OKW_Memorize_Sngltn.java:198
okw.gui.frames.FrmSeChrome
Definition: FrmSeChrome.java:49