├── .project
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── alm
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── pom.xml
└── src
│ └── org
│ └── xframium
│ └── integrations
│ └── alm
│ ├── ALMRESTConnection.java
│ ├── ALMResponse.java
│ └── entity
│ ├── ALMAttachment.java
│ ├── ALMData.java
│ ├── ALMDefect.java
│ └── ALMEntity.java
├── driver
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── LICENSE
├── build.xml
├── pom.xml
├── src
│ └── org
│ │ └── xframium
│ │ ├── console
│ │ ├── ExecutionContainer.java
│ │ ├── http
│ │ │ ├── ExecutionConsole.java
│ │ │ ├── handler
│ │ │ │ ├── ECHandler.java
│ │ │ │ ├── package-info.java
│ │ │ │ └── spi
│ │ │ │ │ ├── ExecuteTest.java
│ │ │ │ │ ├── KillSwitch.java
│ │ │ │ │ ├── ListFolder.java
│ │ │ │ │ ├── OpenConsole.java
│ │ │ │ │ ├── OpenFile.java
│ │ │ │ │ ├── OpenHTML.java
│ │ │ │ │ ├── OpenSuite.java
│ │ │ │ │ ├── TestStatus.java
│ │ │ │ │ ├── ThreadStatus.java
│ │ │ │ │ └── package-info.java
│ │ │ ├── html
│ │ │ │ ├── css
│ │ │ │ │ ├── angular-ui-tree.css
│ │ │ │ │ ├── angular-ui-tree.min.css
│ │ │ │ │ ├── application.css
│ │ │ │ │ ├── bootstrap-select.css
│ │ │ │ │ ├── bootstrap-select.min.css
│ │ │ │ │ ├── package-info.java
│ │ │ │ │ ├── toolkit-inverse.css
│ │ │ │ │ └── toolkit-light.css
│ │ │ │ ├── executionConsole.html
│ │ │ │ ├── images
│ │ │ │ │ ├── BLOCKED.png
│ │ │ │ │ ├── NEW.png
│ │ │ │ │ ├── RUNNABLE.png
│ │ │ │ │ ├── TERMINATED.png
│ │ │ │ │ ├── TIMED_WAITING.png
│ │ │ │ │ ├── WAITING.png
│ │ │ │ │ ├── mll.png
│ │ │ │ │ └── xframium.png
│ │ │ │ ├── js
│ │ │ │ │ ├── angular-ui-tree.js
│ │ │ │ │ ├── angular-ui-tree.min.js
│ │ │ │ │ ├── bootstrap-select.js
│ │ │ │ │ ├── bootstrap-select.min.js
│ │ │ │ │ ├── bootstrap.min.js
│ │ │ │ │ ├── ec.js
│ │ │ │ │ ├── ecServices.js
│ │ │ │ │ ├── package-info.java
│ │ │ │ │ ├── selection-model.min.js
│ │ │ │ │ ├── ui-bootstrap-2.1.3.js
│ │ │ │ │ ├── ui-bootstrap-2.1.3.min.js
│ │ │ │ │ ├── ui-bootstrap-tpls-2.1.3.min.js
│ │ │ │ │ └── ui-bootstrap-tpls-2.1.4.js
│ │ │ │ └── package-info.java
│ │ │ └── package-info.java
│ │ └── package-info.java
│ │ └── driver
│ │ ├── AbstractConfigurationReader.java
│ │ ├── ConfigurationReader.java
│ │ ├── GlobalListener.java
│ │ ├── SuiteListener.java
│ │ ├── TXTConfigurationReader.java
│ │ ├── TestDriver.java
│ │ ├── XMLConfigurationReader.java
│ │ ├── XMLTestDriver.java
│ │ └── xsd
│ │ ├── ObjectFactory.java
│ │ ├── XActivity.java
│ │ ├── XApplication.java
│ │ ├── XArtifact.java
│ │ ├── XCapabilities.java
│ │ ├── XCloud.java
│ │ ├── XContent.java
│ │ ├── XData.java
│ │ ├── XDependency.java
│ │ ├── XDescription.java
│ │ ├── XDevice.java
│ │ ├── XDeviceCapability.java
│ │ ├── XDevices.java
│ │ ├── XDriver.java
│ │ ├── XElement.java
│ │ ├── XElementParameter.java
│ │ ├── XFlow.java
│ │ ├── XFramiumRoot.java
│ │ ├── XFunction.java
│ │ ├── XInitiator.java
│ │ ├── XLibrary.java
│ │ ├── XModel.java
│ │ ├── XObjectDeviceCapability.java
│ │ ├── XOptions.java
│ │ ├── XPackage.java
│ │ ├── XPackages.java
│ │ ├── XPage.java
│ │ ├── XParameter.java
│ │ ├── XProperty.java
│ │ ├── XPropertyAdapter.java
│ │ ├── XProxy.java
│ │ ├── XReference.java
│ │ ├── XReferences.java
│ │ ├── XSecurity.java
│ │ ├── XSimpleElement.java
│ │ ├── XStep.java
│ │ ├── XSuite.java
│ │ ├── XTag.java
│ │ ├── XTest.java
│ │ ├── XToken.java
│ │ ├── XValidator.java
│ │ ├── package-info.java
│ │ └── xFramiumDriver.xsd
└── xEC.jnlp
├── extensions
└── xframium-perfecto
│ ├── .classpath
│ ├── .gitignore
│ ├── .project
│ ├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
│ ├── pom.xml
│ └── src
│ └── com
│ └── xframium
│ └── device
│ └── factory
│ └── spi
│ ├── PERFECTODriverFactory.java
│ └── PerfectoWebDriver.java
├── framework
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── LICENSE
├── pom.xml
├── src
│ └── org
│ │ └── xframium
│ │ ├── Initializable.java
│ │ ├── Tester.java
│ │ ├── XFramiumNamespaceContext.java
│ │ ├── application
│ │ ├── AbstractApplicationProvider.java
│ │ ├── ApplicationDescriptor.java
│ │ ├── ApplicationProvider.java
│ │ ├── ApplicationRegistry.java
│ │ ├── ApplicationVersion.java
│ │ ├── CSVApplicationProvider.java
│ │ ├── ExcelApplicationProvider.java
│ │ ├── SQLApplicationProvider.java
│ │ ├── XMLApplicationProvider.java
│ │ ├── package-info.java
│ │ ├── sql
│ │ │ ├── package-info.java
│ │ │ ├── sample-inserts.sql
│ │ │ └── tables.sql
│ │ └── xsd
│ │ │ ├── Application.java
│ │ │ ├── DeviceCapability.java
│ │ │ ├── ObjectFactory.java
│ │ │ ├── RegistryRoot.java
│ │ │ ├── applicationRegistry.xsd
│ │ │ └── package-info.java
│ │ ├── artifact
│ │ ├── AbstractArtifact.java
│ │ ├── Artifact.java
│ │ ├── ArtifactManager.java
│ │ ├── ArtifactTime.java
│ │ ├── ArtifactType.java
│ │ ├── package-info.java
│ │ └── spi
│ │ │ ├── ALMDefectArtifact.java
│ │ │ ├── AllInOneReportArtifact.java
│ │ │ ├── CSVDataArtifact.java
│ │ │ ├── ConsoleLogArtifact.java
│ │ │ ├── DefaultHistoryReportingArtifact.java
│ │ │ ├── DefaultReportingArtifact.java
│ │ │ ├── DefaultSuiteReportingArtifact.java
│ │ │ ├── DeviceLogArtifact.java
│ │ │ ├── HTMLAssetsArtifact.java
│ │ │ ├── HTMLGridArtifact.java
│ │ │ ├── HTMLSourceArtifact.java
│ │ │ ├── ImagingArtifact.java
│ │ │ ├── JIRAUpdateExecutionArtifact.java
│ │ │ ├── JSONArtifact.java
│ │ │ ├── JSONGridArtifact.java
│ │ │ ├── JSONHistoryArtifact.java
│ │ │ ├── JSONSuiteArtifact.java
│ │ │ ├── PerfectoCSVReport.java
│ │ │ ├── PerfectoHTMLReport.java
│ │ │ ├── PerfectoPDFReport.java
│ │ │ ├── PerfectoReportingServices.java
│ │ │ ├── PerfectoWindTunnel.java
│ │ │ ├── PerfectoXMLReport.java
│ │ │ ├── SauceLabsReportingServices.java
│ │ │ ├── StatisticsArtifact.java
│ │ │ ├── TimingArtifact.java
│ │ │ ├── VitalsArtifact.java
│ │ │ └── XMLSourceArtifact.java
│ │ ├── browser
│ │ └── capabilities
│ │ │ ├── AbstractBrowserCapability.java
│ │ │ ├── BrowserCapabilityFactory.java
│ │ │ ├── BrowserCapabilityManager.java
│ │ │ └── ChromeOptionsFactory.java
│ │ ├── container
│ │ ├── ApplicationContainer.java
│ │ ├── CloudContainer.java
│ │ ├── ContextContainer.java
│ │ ├── DeviceContainer.java
│ │ ├── DriverContainer.java
│ │ ├── FavoriteContainer.java
│ │ ├── FileContainer.java
│ │ ├── FrameContainer.java
│ │ ├── ModelContainer.java
│ │ ├── PageContainer.java
│ │ ├── SiteContainer.java
│ │ ├── SuiteContainer.java
│ │ ├── TagContainer.java
│ │ ├── ThreadContainer.java
│ │ └── WindowContainer.java
│ │ ├── content
│ │ ├── ContentData.java
│ │ ├── ContentManager.java
│ │ ├── DefaultContentData.java
│ │ ├── package-info.java
│ │ └── provider
│ │ │ ├── AbstractContentProvider.java
│ │ │ ├── ContentProvider.java
│ │ │ ├── ExcelContentProvider.java
│ │ │ ├── SQLContentProvider.java
│ │ │ ├── XMLContentProvider.java
│ │ │ ├── package-info.java
│ │ │ └── sql
│ │ │ ├── package-info.java
│ │ │ ├── sample-insert.sql
│ │ │ └── table.sql
│ │ ├── debugger
│ │ ├── DebugManager.java
│ │ ├── StepContainer.java
│ │ ├── TestContainer.java
│ │ ├── debugger.html
│ │ ├── handler
│ │ │ ├── AheadHandler.java
│ │ │ ├── ExtractHandler.java
│ │ │ ├── ExtractXMLHandler.java
│ │ │ ├── PauseHandler.java
│ │ │ ├── ResumeHandler.java
│ │ │ ├── SessionHandler.java
│ │ │ ├── SnapshotHandler.java
│ │ │ └── TestHandler.java
│ │ └── sessions.html
│ │ ├── device
│ │ ├── ConnectedDevice.java
│ │ ├── DeviceAnalytics.java
│ │ ├── DeviceCap.java
│ │ ├── DeviceManager.java
│ │ ├── DeviceVersion.java
│ │ ├── SimpleDevice.java
│ │ ├── XFramiumLock.java
│ │ ├── capability
│ │ │ ├── AbstractCapabilityBridge.java
│ │ │ ├── CapabilityBridge.java
│ │ │ └── ExampleCapabilityBridge.java
│ │ ├── cloud
│ │ │ ├── AbstractCloudProvider.java
│ │ │ ├── CSVCloudProvider.java
│ │ │ ├── CloudDescriptor.java
│ │ │ ├── CloudProvider.java
│ │ │ ├── CloudRegistry.java
│ │ │ ├── EncryptedCloudProvider.java
│ │ │ ├── ExcelCloudProvider.java
│ │ │ ├── SQLCloudProvider.java
│ │ │ ├── XMLCloudProvider.java
│ │ │ ├── action
│ │ │ │ ├── APPIUMCloudActionProvider.java
│ │ │ │ ├── AbstractCloudActionProvider.java
│ │ │ │ ├── BROWSERSTACKCloudActionProvider.java
│ │ │ │ ├── CloudActionProvider.java
│ │ │ │ ├── PERFECTOCloudActionProvider.java
│ │ │ │ ├── SAUCELABSCloudActionProvider.java
│ │ │ │ ├── SELENIUMCloudActionProvider.java
│ │ │ │ └── WINDOWSCloudActionProvider.java
│ │ │ ├── package-info.java
│ │ │ ├── sql
│ │ │ │ ├── package-info.java
│ │ │ │ ├── sample-insert.sql
│ │ │ │ └── table.sql
│ │ │ └── xsd
│ │ │ │ ├── Cloud.java
│ │ │ │ ├── KeepAlive.java
│ │ │ │ ├── ObjectFactory.java
│ │ │ │ ├── RegistryRoot.java
│ │ │ │ ├── cloudRegistry.xsd
│ │ │ │ └── package-info.java
│ │ ├── comparator
│ │ │ ├── WeightedDeviceComparator.java
│ │ │ └── package-info.java
│ │ ├── data
│ │ │ ├── CSVDataProvider.java
│ │ │ ├── DataManager.java
│ │ │ ├── DataProvider.java
│ │ │ ├── ExcelDataProvider.java
│ │ │ ├── NamedDataProvider.java
│ │ │ ├── SQLDataProvider.java
│ │ │ ├── XMLDataProvider.java
│ │ │ ├── package-info.java
│ │ │ ├── perfectoMobile
│ │ │ │ ├── AbstractHandsetValidator.java
│ │ │ │ ├── AvailableHandsetValidator.java
│ │ │ │ ├── PerfectoMobileDataProvider.java
│ │ │ │ ├── PerfectoMobileHandsetValidator.java
│ │ │ │ ├── PerfectoMobilePluginProvider.java
│ │ │ │ ├── ReservedHandsetValidator.java
│ │ │ │ └── package-info.java
│ │ │ ├── sql
│ │ │ │ ├── package-info.java
│ │ │ │ ├── sample-inserts.sql
│ │ │ │ └── tables.sql
│ │ │ └── xsd
│ │ │ │ ├── Device.java
│ │ │ │ ├── DeviceCapability.java
│ │ │ │ ├── ObjectFactory.java
│ │ │ │ ├── RegistryRoot.java
│ │ │ │ ├── deviceRegistry.xsd
│ │ │ │ └── package-info.java
│ │ ├── factory
│ │ │ ├── AbstractDriverFactory.java
│ │ │ ├── CachedWebElement.java
│ │ │ ├── DeviceWebDriver.java
│ │ │ ├── DriverFactory.java
│ │ │ ├── DriverManager.java
│ │ │ ├── MorelandWebElement.java
│ │ │ ├── package-info.java
│ │ │ └── spi
│ │ │ │ ├── .gitignore
│ │ │ │ ├── ANDROIDDriverFactory.java
│ │ │ │ ├── EXPERITESTDriverFactory.java
│ │ │ │ ├── IOSDriverFactory.java
│ │ │ │ ├── WEBDriverFactory.java
│ │ │ │ ├── WINDOWSDriverFactory.java
│ │ │ │ └── package-info.java
│ │ ├── interrupt
│ │ │ ├── AbstractDeviceInterrupt.java
│ │ │ ├── CallDeviceInterrupt.java
│ │ │ ├── DeviceInterrupt.java
│ │ │ ├── DeviceInterruptFactory.java
│ │ │ ├── DeviceInterruptThread.java
│ │ │ ├── NOOPDeviceInterrupt.java
│ │ │ ├── SMSDeviceInterrupt.java
│ │ │ └── package-info.java
│ │ ├── keepAlive
│ │ │ ├── AbstractDeviceKeepAlive.java
│ │ │ ├── ContextKeepAlive.java
│ │ │ ├── DeviceKeepAlive.java
│ │ │ └── SnapshotKeepAlive.java
│ │ ├── logging
│ │ │ ├── ThreadedFileHandler.java
│ │ │ └── package-info.java
│ │ ├── ng
│ │ │ ├── AbstractJavaTest.java
│ │ │ ├── AbstractSeleniumTest.java
│ │ │ ├── RunContainer.java
│ │ │ ├── TestContainer.java
│ │ │ ├── TestName.java
│ │ │ ├── TestPackage.java
│ │ │ └── package-info.java
│ │ ├── package-info.java
│ │ ├── property
│ │ │ ├── AbstractPropertyAdapter.java
│ │ │ ├── AppiumPropertyAdapter.java
│ │ │ ├── PropertyAdapter.java
│ │ │ ├── SeleniumPropertyAdapter.java
│ │ │ └── package-info.java
│ │ └── proxy
│ │ │ └── ProxyRegistry.java
│ │ ├── email
│ │ ├── AbstractEmailProvider.java
│ │ ├── EmailProvider.java
│ │ ├── EmailProviderFactory.java
│ │ ├── package-info.java
│ │ ├── receive
│ │ │ ├── AbstractReceiveEmailProvider.java
│ │ │ ├── MessageWrapper.java
│ │ │ ├── ReceiveEmailProvider.java
│ │ │ ├── filter
│ │ │ │ ├── AbstractMessageFilter.java
│ │ │ │ ├── MessageFilter.java
│ │ │ │ ├── package-info.java
│ │ │ │ └── spi
│ │ │ │ │ ├── AgeMessageFilter.java
│ │ │ │ │ ├── FromMessageFilter.java
│ │ │ │ │ ├── SubjectMessageFilter.java
│ │ │ │ │ └── package-info.java
│ │ │ ├── package-info.java
│ │ │ └── spi
│ │ │ │ ├── DefaultReceiveEmailProvider.java
│ │ │ │ └── package-info.java
│ │ └── send
│ │ │ ├── AbstractSendEmailProvider.java
│ │ │ ├── SendEmailProvider.java
│ │ │ ├── package-info.java
│ │ │ └── spi
│ │ │ ├── DefaultSendEmailProvider.java
│ │ │ └── package-info.java
│ │ ├── exception
│ │ ├── BubbledFailureException.java
│ │ ├── DataConfigurationException.java
│ │ ├── DataIdentificationException.java
│ │ ├── DeviceAcquisitionException.java
│ │ ├── DeviceConfigurationException.java
│ │ ├── DeviceException.java
│ │ ├── FilteredException.java
│ │ ├── FlowException.java
│ │ ├── ObjectConfigurationException.java
│ │ ├── ObjectIdentificationException.java
│ │ ├── ScriptConfigurationException.java
│ │ ├── ScriptException.java
│ │ ├── TestConfigurationException.java
│ │ └── XFramiumException.java
│ │ ├── gesture
│ │ ├── AbstractDragDropGesture.java
│ │ ├── AbstractGesture.java
│ │ ├── AbstractKeyBoardGesture.java
│ │ ├── AbstractKeyPressGesture.java
│ │ ├── AbstractPressGesture.java
│ │ ├── AbstractRotateGesture.java
│ │ ├── AbstractSwipeGesture.java
│ │ ├── AbstractTwoFingerGesture.java
│ │ ├── Gesture.java
│ │ ├── GestureConsumer.java
│ │ ├── GestureManager.java
│ │ ├── device
│ │ │ └── action
│ │ │ │ ├── AbstractDefaultAction.java
│ │ │ │ ├── DeviceAction.java
│ │ │ │ ├── DeviceActionFactory.java
│ │ │ │ ├── DeviceActionManager.java
│ │ │ │ ├── package-info.java
│ │ │ │ └── spi
│ │ │ │ └── perfecto
│ │ │ │ ├── BackAction.java
│ │ │ │ ├── CallAction.java
│ │ │ │ ├── CleanApplicationAction.java
│ │ │ │ ├── CloseApplicationAction.java
│ │ │ │ ├── ConfigureNetworkAction.java
│ │ │ │ ├── CopyFileAction.java
│ │ │ │ ├── DownloadFileAction.java
│ │ │ │ ├── DumpStateAction.java
│ │ │ │ ├── FingerPrintAction.java
│ │ │ │ ├── HideKeyboardAction.java
│ │ │ │ ├── HomeAction.java
│ │ │ │ ├── InstallApplicationAction.java
│ │ │ │ ├── LocationAction.java
│ │ │ │ ├── LockScreenAction.java
│ │ │ │ ├── OpenApplicationAction.java
│ │ │ │ ├── PerfectoDeviceActionFactory.java
│ │ │ │ ├── RebootAction.java
│ │ │ │ ├── RecoverAction.java
│ │ │ │ ├── ResetApplicationsAction.java
│ │ │ │ ├── SendKeysAction.java
│ │ │ │ ├── SendTextAction.java
│ │ │ │ ├── StartMonitorAction.java
│ │ │ │ ├── StartNetworkVirtualization.java
│ │ │ │ ├── StopMonitorAction.java
│ │ │ │ ├── StopNetworkVirtualization.java
│ │ │ │ ├── SwitchContextAction.java
│ │ │ │ ├── URLAction.java
│ │ │ │ ├── UninstallApplicationAction.java
│ │ │ │ └── package-info.java
│ │ ├── factory
│ │ │ ├── AbstractGestureFactory.java
│ │ │ ├── ExecutionProvider.java
│ │ │ ├── GestureFactory.java
│ │ │ ├── package-info.java
│ │ │ └── spi
│ │ │ │ ├── AppiumGestureFactory.java
│ │ │ │ ├── PerfectoGestureFactory.java
│ │ │ │ ├── PerfectoV7GestureFactory.java
│ │ │ │ ├── SeleniumGestureFactory.java
│ │ │ │ ├── appium
│ │ │ │ ├── DragDropGesture.java
│ │ │ │ ├── KeyBoardGesture.java
│ │ │ │ ├── KeyPressGesture.java
│ │ │ │ ├── PressGesture.java
│ │ │ │ ├── RotateGesture.java
│ │ │ │ ├── SwipeGesture.java
│ │ │ │ ├── TwoFingerGesture.java
│ │ │ │ └── package-info.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── perfecto
│ │ │ │ ├── DragDropGesture.java
│ │ │ │ ├── KeyPressGesture.java
│ │ │ │ ├── PressGesture.java
│ │ │ │ ├── RotateGesture.java
│ │ │ │ ├── SwipeGesture.java
│ │ │ │ ├── TwoFingerGesture.java
│ │ │ │ └── package-info.java
│ │ │ │ └── selenium
│ │ │ │ ├── DragDropGesture.java
│ │ │ │ ├── KeyPressGesture.java
│ │ │ │ └── package-info.java
│ │ └── package-info.java
│ │ ├── history
│ │ └── HistoryWriter.java
│ │ ├── imaging
│ │ ├── ImagingActionType.java
│ │ └── package-info.java
│ │ ├── integrations
│ │ ├── common
│ │ │ ├── Location.java
│ │ │ ├── PercentagePoint.java
│ │ │ └── package-info.java
│ │ ├── perfectoMobile
│ │ │ └── rest
│ │ │ │ ├── PerfectoMobile.java
│ │ │ │ ├── bean
│ │ │ │ ├── Action.java
│ │ │ │ ├── ApplicationCollection.java
│ │ │ │ ├── Execution.java
│ │ │ │ ├── ExecutionCollection.java
│ │ │ │ ├── ExecutionReport.java
│ │ │ │ ├── ExecutionResult.java
│ │ │ │ ├── GestureExecution.java
│ │ │ │ ├── Handset.java
│ │ │ │ ├── HandsetCollection.java
│ │ │ │ ├── ImageExecution.java
│ │ │ │ ├── Item.java
│ │ │ │ ├── ItemCollection.java
│ │ │ │ ├── Response.java
│ │ │ │ ├── Script.java
│ │ │ │ ├── Timer.java
│ │ │ │ └── package-info.java
│ │ │ │ ├── package-info.java
│ │ │ │ └── services
│ │ │ │ ├── AbstractService.java
│ │ │ │ ├── Application.java
│ │ │ │ ├── Device.java
│ │ │ │ ├── Devices.java
│ │ │ │ ├── Executions.java
│ │ │ │ ├── Gestures.java
│ │ │ │ ├── Imaging.java
│ │ │ │ ├── PerfectoService.java
│ │ │ │ ├── RESTInvocationHandler.java
│ │ │ │ ├── Reports.java
│ │ │ │ ├── Repositories.java
│ │ │ │ ├── WindTunnel.java
│ │ │ │ └── package-info.java
│ │ ├── rest
│ │ │ └── bean
│ │ │ │ ├── AbstractBean.java
│ │ │ │ ├── Bean.java
│ │ │ │ ├── factory
│ │ │ │ ├── AbstractBeanFactory.java
│ │ │ │ ├── BeanFactory.java
│ │ │ │ ├── BeanManager.java
│ │ │ │ ├── JSONBeanFactory.java
│ │ │ │ ├── XMLBeanFactory.java
│ │ │ │ └── package-info.java
│ │ │ │ └── package-info.java
│ │ └── sauceLabs
│ │ │ └── rest
│ │ │ ├── SauceException.java
│ │ │ ├── SauceREST.java
│ │ │ ├── SauceSSLSocketFactory.java
│ │ │ ├── SecurityUtils.java
│ │ │ └── bean
│ │ │ ├── Allowance.java
│ │ │ └── User.java
│ │ ├── package-info.java
│ │ ├── page
│ │ ├── AbstractPage.java
│ │ ├── BY.java
│ │ ├── ElementDescriptor.java
│ │ ├── LocalAbstractPage.java
│ │ ├── Page.java
│ │ ├── PageManager.java
│ │ ├── StepStatus.java
│ │ ├── activity
│ │ │ ├── ActivityInitiator.java
│ │ │ ├── ActivityValidator.java
│ │ │ ├── PageActivity.java
│ │ │ └── package-info.java
│ │ ├── data
│ │ │ ├── DefaultPageData.java
│ │ │ ├── PageData.java
│ │ │ ├── PageDataContainer.java
│ │ │ ├── PageDataManager.java
│ │ │ ├── package-info.java
│ │ │ └── provider
│ │ │ │ ├── AbstractPageDataProvider.java
│ │ │ │ ├── ExcelPageDataProvider.java
│ │ │ │ ├── PageDataProvider.java
│ │ │ │ ├── SQLPageDataProvider.java
│ │ │ │ ├── XMLPageDataProvider.java
│ │ │ │ ├── package-info.java
│ │ │ │ └── sql
│ │ │ │ ├── package-info.java
│ │ │ │ ├── sample-inserts.sql
│ │ │ │ └── tables.sql
│ │ ├── element
│ │ │ ├── AbstractElement.java
│ │ │ ├── ByCollection.java
│ │ │ ├── ByImage.java
│ │ │ ├── ByNaturalLanguage.java
│ │ │ ├── ByOCR.java
│ │ │ ├── ByResult.java
│ │ │ ├── ByWrapper.java
│ │ │ ├── Element.java
│ │ │ ├── ElementFactory.java
│ │ │ ├── ElementFork.java
│ │ │ ├── ReportableBy.java
│ │ │ ├── SeleniumElement.java
│ │ │ ├── SubElement.java
│ │ │ ├── VisualWebElement.java
│ │ │ ├── natural
│ │ │ │ ├── NLXpath.java
│ │ │ │ ├── NLXpathFactory.java
│ │ │ │ ├── NaturalLanguageDescriptor.java
│ │ │ │ └── spi
│ │ │ │ │ ├── AbstractNLXPath.java
│ │ │ │ │ ├── AndroidNLXPath.java
│ │ │ │ │ ├── IOSNLXPath.java
│ │ │ │ │ └── WEBNLXPath.java
│ │ │ ├── package-info.java
│ │ │ ├── provider
│ │ │ │ ├── AbstractElementProvider.java
│ │ │ │ ├── CSVElementProvider.java
│ │ │ │ ├── ElementDataSource.java
│ │ │ │ ├── ElementProvider.java
│ │ │ │ ├── ExcelElementProvider.java
│ │ │ │ ├── QAFElementProvider.java
│ │ │ │ ├── SQLElementProvider.java
│ │ │ │ ├── XMLElementProvider.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── sql
│ │ │ │ │ ├── package-info.java
│ │ │ │ │ ├── sample-inserts.sql
│ │ │ │ │ └── tables.sql
│ │ │ │ └── xsd
│ │ │ │ │ ├── Activity.java
│ │ │ │ │ ├── Element.java
│ │ │ │ │ ├── ElementParameter.java
│ │ │ │ │ ├── Import.java
│ │ │ │ │ ├── Initiator.java
│ │ │ │ │ ├── ObjectFactory.java
│ │ │ │ │ ├── Page.java
│ │ │ │ │ ├── RegistryRoot.java
│ │ │ │ │ ├── SimpleElement.java
│ │ │ │ │ ├── Site.java
│ │ │ │ │ ├── Validator.java
│ │ │ │ │ ├── package-info.java
│ │ │ │ │ └── pageRegistry.xsd
│ │ │ └── spi
│ │ │ │ ├── package-info.java
│ │ │ │ └── set
│ │ │ │ ├── AbstractSetMethod.java
│ │ │ │ ├── DefaultSetMethod.java
│ │ │ │ ├── NumberPickerSetMethod.java
│ │ │ │ ├── PickerSetMethod.java
│ │ │ │ ├── SelectSetMethod.java
│ │ │ │ ├── SetMethod.java
│ │ │ │ ├── SetMethodFactory.java
│ │ │ │ ├── SpinnerSetMethod.java
│ │ │ │ ├── ULSetMethod.java
│ │ │ │ └── package-info.java
│ │ ├── factory
│ │ │ ├── AbstractPageFactory.java
│ │ │ ├── DefaultPageFactory.java
│ │ │ ├── LocalPageFactory.java
│ │ │ ├── PageFactory.java
│ │ │ └── package-info.java
│ │ ├── keyWord
│ │ │ ├── GherkinContainer.java
│ │ │ ├── KeyWordDriver.java
│ │ │ ├── KeyWordPage.java
│ │ │ ├── KeyWordParameter.java
│ │ │ ├── KeyWordStep.java
│ │ │ ├── KeyWordTest.java
│ │ │ ├── KeyWordToken.java
│ │ │ ├── gherkinExtension
│ │ │ │ └── XMLFormatter.java
│ │ │ ├── matrixExtension
│ │ │ │ ├── DataArray.java
│ │ │ │ ├── MatrixParameter.java
│ │ │ │ ├── MatrixParameterArray.java
│ │ │ │ ├── MatrixStep.java
│ │ │ │ ├── MatrixStepArray.java
│ │ │ │ ├── MatrixTest.java
│ │ │ │ ├── MatrixToken.java
│ │ │ │ └── MatrixTokenArray.java
│ │ │ ├── package-info.java
│ │ │ ├── provider
│ │ │ │ ├── ExcelKeyWordProvider.java
│ │ │ │ ├── GherkinKeyWordProvider.java
│ │ │ │ ├── KeyWordProvider.java
│ │ │ │ ├── SQLKeyWordProvider.java
│ │ │ │ ├── XMLKeyWordProvider.java
│ │ │ │ ├── gherkin
│ │ │ │ │ └── CommonGherkin.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── sql
│ │ │ │ │ ├── package-info.java
│ │ │ │ │ ├── sample-inserts.sql
│ │ │ │ │ └── tables.sql
│ │ │ │ └── xsd
│ │ │ │ │ ├── Description.java
│ │ │ │ │ ├── Import.java
│ │ │ │ │ ├── Model.java
│ │ │ │ │ ├── ObjectFactory.java
│ │ │ │ │ ├── Page.java
│ │ │ │ │ ├── Parameter.java
│ │ │ │ │ ├── RegistryRoot.java
│ │ │ │ │ ├── Reporting.java
│ │ │ │ │ ├── Step.java
│ │ │ │ │ ├── Test.java
│ │ │ │ │ ├── Token.java
│ │ │ │ │ ├── XFunction.java
│ │ │ │ │ └── package-info.java
│ │ │ ├── spi
│ │ │ │ ├── KeyWordPageImpl.java
│ │ │ │ └── package-info.java
│ │ │ └── step
│ │ │ │ ├── AbstractKeyWordStep.java
│ │ │ │ ├── KeyWordStepFactory.java
│ │ │ │ ├── StepSync.java
│ │ │ │ ├── SyntheticStep.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── spi
│ │ │ │ ├── KWSAccessibility.java
│ │ │ │ ├── KWSAddDevice.java
│ │ │ │ ├── KWSAddDevice2.java
│ │ │ │ ├── KWSAlert.java
│ │ │ │ ├── KWSAlign.java
│ │ │ │ ├── KWSApplication.java
│ │ │ │ ├── KWSAt.java
│ │ │ │ ├── KWSAttribute.java
│ │ │ │ ├── KWSBreak.java
│ │ │ │ ├── KWSBrowser.java
│ │ │ │ ├── KWSCache.java
│ │ │ │ ├── KWSCall.java
│ │ │ │ ├── KWSCall2.java
│ │ │ │ ├── KWSCheckColor.java
│ │ │ │ ├── KWSClick.java
│ │ │ │ ├── KWSCommand.java
│ │ │ │ ├── KWSCompare.java
│ │ │ │ ├── KWSCompare2.java
│ │ │ │ ├── KWSConsole.java
│ │ │ │ ├── KWSContext.java
│ │ │ │ ├── KWSContrastRatio.java
│ │ │ │ ├── KWSDate.java
│ │ │ │ ├── KWSDebug.java
│ │ │ │ ├── KWSDevice.java
│ │ │ │ ├── KWSDumpState.java
│ │ │ │ ├── KWSElse.java
│ │ │ │ ├── KWSEmail.java
│ │ │ │ ├── KWSEnabled.java
│ │ │ │ ├── KWSExecJS.java
│ │ │ │ ├── KWSExecWS.java
│ │ │ │ ├── KWSExists.java
│ │ │ │ ├── KWSFlow.java
│ │ │ │ ├── KWSFocus.java
│ │ │ │ ├── KWSFork.java
│ │ │ │ ├── KWSFunction.java
│ │ │ │ ├── KWSGesture.java
│ │ │ │ ├── KWSGherkin.java
│ │ │ │ ├── KWSLoop.java
│ │ │ │ ├── KWSLoopBreak.java
│ │ │ │ ├── KWSMath.java
│ │ │ │ ├── KWSModule.java
│ │ │ │ ├── KWSMouse.java
│ │ │ │ ├── KWSNavigate.java
│ │ │ │ ├── KWSOperator.java
│ │ │ │ ├── KWSRandom.java
│ │ │ │ ├── KWSReport.java
│ │ │ │ ├── KWSReturn.java
│ │ │ │ ├── KWSSQL.java
│ │ │ │ ├── KWSScript.java
│ │ │ │ ├── KWSSelected.java
│ │ │ │ ├── KWSSet.java
│ │ │ │ ├── KWSSetContentKey.java
│ │ │ │ ├── KWSString.java
│ │ │ │ ├── KWSString2.java
│ │ │ │ ├── KWSSwitch.java
│ │ │ │ ├── KWSSync.java
│ │ │ │ ├── KWSValue.java
│ │ │ │ ├── KWSVisible.java
│ │ │ │ ├── KWSVisual.java
│ │ │ │ ├── KWSWait.java
│ │ │ │ ├── KWSWaitFor.java
│ │ │ │ ├── KWSWindow.java
│ │ │ │ └── package-info.java
│ │ │ │ └── transform
│ │ │ │ ├── DefaultTransformation.java
│ │ │ │ ├── SecureTransformation.java
│ │ │ │ ├── ValueTransformation.java
│ │ │ │ └── ValueTransformationFactory.java
│ │ ├── listener
│ │ │ ├── ExecutionListener.java
│ │ │ ├── KeyWordListener.java
│ │ │ ├── LoggingExecutionListener.java
│ │ │ └── package-info.java
│ │ ├── outputFormatter.properties
│ │ └── package-info.java
│ │ ├── reporting
│ │ ├── ElementUsage.java
│ │ ├── ExecutionContext.java
│ │ ├── ExecutionContextStep.java
│ │ ├── ExecutionContextTest.java
│ │ ├── ReportingElementAdapter.java
│ │ ├── ReportingWebElementAdapter.java
│ │ ├── html
│ │ │ ├── .DS_Store
│ │ │ ├── dark
│ │ │ │ ├── Grid.html
│ │ │ │ ├── Grid.js
│ │ │ │ ├── History.html
│ │ │ │ ├── History.js
│ │ │ │ ├── Imaging.html
│ │ │ │ ├── Suite.html
│ │ │ │ ├── Suite.js
│ │ │ │ ├── Test.html
│ │ │ │ ├── Test.js
│ │ │ │ └── Timing.html
│ │ │ └── light
│ │ │ │ ├── .DS_Store
│ │ │ │ ├── Grid.html
│ │ │ │ ├── History.html
│ │ │ │ ├── Imaging.html
│ │ │ │ ├── Suite.html
│ │ │ │ ├── Test.html
│ │ │ │ ├── Timing.html
│ │ │ │ └── assets.zip
│ │ └── package-info.java
│ │ ├── resource
│ │ ├── accessibility
│ │ │ └── axe
│ │ │ │ └── axe.min.js
│ │ ├── package-info.java
│ │ ├── script
│ │ │ ├── applications
│ │ │ │ ├── applicationRegistry.xml
│ │ │ │ └── package-info.java
│ │ │ └── xfNative
│ │ │ │ ├── functions
│ │ │ │ ├── functions-xfNative.xml
│ │ │ │ ├── xF-Launch Settings.xml
│ │ │ │ ├── xF-Set Airplane Mode.xml
│ │ │ │ ├── xF-Set Data Mode.xml
│ │ │ │ ├── xF-Set Date-Time.xml
│ │ │ │ ├── xF-Set Location Mode.xml
│ │ │ │ ├── xF-Set Notifications Mode.xml
│ │ │ │ ├── xF-Set WiFi Mode.xml
│ │ │ │ └── xF-Trust Developer.xml
│ │ │ │ ├── objectRepository
│ │ │ │ ├── page-xF-Application Notifications.xml
│ │ │ │ ├── page-xF-Cellular.xml
│ │ │ │ ├── page-xF-Device Management.xml
│ │ │ │ ├── page-xF-General.xml
│ │ │ │ ├── page-xF_Date-Time.xml
│ │ │ │ ├── page-xF_Location.xml
│ │ │ │ ├── page-xF_Notification.xml
│ │ │ │ ├── page-xF_Notifications.xml
│ │ │ │ ├── page-xF_Settings.xml
│ │ │ │ ├── page-xF_Wi-Fi.xml
│ │ │ │ └── site-xfNative.xml
│ │ │ │ └── package-info.java
│ │ └── xpath.html
│ │ ├── spi
│ │ ├── Device.java
│ │ ├── PropertyProvider.java
│ │ ├── driver
│ │ │ ├── CachedElement.java
│ │ │ ├── CachingDriver.java
│ │ │ ├── DeviceProvider.java
│ │ │ ├── NativeDriverProvider.java
│ │ │ ├── ReportiumProvider.java
│ │ │ ├── VisualDriverProvider.java
│ │ │ └── package-info.java
│ │ └── package-info.java
│ │ └── utility
│ │ ├── BrowserCacheLogic.java
│ │ ├── ContextWalker.java
│ │ ├── DateUtility.java
│ │ ├── ExecutionDefinition.java
│ │ ├── ExecutionDefinitionMap.java
│ │ ├── FrameWalker.java
│ │ ├── ImageUtility.java
│ │ ├── Randomizer.java
│ │ ├── SQLUtil.java
│ │ ├── SeleniumSessionManager.java
│ │ ├── WebServiceClientUtil.java
│ │ ├── WindowWalker.java
│ │ ├── XMLEscape.java
│ │ ├── XPathGenerator.java
│ │ ├── data
│ │ ├── cityNames.txt
│ │ ├── emailDomains.txt
│ │ ├── firstNames.txt
│ │ ├── lastNames.txt
│ │ ├── package-info.java
│ │ ├── stateNames.txt
│ │ └── streetNames.txt
│ │ ├── html
│ │ ├── HTMLElementLookup.java
│ │ ├── HTMLElementManager.java
│ │ ├── HTMLFunction.java
│ │ ├── HTMLParameter.java
│ │ ├── HTTPLinkCheck.java
│ │ └── package-info.java
│ │ ├── package-info.java
│ │ ├── parser
│ │ └── xpath
│ │ │ ├── XPath.tokens
│ │ │ ├── XPathBaseListener.java
│ │ │ ├── XPathBaseVisitor.java
│ │ │ ├── XPathLexer.java
│ │ │ ├── XPathLexer.tokens
│ │ │ ├── XPathListener.java
│ │ │ ├── XPathParser.java
│ │ │ └── XPathVisitor.java
│ │ └── xpath.substitution.properties
├── test
│ └── resources
│ │ ├── data.sql
│ │ └── driverConfig.txt
└── xframium.yml
├── jenkins
└── README
├── jira
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── pom.xml
└── src
│ └── org
│ └── xframium
│ └── integrations
│ └── jira
│ ├── ExecutionStatus.java
│ ├── HTTPMethod.java
│ ├── JIRAConnector.java
│ ├── JIRAConnectorImpl.java
│ ├── entity
│ ├── JIRAAttachment.java
│ ├── JIRAEntity.java
│ ├── JIRAExecution.java
│ ├── JIRAProject.java
│ ├── JIRATestCycle.java
│ └── JIRAVersion.java
│ └── util
│ ├── JIRAConnectorUtil.java
│ ├── JIRAEncryptorUtil.java
│ └── ZIPFileUtil.java
├── launcher
└── bin
│ ├── fail.png
│ └── success.png
├── sampleWebTest
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── pom.xml
├── resources
│ ├── .gitignore
│ ├── Web Test.xml
│ ├── applicationRegistry.xml
│ ├── cloudRegistry.xml
│ ├── data
│ │ ├── SAMPLE_DATA.xlsx
│ │ └── testData.xml
│ ├── deviceRegistry.xml
│ ├── functions
│ │ ├── Web Test
│ │ │ └── Reporting.xml
│ │ └── functions-Web Test.xml
│ ├── objectRepository
│ │ └── Web Test
│ │ │ ├── Facebook
│ │ │ ├── page-Login.xml
│ │ │ └── site-Facebook.xml
│ │ │ ├── Google
│ │ │ ├── page-Search.xml
│ │ │ └── site-Google.xml
│ │ │ └── objectRepository.xml
│ └── tests
│ │ ├── GroupDataTest.xml
│ │ ├── Web Test
│ │ ├── Facebook Test.xml
│ │ └── Google Search.xml
│ │ └── tests-Web Test.xml
└── src
│ └── org
│ └── xframium
│ └── webTest
│ └── WebTestDriver.java
├── terminal-driver
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.core.resources.prefs
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── doc
│ └── run-configs
│ │ ├── Headless AppTest.launch
│ │ └── Run Emulator.launch
├── lib
│ └── openjfx-monocle-8u76-b04.jar
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ ├── com
│ │ └── bytezone
│ │ │ └── dm3270
│ │ │ ├── application
│ │ │ ├── CommandFactory.java
│ │ │ ├── CommandPane.java
│ │ │ ├── Console.java
│ │ │ ├── ConsoleKeyEvent.java
│ │ │ ├── ConsoleKeyPress.java
│ │ │ ├── ConsolePane.java
│ │ │ ├── KeyboardStatusChangedEvent.java
│ │ │ ├── KeyboardStatusListener.java
│ │ │ ├── Mainframe.java
│ │ │ ├── MainframeStage.java
│ │ │ ├── OptionStage.java
│ │ │ ├── Parameters.java
│ │ │ ├── ReplayStage.java
│ │ │ ├── SiteListStage.java
│ │ │ ├── SpyPane.java
│ │ │ ├── Terminal.java
│ │ │ └── mf.txt
│ │ │ ├── assistant
│ │ │ ├── AbstractTransferTab.java
│ │ │ ├── BatchJob.java
│ │ │ ├── BatchJobListener.java
│ │ │ ├── BatchJobSelectionListener.java
│ │ │ ├── BatchJobTab.java
│ │ │ ├── BatchJobTable.java
│ │ │ ├── CommandsTab.java
│ │ │ ├── Dataset.java
│ │ │ ├── DatasetSelectionListener.java
│ │ │ ├── DatasetTab.java
│ │ │ ├── DatasetTable.java
│ │ │ ├── DatasetTreeTable.java
│ │ │ ├── DefaultTreeTable.java
│ │ │ ├── FileSelectionListener.java
│ │ │ ├── FilesTab.java
│ │ │ ├── TSOCommand.java
│ │ │ ├── TransfersStage.java
│ │ │ └── TransfersTab.java
│ │ │ ├── attributes
│ │ │ ├── Attribute.java
│ │ │ ├── BackgroundColor.java
│ │ │ ├── ColorAttribute.java
│ │ │ ├── ExtendedHighlight.java
│ │ │ ├── ForegroundColor.java
│ │ │ ├── ResetAttribute.java
│ │ │ └── StartFieldAttribute.java
│ │ │ ├── buffers
│ │ │ ├── AbstractBuffer.java
│ │ │ ├── AbstractReplyBuffer.java
│ │ │ ├── AbstractTN3270Command.java
│ │ │ ├── AbstractTelnetCommand.java
│ │ │ ├── Buffer.java
│ │ │ ├── DefaultBuffer.java
│ │ │ ├── MultiBuffer.java
│ │ │ └── ReplyBuffer.java
│ │ │ ├── commands
│ │ │ ├── AIDCommand.java
│ │ │ ├── Command.java
│ │ │ ├── EraseAllUnprotectedCommand.java
│ │ │ ├── Profile.java
│ │ │ ├── ReadCommand.java
│ │ │ ├── ReadPartitionQuery.java
│ │ │ ├── ReadStructuredFieldCommand.java
│ │ │ ├── SystemMessage.java
│ │ │ ├── WriteCommand.java
│ │ │ ├── WriteControlCharacter.java
│ │ │ └── WriteStructuredFieldCommand.java
│ │ │ ├── console
│ │ │ ├── ConsoleLog.java
│ │ │ ├── ConsoleLogStage.java
│ │ │ ├── ConsoleMessage.java
│ │ │ ├── ConsoleMessageListener.java
│ │ │ ├── ConsoleMessageTab.java
│ │ │ └── ConsoleMessageTable.java
│ │ │ ├── display
│ │ │ ├── ContextManager.java
│ │ │ ├── Cursor.java
│ │ │ ├── CursorMoveListener.java
│ │ │ ├── DisplayScreen.java
│ │ │ ├── Field.java
│ │ │ ├── FieldChangeListener.java
│ │ │ ├── FieldManager.java
│ │ │ ├── FontDetails.java
│ │ │ ├── FontManager.java
│ │ │ ├── FontManagerType1.java
│ │ │ ├── HistoryManager.java
│ │ │ ├── HistoryScreen.java
│ │ │ ├── Pen.java
│ │ │ ├── PenType1.java
│ │ │ ├── Screen.java
│ │ │ ├── ScreenChangeListener.java
│ │ │ ├── ScreenContext.java
│ │ │ ├── ScreenDimensions.java
│ │ │ ├── ScreenPacker.java
│ │ │ ├── ScreenPosition.java
│ │ │ ├── ScreenWatcher.java
│ │ │ └── TSOCommandListener.java
│ │ │ ├── extended
│ │ │ ├── AbstractExtendedCommand.java
│ │ │ ├── BindCommand.java
│ │ │ ├── CommandHeader.java
│ │ │ ├── LogicalUnit.java
│ │ │ ├── ResponseCommand.java
│ │ │ ├── TN3270ExtendedCommand.java
│ │ │ └── UnbindCommand.java
│ │ │ ├── filetransfer
│ │ │ ├── ContentsRecord.java
│ │ │ ├── DataRecord.java
│ │ │ ├── DownloadDialog.java
│ │ │ ├── ErrorRecord.java
│ │ │ ├── FileTransferInboundSF.java
│ │ │ ├── FileTransferOutboundSF.java
│ │ │ ├── FileTransferSF.java
│ │ │ ├── IndFileCommand.java
│ │ │ ├── RecordNumber.java
│ │ │ ├── RecordSize.java
│ │ │ ├── Transfer.java
│ │ │ ├── TransferDialog.java
│ │ │ ├── TransferListener.java
│ │ │ ├── TransferManager.java
│ │ │ ├── TransferMenu.java
│ │ │ ├── TransferRecord.java
│ │ │ └── UploadDialog.java
│ │ │ ├── orders
│ │ │ ├── BufferAddress.java
│ │ │ ├── BufferAddressSource.java
│ │ │ ├── EraseUnprotectedToAddressOrder.java
│ │ │ ├── FormatControlOrder.java
│ │ │ ├── GraphicsEscapeOrder.java
│ │ │ ├── InsertCursorOrder.java
│ │ │ ├── ModifyFieldOrder.java
│ │ │ ├── Order.java
│ │ │ ├── ProgramTabOrder.java
│ │ │ ├── RepeatToAddressOrder.java
│ │ │ ├── SetAttributeOrder.java
│ │ │ ├── SetBufferAddressOrder.java
│ │ │ ├── StartFieldExtendedOrder.java
│ │ │ ├── StartFieldOrder.java
│ │ │ └── TextOrder.java
│ │ │ ├── plugins
│ │ │ ├── DefaultPlugin.java
│ │ │ ├── Plugin.java
│ │ │ ├── PluginData.java
│ │ │ ├── PluginField.java
│ │ │ ├── PluginsStage.java
│ │ │ └── ScreenLocation.java
│ │ │ ├── replyfield
│ │ │ ├── AlphanumericPartitions.java
│ │ │ ├── AuxilliaryDevices.java
│ │ │ ├── CharacterSets.java
│ │ │ ├── Color.java
│ │ │ ├── DefaultReply.java
│ │ │ ├── DistributedDataManagement.java
│ │ │ ├── Highlight.java
│ │ │ ├── ImplicitPartition.java
│ │ │ ├── OEMAuxilliaryDevice.java
│ │ │ ├── QueryReplyField.java
│ │ │ ├── RPQNames.java
│ │ │ ├── ReplyModes.java
│ │ │ ├── Segment.java
│ │ │ ├── Summary.java
│ │ │ ├── Transparency.java
│ │ │ └── UsableArea.java
│ │ │ ├── session
│ │ │ ├── Session.java
│ │ │ ├── SessionReader.java
│ │ │ ├── SessionRecord.java
│ │ │ └── SessionTable.java
│ │ │ ├── streams
│ │ │ ├── BufferListener.java
│ │ │ ├── MainframeServer.java
│ │ │ ├── SpyServer.java
│ │ │ ├── TelnetListener.java
│ │ │ ├── TelnetSocket.java
│ │ │ ├── TelnetState.java
│ │ │ ├── TelnetStateListener.java
│ │ │ └── TerminalServer.java
│ │ │ ├── structuredfields
│ │ │ ├── DefaultStructuredField.java
│ │ │ ├── EraseResetSF.java
│ │ │ ├── Outbound3270DS.java
│ │ │ ├── QueryReplySF.java
│ │ │ ├── ReadPartitionSF.java
│ │ │ ├── SetReplyModeSF.java
│ │ │ └── StructuredField.java
│ │ │ ├── telnet
│ │ │ ├── TN3270ExtendedSubcommand.java
│ │ │ ├── TelnetCommand.java
│ │ │ ├── TelnetCommandProcessor.java
│ │ │ ├── TelnetProcessor.java
│ │ │ ├── TelnetSubcommand.java
│ │ │ └── TerminalTypeSubcommand.java
│ │ │ └── utilities
│ │ │ ├── DefaultTable.java
│ │ │ ├── Dm3270Utility.java
│ │ │ ├── FileSaver.java
│ │ │ ├── GuiFactory.java
│ │ │ ├── ISite.java
│ │ │ ├── PreferencesStage.java
│ │ │ ├── Site.java
│ │ │ └── WindowSaver.java
│ │ └── org
│ │ └── xframium
│ │ └── terminal
│ │ └── driver
│ │ ├── Dm3270Console.java
│ │ ├── Dm3270Context.java
│ │ ├── Tn3270SpecialKeyCodes.java
│ │ ├── Tn3270TerminalDriver.java
│ │ ├── screen
│ │ └── model
│ │ │ ├── Action.java
│ │ │ ├── Application.java
│ │ │ ├── Field.java
│ │ │ ├── Link.java
│ │ │ ├── Location.java
│ │ │ ├── ObjectFactory.java
│ │ │ ├── RegistryRoot.java
│ │ │ ├── Screen.java
│ │ │ ├── package-info.java
│ │ │ └── xsd
│ │ │ └── terminal-screen-model.xsd
│ │ └── util
│ │ ├── SceneRobot.java
│ │ └── Utilities.java
│ └── test
│ ├── java
│ └── org
│ │ └── xframium
│ │ └── terminal
│ │ └── driver
│ │ ├── AppTest.java
│ │ └── JXpathTest.java
│ └── resources
│ ├── TestApp.xml
│ └── test.properties
├── testing
├── .gitignore
├── .project
├── applicationRegistry.xml
├── data
│ └── testData.xml
├── deviceRegistry.xml
├── driverConfig-CI.xml
├── driverConfig.xml
├── driverConfig2.xml
├── driverConfigMCP2.xml
├── functions
│ ├── functions-CIBC.xml
│ ├── functions-xTest.xml
│ └── xTest
│ │ ├── Report Test Success.xml
│ │ ├── andSet.xml
│ │ ├── callDataChange.xml
│ │ ├── checkData.xml
│ │ ├── checkData2.xml
│ │ ├── error function.xml
│ │ ├── kw-alert.xml
│ │ ├── kw-align.xml
│ │ ├── kw-attribute.xml
│ │ ├── kw-browser.xml
│ │ ├── kw-cache.xml
│ │ ├── kw-call.xml
│ │ ├── kw-checkcolor.xml
│ │ ├── kw-checkcontrast.xml
│ │ ├── kw-click.xml
│ │ ├── kw-compare.xml
│ │ ├── kw-compare2.xml
│ │ ├── kw-dumpstate.xml
│ │ ├── kw-else.xml
│ │ ├── kw-execjs.xml
│ │ ├── kw-execws.xml
│ │ ├── kw-exists.xml
│ │ ├── kw-flow.xml
│ │ ├── kw-focus.xml
│ │ ├── kw-get.xml
│ │ ├── kw-loop.xml
│ │ ├── kw-math.xml
│ │ ├── kw-mouse.xml
│ │ ├── kw-navigate.xml
│ │ ├── kw-operator.xml
│ │ ├── kw-random.xml
│ │ ├── kw-report.xml
│ │ ├── kw-set.xml
│ │ ├── kw-sql.xml
│ │ ├── kw-string.xml
│ │ ├── kw-visible.xml
│ │ ├── kw-visual.xml
│ │ ├── kw-wait.xml
│ │ ├── kw-waitfor.xml
│ │ ├── kw-window.xml
│ │ ├── orSet.xml
│ │ ├── setValue.xml
│ │ ├── setValue2.xml
│ │ ├── setValueFromElement.xml
│ │ ├── setValueFromNumericIndex.xml
│ │ └── setValueWithBreak.xml
├── html
│ ├── testing.html
│ └── testing2.html
├── objectRepository
│ ├── synthetics
│ │ ├── New Test Suite
│ │ │ ├── Google Home
│ │ │ │ └── Results
│ │ │ │ │ ├── Firefox Windows 8.1 firefox 46.png
│ │ │ │ │ └── Firefox Windows 8.1 firefox 46.xml
│ │ │ └── wikipedia
│ │ │ │ └── home
│ │ │ │ ├── Firefox Windows 8.1 firefox 46.png
│ │ │ │ └── Firefox Windows 8.1 firefox 46.xml
│ │ └── xTest
│ │ │ ├── Microsoft
│ │ │ └── home
│ │ │ │ ├── Firefox Windows 8.1 firefox 46.png
│ │ │ │ └── Firefox Windows 8.1 firefox 46.xml
│ │ │ ├── Wiki
│ │ │ ├── Article
│ │ │ │ ├── Firefox Windows 8.1 firefox 46.png
│ │ │ │ └── Firefox Windows 8.1 firefox 46.xml
│ │ │ ├── English Home
│ │ │ │ ├── Firefox Windows 8.1 firefox 46.png
│ │ │ │ └── Firefox Windows 8.1 firefox 46.xml
│ │ │ ├── German Home
│ │ │ │ ├── Firefox Windows 8.1 firefox 46.png
│ │ │ │ └── Firefox Windows 8.1 firefox 46.xml
│ │ │ └── Home
│ │ │ │ ├── Firefox Windows 8.1 firefox 46.png
│ │ │ │ └── Firefox Windows 8.1 firefox 46.xml
│ │ │ ├── xTest
│ │ │ ├── Home2
│ │ │ │ ├── Firefox Windows 8.1 firefox 46.png
│ │ │ │ └── Firefox Windows 8.1 firefox 46.xml
│ │ │ ├── eBaums
│ │ │ │ ├── Firefox Windows 8.1 firefox 46.png
│ │ │ │ └── Firefox Windows 8.1 firefox 46.xml
│ │ │ ├── home
│ │ │ │ ├── Firefox Windows 8.1 firefox 46.png
│ │ │ │ └── Firefox Windows 8.1 firefox 46.xml
│ │ │ └── page two
│ │ │ │ ├── Firefox Windows 8.1 firefox 46.png
│ │ │ │ └── Firefox Windows 8.1 firefox 46.xml
│ │ │ └── xf
│ │ │ └── home
│ │ │ ├── Android Chrome.png
│ │ │ └── Android Chrome.xml
│ └── xTest
│ │ ├── NFCU
│ │ ├── page-Failed Login.xml
│ │ ├── page-Home.xml
│ │ └── site-NFCU.xml
│ │ ├── Settings
│ │ ├── page-Date and Time.xml
│ │ ├── page-General.xml
│ │ ├── page-Home.xml
│ │ ├── page-Safari.xml
│ │ └── site-Settings.xml
│ │ ├── objectRepository.xml
│ │ ├── xF_Native
│ │ ├── page-xF-Application Notifications.xml
│ │ ├── page-xF-Cellular.xml
│ │ ├── page-xF-Device Management.xml
│ │ ├── page-xF-General.xml
│ │ ├── page-xF_Location.xml
│ │ ├── page-xF_Notification.xml
│ │ ├── page-xF_Notifications.xml
│ │ ├── page-xF_Settings.xml
│ │ ├── page-xF_Wi-Fi.xml
│ │ └── site-xF_Native.xml
│ │ └── xTest
│ │ ├── page-home.xml
│ │ ├── page-page two.xml
│ │ └── site-xTest.xml
├── pageData
│ ├── pageData.xlsx
│ └── pageData.xml
├── tests
│ ├── tests-CIBC.xml
│ ├── tests-xTest.xml
│ └── xTest
│ │ ├── Accessibility Test.xml
│ │ ├── Alert Test.xml
│ │ ├── Align Test.xml
│ │ ├── Attribute Test.xml
│ │ ├── Browser Test.xml
│ │ ├── Cache Test.xml
│ │ ├── Call Test.xml
│ │ ├── Checkbox Test.xml
│ │ ├── Click Test.xml
│ │ ├── Compare Test.xml
│ │ ├── Comparison Test.xml
│ │ ├── ERROR Test 2.xml
│ │ ├── ERROR Test.xml
│ │ ├── Else Test.xml
│ │ ├── Exists Test.xml
│ │ ├── Flow Tests.xml
│ │ ├── Focus Test.xml
│ │ ├── GET Value Test.xml
│ │ ├── JS Test.xml
│ │ ├── LEGACY Compare Test.xml
│ │ ├── Loop Test.xml
│ │ ├── Math Test.xml
│ │ ├── Mouse Test.xml
│ │ ├── NFCU Login.xml
│ │ ├── Navigate Test.xml
│ │ ├── Operator Test.xml
│ │ ├── Perfecto SET Test.xml
│ │ ├── Random Test.xml
│ │ ├── Report Test.xml
│ │ ├── SET Test.xml
│ │ ├── SQL Test.xml
│ │ ├── State Test.xml
│ │ ├── String Test.xml
│ │ ├── Test.xml
│ │ ├── Verify Color Test.xml
│ │ ├── Verify Contrast Test.xml
│ │ ├── Visible Test.xml
│ │ ├── Visual Test.xml
│ │ ├── Wait For Test.xml
│ │ ├── Wait Test.xml
│ │ ├── WebService Test.xml
│ │ ├── Window Keyword.xml
│ │ ├── xFramium 2nd Device.xml
│ │ ├── xFramium Complex Version Test.xml
│ │ ├── xFramium Dump State Historical Test.xml
│ │ ├── xFramium Dump State Test.xml
│ │ ├── xFramium Flow Control.xml
│ │ ├── xFramium GRID dumpstate.xml
│ │ ├── xFramium General KeyWord Test.xml
│ │ ├── xFramium Module Test.xml
│ │ ├── xFramium NATIVE Airplane.xml
│ │ ├── xFramium NATIVE Data.xml
│ │ ├── xFramium NATIVE Date-Time.xml
│ │ ├── xFramium NATIVE Location.xml
│ │ ├── xFramium NATIVE Notifications Android.xml
│ │ ├── xFramium NATIVE Notifications.xml
│ │ ├── xFramium NATIVE Trust.xml
│ │ ├── xFramium NATIVE Wifi.xml
│ │ ├── xFramium Natural Descriptors.xml
│ │ ├── xFramium OS Step Filter.xml
│ │ ├── xFramium Page Element Context.xml
│ │ ├── xFramium Perfecto VISUAL Keyword Tests.xml
│ │ ├── xFramium REGEX.xml
│ │ ├── xFramium STEP Complex Version Test.xml
│ │ └── xFramium device tag Step Filter.xml
└── ws-payload.xml
├── xframium-driver-1.0.6.zip
├── xframium-testing-java
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.m2e.core.prefs
├── pom.xml
├── resources
│ ├── .gitignore
│ ├── applicationRegistry.xml
│ ├── deviceRegistry.out.xml
│ ├── deviceRegistry.xml
│ ├── driverConfig.xml
│ ├── driverConfigBDD.xml
│ ├── page-home.xml
│ ├── pageData.xml
│ └── test.feature
└── src
│ └── org
│ └── xframium
│ └── examples
│ └── java
│ ├── WebTestDriver.java
│ ├── page
│ ├── WebHomePage.java
│ └── spi
│ │ └── WebHomePageImpl.java
│ └── test
│ └── WebHome.java
└── xframium.jks
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | git_xframium-java
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/alm/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/alm/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 | /target/
3 |
--------------------------------------------------------------------------------
/alm/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | alm
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.m2e.core.maven2Builder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.m2e.core.maven2Nature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/alm/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
3 | org.eclipse.jdt.core.compiler.compliance=1.8
4 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
5 | org.eclipse.jdt.core.compiler.source=1.8
6 |
--------------------------------------------------------------------------------
/alm/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/driver/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 | /target/
3 | /test-output/
4 | /debug.log
5 | /fordPass-out/
6 | /jnlp/
7 | /MANIFEST.MF
8 | /lincolnWay-out/
9 | /test/
10 | /mll/
11 | /derby.log
12 |
--------------------------------------------------------------------------------
/driver/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | xframium-drivera
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.m2e.core.maven2Builder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.m2e.core.maven2Nature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/driver/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
6 | org.eclipse.jdt.core.compiler.compliance=1.7
7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
12 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
13 | org.eclipse.jdt.core.compiler.source=1.7
14 |
--------------------------------------------------------------------------------
/driver/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/handler/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.console.http.handler;
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/handler/spi/KillSwitch.java:
--------------------------------------------------------------------------------
1 | package org.xframium.console.http.handler.spi;
2 |
3 | import org.xframium.console.http.handler.ECHandler;
4 | import com.sun.net.httpserver.HttpExchange;
5 |
6 | @SuppressWarnings("restriction")
7 | public class KillSwitch extends ECHandler {
8 |
9 | @Override
10 | protected byte[] _handle(HttpExchange httpExchange)
11 | {
12 | log.warn( "Received Kill" );
13 |
14 | System.exit( 0 );
15 | return null;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/handler/spi/OpenHTML.java:
--------------------------------------------------------------------------------
1 | package org.xframium.console.http.handler.spi;
2 |
3 | import java.awt.Desktop;
4 | import java.net.URI;
5 | import java.util.Map;
6 | import org.xframium.console.http.handler.ECHandler;
7 | import com.sun.net.httpserver.HttpExchange;
8 |
9 | @SuppressWarnings("restriction")
10 | public class OpenHTML extends ECHandler
11 | {
12 |
13 | @Override
14 | protected byte[] _handle(HttpExchange httpExchange)
15 | {
16 | try
17 | {
18 | Map queryMap = queryToMap( httpExchange.getRequestURI().getQuery() );
19 |
20 | String fileName = queryMap.get( "fileName" );
21 |
22 | Desktop.getDesktop().browse( new URI( "file:///" + fileName.replace( " ", "%20" ) ) );
23 | return "ok".getBytes();
24 | }
25 | catch( Exception e )
26 | {
27 | e.printStackTrace();
28 | return e.getMessage().getBytes();
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/handler/spi/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.console.http.handler.spi;
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/html/css/application.css:
--------------------------------------------------------------------------------
1 | /* global body padding */
2 | body {
3 | padding-top: 20px;
4 | padding-bottom: 20px;
5 | }
6 |
7 | @media (min-width: 768px) {
8 | body {
9 | padding-top: 50px;
10 | padding-bottom: 50px;
11 | }
12 | }
13 |
14 |
15 | /* global spacing overrides */
16 | h1, h2, h3, h4, h5, h6,
17 | .h1, .h2, .h3, .h4, .h5, .h6 {
18 | margin-top: 0;
19 | }
20 | hr {
21 | margin-top: 30px;
22 | margin-bottom: 30px;
23 | }
24 |
25 | .navbar-fixed-top,
26 | .navbar-static-top {
27 | border-bottom: 0;
28 | }
29 |
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/html/css/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.console.http.html.css;
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/html/images/BLOCKED.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/driver/src/org/xframium/console/http/html/images/BLOCKED.png
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/html/images/NEW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/driver/src/org/xframium/console/http/html/images/NEW.png
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/html/images/RUNNABLE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/driver/src/org/xframium/console/http/html/images/RUNNABLE.png
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/html/images/TERMINATED.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/driver/src/org/xframium/console/http/html/images/TERMINATED.png
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/html/images/TIMED_WAITING.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/driver/src/org/xframium/console/http/html/images/TIMED_WAITING.png
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/html/images/WAITING.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/driver/src/org/xframium/console/http/html/images/WAITING.png
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/html/images/mll.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/driver/src/org/xframium/console/http/html/images/mll.png
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/html/images/xframium.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/driver/src/org/xframium/console/http/html/images/xframium.png
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/html/js/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.console.http.html.js;
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/html/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.console.http.html;
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/http/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.console.http;
--------------------------------------------------------------------------------
/driver/src/org/xframium/console/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.console;
--------------------------------------------------------------------------------
/driver/src/org/xframium/driver/SuiteListener.java:
--------------------------------------------------------------------------------
1 | package org.xframium.driver;
2 |
3 | import java.io.File;
4 |
5 | public interface SuiteListener
6 | {
7 | public void beforeSuite( String suiteName, File fileName );
8 | public void afterSuite( String suiteName, File fileName, File outputFolder );
9 | }
10 |
--------------------------------------------------------------------------------
/driver/src/org/xframium/driver/xsd/package-info.java:
--------------------------------------------------------------------------------
1 | //
2 | // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
3 | // See http://java.sun.com/xml/jaxb
4 | // Any modifications to this file will be lost upon recompilation of the source schema.
5 | // Generated on: 2018.08.22 at 07:54:58 AM EDT
6 | //
7 |
8 | @javax.xml.bind.annotation.XmlSchema(namespace = "http://www.xframium.org/xFramiumDriver", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
9 | package org.xframium.driver.xsd;
10 |
--------------------------------------------------------------------------------
/extensions/xframium-perfecto/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/extensions/xframium-perfecto/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 | /target/
3 |
--------------------------------------------------------------------------------
/extensions/xframium-perfecto/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | xframium-perfecto
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.m2e.core.maven2Builder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.m2e.core.maven2Nature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/extensions/xframium-perfecto/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
3 | org.eclipse.jdt.core.compiler.compliance=1.7
4 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
5 | org.eclipse.jdt.core.compiler.source=1.7
6 |
--------------------------------------------------------------------------------
/extensions/xframium-perfecto/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/framework/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/framework/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 | /target/
3 |
--------------------------------------------------------------------------------
/framework/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
6 | org.eclipse.jdt.core.compiler.compliance=1.8
7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
12 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
13 | org.eclipse.jdt.core.compiler.release=disabled
14 | org.eclipse.jdt.core.compiler.source=1.8
15 |
--------------------------------------------------------------------------------
/framework/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/application/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Application registry providers and definitions. The Application Registry allows for all application details required for testing to be stored in a single place for easy access. An application is defined as a native mobile application installed on a mobile device or a website access via a mobile device or desktop browser.
3 | *
4 | * @since 1.0.0
5 | */
6 | package org.xframium.application;
--------------------------------------------------------------------------------
/framework/src/org/xframium/application/sql/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * SQL table definitions for Application Registry schema
3 | *
4 | * @since 1.0.1
5 | */
6 | package org.xframium.application.sql;
--------------------------------------------------------------------------------
/framework/src/org/xframium/application/sql/sample-inserts.sql:
--------------------------------------------------------------------------------
1 | insert into PERFECTO_APPLICATIONS( NAME, APP_PACKAGE, BUNDLE_ID, URL, IOS_INSTALL, ANDROID_INSTALL )
2 | values ( '', null, null, null, null, null );
3 |
4 | insert into PERFECTO_APP_DEV_CAPABILITIES( APP_NAME, NAME, CLASS, VALUE )
5 | values ( '', '', '', '' );
6 |
7 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/application/sql/tables.sql:
--------------------------------------------------------------------------------
1 | drop table APPLICATIONS;
2 | drop table APP_DEV_CAPABILITIES;
3 |
4 | create table APPLICATIONS
5 | (
6 | NAME VARCHAR(50) NOT NULL,
7 | APP_PACKAGE VARCHAR(100),
8 | BUNDLE_ID VARCHAR(100),
9 | URL VARCHAR(200),
10 | IOS_INSTALL VARCHAR(200),
11 | ANDROID_INSTALL VARCHAR(200)
12 | );
13 |
14 | create table APP_DEV_CAPABILITIES
15 | (
16 | APP_NAME VARCHAR(50) NOT NULL,
17 | NAME VARCHAR(50) NOT NULL,
18 | CLASS VARCHAR(50) DEFAULT 'STRING' NOT NULL,
19 | VALUE VARCHAR(1000) NOT NULL,
20 | CONSTRAINT CHK_CLASS_2 CHECK (CLASS IN ( 'BOOLEAN', 'OBJECT', 'PLATFORM', 'STRING' ))
21 | );
22 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/application/xsd/package-info.java:
--------------------------------------------------------------------------------
1 | //
2 | // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
3 | // See http://java.sun.com/xml/jaxb
4 | // Any modifications to this file will be lost upon recompilation of the source schema.
5 | // Generated on: 2018.07.31 at 07:52:22 AM EDT
6 | //
7 |
8 | @javax.xml.bind.annotation.XmlSchema(namespace = "http://www.xframium.org/applicationRegistry", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
9 | package org.xframium.application.xsd;
10 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/artifact/Artifact.java:
--------------------------------------------------------------------------------
1 | package org.xframium.artifact;
2 |
3 | import java.io.File;
4 | import org.xframium.device.factory.DeviceWebDriver;
5 |
6 | public interface Artifact
7 | {
8 | public static final String URL = "ARTIFACT_URL";
9 | File generateArtifact( String rootFolder, DeviceWebDriver webDriver, String xFID );
10 | }
11 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/artifact/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Artifact productions integration points
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.artifact;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/artifact/spi/CSVDataArtifact.java:
--------------------------------------------------------------------------------
1 | package org.xframium.artifact.spi;
2 |
3 | import java.io.File;
4 | import org.xframium.artifact.AbstractArtifact;
5 | import org.xframium.artifact.ArtifactType;
6 | import org.xframium.device.factory.DeviceWebDriver;
7 |
8 | public class CSVDataArtifact extends AbstractArtifact
9 | {
10 | private static final String FILE_NAME = "outputData.csv";
11 | public CSVDataArtifact()
12 | {
13 | setArtifactType( ArtifactType.ADD_TO_CSV.name() );
14 | }
15 |
16 | @Override
17 | protected File _generateArtifact( File rootFolder, DeviceWebDriver webDriver, String xFID )
18 | {
19 |
20 | if ( webDriver.getExecutionContext() == null )
21 | return null;
22 |
23 | return writeToDisk( rootFolder, FILE_NAME, webDriver.getExecutionContext().getCSVReport().getBytes() );
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/artifact/spi/ConsoleLogArtifact.java:
--------------------------------------------------------------------------------
1 | package org.xframium.artifact.spi;
2 |
3 | import java.io.File;
4 | import org.xframium.artifact.AbstractArtifact;
5 | import org.xframium.artifact.ArtifactType;
6 | import org.xframium.device.factory.DeviceWebDriver;
7 |
8 | public class ConsoleLogArtifact extends AbstractArtifact
9 | {
10 | private static final String FILE_NAME = "console.txt";
11 | public ConsoleLogArtifact()
12 | {
13 | setArtifactType( ArtifactType.CONSOLE_LOG.name() );
14 | }
15 |
16 | @Override
17 | protected File _generateArtifact( File rootFolder, DeviceWebDriver webDriver, String xFID )
18 | {
19 | return writeToDisk( rootFolder, FILE_NAME, webDriver.getLog().getBytes() );
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/artifact/spi/DeviceLogArtifact.java:
--------------------------------------------------------------------------------
1 | package org.xframium.artifact.spi;
2 |
3 | import java.io.File;
4 | import org.xframium.artifact.AbstractArtifact;
5 | import org.xframium.artifact.ArtifactType;
6 | import org.xframium.device.factory.DeviceWebDriver;
7 |
8 | public class DeviceLogArtifact extends AbstractArtifact
9 | {
10 | private static final String FILE_NAME = "device.txt";
11 | public DeviceLogArtifact()
12 | {
13 | setArtifactType( ArtifactType.DEVICE_LOG.name() );
14 | }
15 |
16 | @Override
17 | protected File _generateArtifact( File rootFolder, DeviceWebDriver webDriver, String xFID )
18 | {
19 |
20 | String logData = webDriver.getCloud().getCloudActionProvider().getLog( webDriver );
21 | if ( logData != null )
22 | return writeToDisk( rootFolder, FILE_NAME, logData.getBytes() );
23 | else
24 | return null;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/artifact/spi/VitalsArtifact.java:
--------------------------------------------------------------------------------
1 | package org.xframium.artifact.spi;
2 |
3 | import java.io.File;
4 | import org.xframium.artifact.AbstractArtifact;
5 | import org.xframium.artifact.ArtifactType;
6 | import org.xframium.device.factory.DeviceWebDriver;
7 |
8 | public class VitalsArtifact extends AbstractArtifact
9 | {
10 | private static final String FILE_NAME = "statistics.csv";
11 | public VitalsArtifact()
12 | {
13 | setArtifactType( ArtifactType.STATISTICS.name() );
14 | }
15 |
16 | @Override
17 | protected File _generateArtifact( File rootFolder, DeviceWebDriver webDriver, String xFID )
18 | {
19 | return writeToDisk( rootFolder, FILE_NAME, webDriver.getCloud().getCloudActionProvider().getVitals( webDriver ).getBytes() );
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/artifact/spi/XMLSourceArtifact.java:
--------------------------------------------------------------------------------
1 | package org.xframium.artifact.spi;
2 |
3 | import java.io.File;
4 | import org.xframium.artifact.AbstractArtifact;
5 | import org.xframium.artifact.Artifact;
6 | import org.xframium.artifact.ArtifactType;
7 | import org.xframium.device.factory.DeviceWebDriver;
8 |
9 | public class XMLSourceArtifact extends AbstractArtifact implements Artifact
10 | {
11 | private static final String FILE_NAME = "failureDOM.xml";
12 | public XMLSourceArtifact()
13 | {
14 | setArtifactType( ArtifactType.FAILURE_SOURCE.name() );
15 | }
16 |
17 | @Override
18 | protected File _generateArtifact( File rootFolder, DeviceWebDriver webDriver, String xFID )
19 | {
20 | return writeToDisk( rootFolder, FILE_NAME, webDriver.getPageSource().getBytes() );
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/browser/capabilities/BrowserCapabilityFactory.java:
--------------------------------------------------------------------------------
1 | package org.xframium.browser.capabilities;
2 |
3 | import java.util.List;
4 | import java.util.Map;
5 |
6 | import org.openqa.selenium.remote.DesiredCapabilities;
7 |
8 | /**
9 | * @author user
10 | * Interface for creating browser specific options.
11 | */
12 | public interface BrowserCapabilityFactory {
13 |
14 | /**
15 | * Interface method for creating browser options.
16 | * @param DesiredCapabilities - desired capabilities object dc
17 | * @param Map > - browser specific options
18 | * @return DesiredCapabilities
19 | */
20 | public DesiredCapabilities createBrowserOptions(DesiredCapabilities dc, Map options);
21 |
22 |
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/container/ApplicationContainer.java:
--------------------------------------------------------------------------------
1 | package org.xframium.container;
2 |
3 | import org.xframium.application.ApplicationDescriptor;
4 |
5 | import java.util.ArrayList;
6 | import java.util.List;
7 |
8 | public class ApplicationContainer
9 | {
10 | private String applicationName;
11 | private List appList = new ArrayList( 10 );
12 |
13 | public String getApplicationName()
14 | {
15 | return applicationName;
16 | }
17 | public void setApplicationName( String applicationName )
18 | {
19 | this.applicationName = applicationName;
20 | }
21 | public List getAppList()
22 | {
23 | return appList;
24 | }
25 | public void setAppList( List appList )
26 | {
27 | this.appList = appList;
28 | }
29 |
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/container/CloudContainer.java:
--------------------------------------------------------------------------------
1 | package org.xframium.container;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 | import org.xframium.device.cloud.CloudDescriptor;
6 |
7 | public class CloudContainer
8 | {
9 | private String cloudName;
10 | private List cloudList = new ArrayList( 10 );
11 |
12 | public String getCloudName()
13 | {
14 | return cloudName;
15 | }
16 | public void setCloudName( String cloudName )
17 | {
18 | this.cloudName = cloudName;
19 | }
20 | public List getCloudList()
21 | {
22 | return cloudList;
23 | }
24 | public void setCloudList( List cloudList )
25 | {
26 | this.cloudList = cloudList;
27 | }
28 |
29 |
30 |
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/container/ContextContainer.java:
--------------------------------------------------------------------------------
1 | package org.xframium.container;
2 |
3 | public class ContextContainer
4 | {
5 | private String name;
6 |
7 | public ContextContainer( String name )
8 | {
9 | super();
10 | this.name = name;
11 | }
12 |
13 | public String getName()
14 | {
15 | return name;
16 | }
17 |
18 | public void setName( String name )
19 | {
20 | this.name = name;
21 | }
22 |
23 | public String toString()
24 | {
25 | return name;
26 | }
27 |
28 |
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/container/FavoriteContainer.java:
--------------------------------------------------------------------------------
1 | package org.xframium.container;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | public class FavoriteContainer
7 | {
8 | private List favoriteList = new ArrayList( 10 );
9 |
10 | public FavoriteContainer( String favorites )
11 | {
12 | if ( favorites != null && favorites.trim().length() > 0 )
13 | {
14 | String[] favoriteArray = favorites.split( "," );
15 |
16 | for ( String fav : favoriteArray )
17 | {
18 | favoriteList.add( fav );
19 | }
20 | }
21 | }
22 |
23 | public void addFavorite( String keyword )
24 | {
25 | favoriteList.add( keyword );
26 | }
27 |
28 | public List getFavorites()
29 | {
30 | return favoriteList;
31 | }
32 |
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/content/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * General content management engine for replaceable content and resource files
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.content;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/content/provider/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Content management enginer data providers
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.content.provider;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/content/provider/sql/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Implementations of the Artifact production API
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.content.provider.sql;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/content/provider/sql/sample-insert.sql:
--------------------------------------------------------------------------------
1 | insert into PERFECTO_CONTENT( KEY_NAME, VALUE, OFFSET )
2 | values ( '', '', 0 );
3 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/content/provider/sql/table.sql:
--------------------------------------------------------------------------------
1 | drop table PERFECTO_CONTENT;
2 |
3 | create table PERFECTO_CONTENT
4 | (
5 | KEY_NAME VARCHAR(100) NOT NULL,
6 | VALUE VARCHAR(100) NOT NULL,
7 | OFFSET INTEGER NOT NULL
8 | );
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/DeviceCap.java:
--------------------------------------------------------------------------------
1 | package org.xframium.device;
2 |
3 | public class DeviceCap
4 | {
5 | private String name;
6 | private Object value;
7 | private String type;
8 |
9 | public DeviceCap( String name, Object value, String type )
10 | {
11 | super();
12 | this.name = name;
13 | this.value = value;
14 | this.type = type;
15 | }
16 |
17 | public String getName()
18 | {
19 | return name;
20 | }
21 | public void setName( String name )
22 | {
23 | this.name = name;
24 | }
25 | public Object getValue()
26 | {
27 | return value;
28 | }
29 | public void setValue( Object value )
30 | {
31 | this.value = value;
32 | }
33 | public String getType()
34 | {
35 | return type;
36 | }
37 | public void setType( String type )
38 | {
39 | this.type = type;
40 | }
41 |
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/capability/AbstractCapabilityBridge.java:
--------------------------------------------------------------------------------
1 | package org.xframium.device.capability;
2 |
3 | import org.apache.commons.logging.Log;
4 | import org.apache.commons.logging.LogFactory;
5 | import org.openqa.selenium.remote.DesiredCapabilities;
6 |
7 | public abstract class AbstractCapabilityBridge implements CapabilityBridge {
8 |
9 | protected Log log = LogFactory.getLog( CapabilityBridge.class );
10 |
11 | @Override
12 | public void addCapabilities(DesiredCapabilities dC)
13 | {
14 | if ( log.isInfoEnabled() )
15 | log.info( "Adding capabilities via " + getClass().getName() );
16 | _addCapabilities( dC );
17 |
18 | if ( log.isDebugEnabled() )
19 | log.debug( dC.asMap().toString() );
20 | }
21 |
22 | protected abstract void _addCapabilities( DesiredCapabilities dC );
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/capability/CapabilityBridge.java:
--------------------------------------------------------------------------------
1 | package org.xframium.device.capability;
2 |
3 | import org.openqa.selenium.remote.DesiredCapabilities;
4 |
5 | public interface CapabilityBridge
6 | {
7 | public void addCapabilities( DesiredCapabilities dC );
8 | }
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/capability/ExampleCapabilityBridge.java:
--------------------------------------------------------------------------------
1 | package org.xframium.device.capability;
2 |
3 | import org.openqa.selenium.remote.DesiredCapabilities;
4 | import org.xframium.Initializable;
5 |
6 | public class ExampleCapabilityBridge extends AbstractCapabilityBridge
7 | {
8 | @Override
9 | protected void _addCapabilities(DesiredCapabilities dC)
10 | {
11 | //
12 | //Set an example capability
13 | //
14 | dC.setCapability( "xFramium Version", Initializable.VERSION );
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/cloud/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * The root of the cloud registry. The Cloud registry controls access to our various cloud instances. All access information and credentials are stored here for use by the system. A cloud is defined as a remote set of resource and can consist of a commercial cloud provider as well as a local Selenium based grid.
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device.cloud;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/cloud/sql/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * SQL scripts for creating database schemas for the cloud registry
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device.cloud.sql;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/cloud/sql/sample-insert.sql:
--------------------------------------------------------------------------------
1 | insert into PERFECTO_CLOUDS ( NAME, USER_NAME, PASSWORD, HOST_NAME,
2 | PROXY_HOST, PROXY_PORT, DESCRIPTION, GRID_INSTANCE )
3 | values ( '', '', '', '', '', '', '', '' );
4 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/cloud/sql/table.sql:
--------------------------------------------------------------------------------
1 | drop table PERFECTO_CLOUDS;
2 |
3 | create table PERFECTO_CLOUDS
4 | (
5 | NAME VARCHAR(50) NOT NULL,
6 | USER_NAME VARCHAR(100) NOT NULL,
7 | PASSWORD VARCHAR(100) NOT NULL,
8 | HOST_NAME VARCHAR(100) NOT NULL,
9 | PROXY_HOST VARCHAR(100),
10 | PROXY_PORT VARCHAR(10),
11 | DESCRIPTION VARCHAR(200),
12 | GRID_INSTANCE VARCHAR(200)
13 | );
14 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/cloud/xsd/package-info.java:
--------------------------------------------------------------------------------
1 | //
2 | // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
3 | // See http://java.sun.com/xml/jaxb
4 | // Any modifications to this file will be lost upon recompilation of the source schema.
5 | // Generated on: 2018.02.15 at 07:16:41 AM EST
6 | //
7 |
8 | @javax.xml.bind.annotation.XmlSchema(namespace = "http://www.xframium.org/cloudRegistry", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
9 | package org.xframium.device.cloud.xsd;
10 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/comparator/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Device ordering and comparison implementations
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device.comparator;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/data/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Device data providers select devices based off of some criteria.
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device.data;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/data/perfectoMobile/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * PErfecto device selections
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device.data.perfectoMobile;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/data/sql/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * SQL scehma definitions for a database backed device data provider
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device.data.sql;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/data/sql/sample-inserts.sql:
--------------------------------------------------------------------------------
1 | insert into PERFECTO_DEVICES ( NAME, ID, MANUFACTURER, MODEL, OS, OS_VERSION, BROWSER_NAME, BROWSER_VERSION, ACTIVE, AVAILABLE)
2 | values ( '', '', '', '', '', '', '', '', 'Y', 1 );
3 |
4 | insert into PERFECTO_DEVICE_CAPABILITIES ( DEVICE_NAME, NAME, CLASS, VALUE )
5 | values ( '', '', '', '' );
6 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/data/sql/tables.sql:
--------------------------------------------------------------------------------
1 | drop table PERFECTO_DEVICES;
2 | drop table PERFECTO_DEVICE_CAPABILITIES;
3 |
4 | create table PERFECTO_DEVICES
5 | (
6 | NAME VARCHAR(50) NOT NULL,
7 | ID VARCHAR(100),
8 | MANUFACTURER VARCHAR(100) NOT NULL,
9 | MODEL VARCHAR(100) NOT NULL,
10 | OS VARCHAR(100),
11 | OS_VERSION VARCHAR(10),
12 | BROWSER_NAME VARCHAR(100) ,
13 | BROWSER_VERSION VARCHAR(10),
14 | ACTIVE VARCHAR(10) DEFAULT 'Y',
15 | AVAILABLE INTEGER DEFAULT 1,
16 | CONSTRAINT CHK_ACTIVE CHECK (ACTIVE IN ( 'Y', 'N' ))
17 | );
18 |
19 | create table PERFECTO_DEVICE_CAPABILITIES
20 | (
21 | DEVICE_NAME VARCHAR(50) NOT NULL,
22 | NAME VARCHAR(50) NOT NULL,
23 | CLASS VARCHAR(50) DEFAULT 'STRING' NOT NULL,
24 | VALUE VARCHAR(1000) NOT NULL,
25 | CONSTRAINT CHK_CLASS CHECK (CLASS IN ( 'BOOLEAN', 'OBJECT', 'PLATFORM', 'STRING' ))
26 | );
27 |
28 |
29 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/data/xsd/package-info.java:
--------------------------------------------------------------------------------
1 | //
2 | // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
3 | // See http://java.sun.com/xml/jaxb
4 | // Any modifications to this file will be lost upon recompilation of the source schema.
5 | // Generated on: 2018.07.31 at 07:51:23 AM EDT
6 | //
7 |
8 | @javax.xml.bind.annotation.XmlSchema(namespace = "http://www.xframium.org/deviceRegistry", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
9 | package org.xframium.device.data.xsd;
10 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/factory/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Device factory API for managing and creating device factories
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device.factory;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/factory/spi/.gitignore:
--------------------------------------------------------------------------------
1 | /WEBDriverFactory.java
2 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/factory/spi/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Implementations of the device factory
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device.factory.spi;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/interrupt/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Device interrupts are used to simulate device actions during a test case
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device.interrupt;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/keepAlive/ContextKeepAlive.java:
--------------------------------------------------------------------------------
1 | package org.xframium.device.keepAlive;
2 |
3 | import org.xframium.device.factory.DeviceWebDriver;
4 |
5 | public class ContextKeepAlive extends AbstractDeviceKeepAlive
6 | {
7 |
8 | @Override
9 | protected boolean _keepAlive( DeviceWebDriver webDriver )
10 | {
11 | try
12 | {
13 | webDriver.getContext();
14 | return true;
15 | }
16 | catch( Exception e )
17 | {
18 | log.info( "Error exedcuting keep alive", e );
19 | return false;
20 | }
21 |
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/keepAlive/DeviceKeepAlive.java:
--------------------------------------------------------------------------------
1 | package org.xframium.device.keepAlive;
2 |
3 | import org.xframium.device.factory.DeviceWebDriver;
4 |
5 | public interface DeviceKeepAlive
6 | {
7 | public boolean keepAlive( DeviceWebDriver webDriver );
8 | public int getPollTime();
9 | public int getQuietTime();
10 | public void setPollTime( int pollTime );
11 | public void setQuietTime( int quietTime );
12 | }
13 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/keepAlive/SnapshotKeepAlive.java:
--------------------------------------------------------------------------------
1 | package org.xframium.device.keepAlive;
2 |
3 | import org.openqa.selenium.OutputType;
4 | import org.xframium.device.factory.DeviceWebDriver;
5 |
6 | public class SnapshotKeepAlive extends AbstractDeviceKeepAlive
7 | {
8 |
9 | @Override
10 | protected boolean _keepAlive( DeviceWebDriver webDriver )
11 | {
12 | try
13 | {
14 | webDriver.getScreenshotAs( OutputType.BYTES );
15 | return true;
16 | }
17 | catch( Exception e )
18 | {
19 | log.info( "Error exedcuting keep alive", e );
20 | return false;
21 | }
22 |
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/logging/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Logging implementations
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device.logging;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/ng/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * TestNG integration definitions
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device.ng;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * SQL Statement definitions for content management schemas
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/device/property/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Property adapters allow for additional user defined property to be supplied to the test implementations
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.device.property;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/AbstractEmailProvider.java:
--------------------------------------------------------------------------------
1 | package org.xframium.email;
2 |
3 | import org.apache.commons.logging.Log;
4 | import org.apache.commons.logging.LogFactory;
5 |
6 | public abstract class AbstractEmailProvider implements EmailProvider
7 | {
8 | protected Log log = LogFactory.getLog( EmailProvider.class );
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/EmailProvider.java:
--------------------------------------------------------------------------------
1 | package org.xframium.email;
2 |
3 | public interface EmailProvider
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.email;
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/receive/AbstractReceiveEmailProvider.java:
--------------------------------------------------------------------------------
1 | package org.xframium.email.receive;
2 |
3 | import java.util.Map;
4 | import javax.mail.Message;
5 | import org.xframium.email.AbstractEmailProvider;
6 | import org.xframium.email.receive.filter.MessageFilter;
7 |
8 | public abstract class AbstractReceiveEmailProvider extends AbstractEmailProvider implements ReceiveEmailProvider
9 | {
10 | public abstract MessageWrapper _getEmail( String hostName, MessageFilter[] messageFilters, Map propertyMap );
11 |
12 | @Override
13 | public MessageWrapper getEmail( String hostName, MessageFilter[] messageFilters, Map propertyMap )
14 | {
15 | if ( log.isInfoEnabled() )
16 | log.info( "Attempting to retreive email from " + hostName );
17 | return _getEmail( hostName, messageFilters, propertyMap );
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/receive/ReceiveEmailProvider.java:
--------------------------------------------------------------------------------
1 | package org.xframium.email.receive;
2 |
3 | import java.util.Map;
4 | import javax.mail.Message;
5 | import org.xframium.email.receive.filter.MessageFilter;
6 |
7 | public interface ReceiveEmailProvider
8 | {
9 | public MessageWrapper getEmail( String hostName, MessageFilter[] messageFilters, Map propertyMap );
10 | }
11 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/receive/filter/MessageFilter.java:
--------------------------------------------------------------------------------
1 | package org.xframium.email.receive.filter;
2 |
3 | import javax.mail.Message;
4 |
5 | public interface MessageFilter
6 | {
7 | public boolean acceptMessage( Message currentMessage );
8 | }
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/receive/filter/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.email.receive.filter;
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/receive/filter/spi/FromMessageFilter.java:
--------------------------------------------------------------------------------
1 | package org.xframium.email.receive.filter.spi;
2 |
3 | import javax.mail.Message;
4 | import org.xframium.email.receive.filter.AbstractMessageFilter;
5 |
6 | public class FromMessageFilter extends AbstractMessageFilter
7 | {
8 | private String fromValue;
9 |
10 | public FromMessageFilter( String fromValue )
11 | {
12 | this.fromValue = fromValue.trim();
13 | }
14 |
15 | @Override
16 | public boolean _acceptMessage( Message currentMessage ) throws Exception
17 | {
18 | return currentMessage.getFrom()[ 0 ].toString().contains( fromValue );
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/receive/filter/spi/SubjectMessageFilter.java:
--------------------------------------------------------------------------------
1 | package org.xframium.email.receive.filter.spi;
2 |
3 | import javax.mail.Message;
4 | import org.xframium.email.receive.filter.AbstractMessageFilter;
5 |
6 | public class SubjectMessageFilter extends AbstractMessageFilter
7 | {
8 | private String subjectValue;
9 |
10 | public SubjectMessageFilter( String subjectValue )
11 | {
12 | this.subjectValue = subjectValue;
13 | }
14 |
15 | @Override
16 | public boolean _acceptMessage( Message currentMessage ) throws Exception
17 | {
18 | return currentMessage.getSubject().matches( subjectValue );
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/receive/filter/spi/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.email.receive.filter.spi;
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/receive/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.email.receive;
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/receive/spi/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.email.receive.spi;
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/send/AbstractSendEmailProvider.java:
--------------------------------------------------------------------------------
1 | package org.xframium.email.send;
2 |
3 | import java.util.Map;
4 | import org.xframium.email.AbstractEmailProvider;
5 |
6 | public abstract class AbstractSendEmailProvider extends AbstractEmailProvider implements SendEmailProvider
7 | {
8 |
9 | public abstract boolean _sendEmail( String fromAddress, String[] toAddress, String subjectLine, String emailBody, Map propertyMap );
10 |
11 | @Override
12 | public boolean sendEmail( String fromAddress, String[] toAddress, String subjectLine, String emailBody, Map propertyMap )
13 | {
14 | if ( log.isInfoEnabled() )
15 | log.info( "Sending email from " + fromAddress + " as " + subjectLine );
16 |
17 | return _sendEmail( fromAddress, toAddress, subjectLine, emailBody, propertyMap );
18 | }
19 |
20 |
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/send/SendEmailProvider.java:
--------------------------------------------------------------------------------
1 | package org.xframium.email.send;
2 |
3 | import java.util.Map;
4 | import org.xframium.email.EmailProvider;
5 |
6 | public interface SendEmailProvider extends EmailProvider
7 | {
8 | public boolean sendEmail(String fromAddress, String[] toAddress, String subjectLine, String emailBody, Map propertyMap);
9 | }
10 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/send/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.email.send;
--------------------------------------------------------------------------------
/framework/src/org/xframium/email/send/spi/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.email.send.spi;
--------------------------------------------------------------------------------
/framework/src/org/xframium/exception/BubbledFailureException.java:
--------------------------------------------------------------------------------
1 | package org.xframium.exception;
2 |
3 | public class BubbledFailureException extends XFramiumException
4 | {
5 |
6 |
7 | private static final long serialVersionUID = 5590632064136801352L;
8 | private Throwable rootException;
9 |
10 | public BubbledFailureException(Throwable rootException )
11 | {
12 | super( ExceptionType.SCRIPT );
13 | this.rootException = rootException;
14 | }
15 |
16 |
17 |
18 | @Override
19 | public String getMessage()
20 | {
21 | return rootException.getMessage();
22 | }
23 |
24 | public Throwable getException()
25 | {
26 | return rootException;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/exception/DataIdentificationException.java:
--------------------------------------------------------------------------------
1 | package org.xframium.exception;
2 |
3 | public class DataIdentificationException extends XFramiumException
4 | {
5 |
6 | /**
7 | *
8 | */
9 | private static final long serialVersionUID = -1478754807884058923L;
10 | private String value;
11 |
12 | public DataIdentificationException( String value )
13 | {
14 | super( ExceptionType.SCRIPT );
15 | }
16 |
17 | @Override
18 | public String toString()
19 | {
20 | return value;
21 | }
22 |
23 | @Override
24 | public String getMessage()
25 | {
26 | return value;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/exception/DeviceAcquisitionException.java:
--------------------------------------------------------------------------------
1 | package org.xframium.exception;
2 |
3 | import org.xframium.spi.Device;
4 |
5 | public class DeviceAcquisitionException extends XFramiumException
6 | {
7 | /**
8 | *
9 | */
10 | private static final long serialVersionUID = 1532390382770613035L;
11 | private Device device;
12 | public DeviceAcquisitionException( Device device )
13 | {
14 | super( ExceptionType.CLOUD );
15 | this.device = device;
16 | }
17 |
18 | @Override
19 | public String toString()
20 | {
21 | return "Could not acquire a " + device.getKey();
22 | }
23 |
24 | @Override
25 | public String getMessage()
26 | {
27 | return "Could not acquire a " + device.getKey();
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/exception/DeviceConfigurationException.java:
--------------------------------------------------------------------------------
1 | package org.xframium.exception;
2 |
3 | public class DeviceConfigurationException extends XFramiumException
4 | {
5 | /**
6 | *
7 | */
8 | private static final long serialVersionUID = -8470149870082036015L;
9 | private String appIdentifier;
10 |
11 | public DeviceConfigurationException( String appIdentifier )
12 | {
13 | super( ExceptionType.CLOUD );
14 | this.appIdentifier = appIdentifier;
15 | }
16 |
17 | @Override
18 | public String toString()
19 | {
20 | return "Could not start the application identified by " + appIdentifier;
21 | }
22 |
23 | @Override
24 | public String getMessage()
25 | {
26 | return "Could not start the application identified by " + appIdentifier;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/exception/DeviceException.java:
--------------------------------------------------------------------------------
1 | package org.xframium.exception;
2 |
3 | public class DeviceException extends XFramiumException
4 | {
5 | /**
6 | *
7 | */
8 | private static final long serialVersionUID = -8470149870082036015L;
9 | private String message;
10 |
11 | public DeviceException( String message )
12 | {
13 | super( ExceptionType.CLOUD );
14 | this.message = message;
15 | }
16 |
17 | @Override
18 | public String toString()
19 | {
20 | return message;
21 | }
22 |
23 | @Override
24 | public String getMessage()
25 | {
26 | return message;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/exception/FilteredException.java:
--------------------------------------------------------------------------------
1 | package org.xframium.exception;
2 |
3 | public class FilteredException extends XFramiumException
4 | {
5 |
6 |
7 | private static final long serialVersionUID = 5590632064136801352L;
8 | private String message;
9 |
10 | public FilteredException( String message )
11 | {
12 | super( ExceptionType.FILTERED );
13 | this.message = message;
14 | }
15 |
16 | @Override
17 | public String toString()
18 | {
19 | return message;
20 | }
21 |
22 | @Override
23 | public String getMessage()
24 | {
25 | return message;
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/exception/FlowException.java:
--------------------------------------------------------------------------------
1 | package org.xframium.exception;
2 |
3 | public class FlowException extends XFramiumException
4 | {
5 |
6 |
7 | private static final long serialVersionUID = 5590632064136801352L;
8 | private boolean success;
9 |
10 | public FlowException( boolean success )
11 | {
12 | super( ExceptionType.SCRIPT );
13 | this.setSuccess( success );
14 | }
15 |
16 |
17 |
18 | @Override
19 | public String getMessage()
20 | {
21 | return "The test was " + (isSuccess() ? "PASSED" : "FAILED") + " and foreced to exit via the FLOW keyword";
22 | }
23 |
24 |
25 |
26 | public boolean isSuccess()
27 | {
28 | return success;
29 | }
30 |
31 | public void setSuccess( boolean success )
32 | {
33 | this.success = success;
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/exception/ScriptConfigurationException.java:
--------------------------------------------------------------------------------
1 | package org.xframium.exception;
2 |
3 | public class ScriptConfigurationException extends XFramiumException
4 | {
5 | /**
6 | *
7 | */
8 | private static final long serialVersionUID = -8470149870082036015L;
9 | private String message;
10 |
11 | public ScriptConfigurationException( String message )
12 | {
13 | super( ExceptionType.CONFIGURATION );
14 | this.message = message;
15 | }
16 |
17 | @Override
18 | public String toString()
19 | {
20 | return message;
21 | }
22 |
23 | @Override
24 | public String getMessage()
25 | {
26 | return message;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/exception/ScriptException.java:
--------------------------------------------------------------------------------
1 | package org.xframium.exception;
2 |
3 | public class ScriptException extends XFramiumException
4 | {
5 |
6 |
7 | private static final long serialVersionUID = 5590632064136801352L;
8 | private String message;
9 |
10 | public ScriptException( String message )
11 | {
12 | super( ExceptionType.SCRIPT );
13 | this.message = message;
14 | }
15 |
16 | @Override
17 | public String toString()
18 | {
19 | return message;
20 | }
21 |
22 | @Override
23 | public String getMessage()
24 | {
25 | return message;
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/exception/TestConfigurationException.java:
--------------------------------------------------------------------------------
1 | package org.xframium.exception;
2 |
3 | public class TestConfigurationException extends XFramiumException
4 | {
5 | /**
6 | *
7 | */
8 | private static final long serialVersionUID = -8470149870082036015L;
9 | private String testName;
10 |
11 | public TestConfigurationException( String testName )
12 | {
13 | super( ExceptionType.CONFIGURATION );
14 | this.testName = testName;
15 | }
16 |
17 | @Override
18 | public String toString()
19 | {
20 | return "Could not locate a test name " + testName;
21 | }
22 |
23 | @Override
24 | public String getMessage()
25 | {
26 | return "Could not locate a test name " + testName;
27 | }
28 |
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/exception/XFramiumException.java:
--------------------------------------------------------------------------------
1 | package org.xframium.exception;
2 |
3 | public abstract class XFramiumException extends RuntimeException
4 | {
5 | public enum ExceptionType
6 | {
7 | CONFIGURATION,
8 | SCRIPT,
9 | CLOUD,
10 | FILTERED;
11 | }
12 |
13 | private ExceptionType eType;
14 |
15 | public ExceptionType getType()
16 | {
17 | return eType;
18 | }
19 |
20 | public XFramiumException( ExceptionType eType )
21 | {
22 | this.eType = eType;
23 | }
24 |
25 |
26 | /**
27 | *
28 | */
29 | private static final long serialVersionUID = 2616149259768993726L;
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/gesture/device/action/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * The device action API is an extension to gestures and allows for specialized device actions to be performed on phones
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.gesture.device.action;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/gesture/device/action/spi/perfecto/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Perfecto specific mobile device actions
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.gesture.device.action.spi.perfecto;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/gesture/factory/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Gesture factory for creating gesture activities
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.gesture.factory;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/gesture/factory/spi/appium/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Appium based gestures
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.gesture.factory.spi.appium;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/gesture/factory/spi/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Gesture factory implementations
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.gesture.factory.spi;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/gesture/factory/spi/perfecto/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Perfecto based gestures
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.gesture.factory.spi.perfecto;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/gesture/factory/spi/selenium/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Appium based gestures
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.gesture.factory.spi.selenium;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/gesture/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * The device gesture API for sending user gestures to devices
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.gesture;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/imaging/ImagingActionType.java:
--------------------------------------------------------------------------------
1 | package org.xframium.imaging;
2 |
3 | public enum ImagingActionType
4 | {
5 | ColorVerification,
6 | ContrastVerification;
7 | }
--------------------------------------------------------------------------------
/framework/src/org/xframium/imaging/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.imaging;
--------------------------------------------------------------------------------
/framework/src/org/xframium/integrations/common/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Utility classes for the integrations libraries
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.integrations.common;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/integrations/perfectoMobile/rest/bean/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Perfecto bean implementations
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.integrations.perfectoMobile.rest.bean;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/integrations/perfectoMobile/rest/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Perfecto REST API integrations implementation
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.integrations.perfectoMobile.rest;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/integrations/perfectoMobile/rest/services/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Perfecto REST implementations
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.integrations.perfectoMobile.rest.services;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/integrations/rest/bean/factory/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * General BEAN infrastructure for creating JAva beans from XML data or other sources
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.integrations.rest.bean.factory;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/integrations/rest/bean/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * General BEAN infrastructure
3 | *
4 | * @since 1.0.0
5 | */
6 |
7 | package org.xframium.integrations.rest.bean;
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/integrations/sauceLabs/rest/SauceException.java:
--------------------------------------------------------------------------------
1 | package org.xframium.integrations.sauceLabs.rest;
2 |
3 | /**
4 | * Created by gavinmogan on 11/2/15.
5 | */
6 | public class SauceException extends RuntimeException {
7 | /**
8 | * Created by gavinmogan on 11/2/15.
9 | */
10 | public static class NotAuthorized extends SauceException {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Integration and XSD support
3 | *
4 | * @since 1.0.0
5 | */
6 | package org.xframium;
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/activity/ActivityInitiator.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.activity;
2 |
3 | public class ActivityInitiator
4 | {
5 | private String elementName;
6 | private String action;
7 | public String getElementName()
8 | {
9 | return elementName;
10 | }
11 | public void setElementName( String elementName )
12 | {
13 | this.elementName = elementName;
14 | }
15 | public String getAction()
16 | {
17 | return action;
18 | }
19 | public void setAction( String action )
20 | {
21 | this.action = action;
22 | }
23 | public ActivityInitiator( String elementName, String action )
24 | {
25 | super();
26 | this.elementName = elementName;
27 | this.action = action;
28 | }
29 |
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/activity/ActivityValidator.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.activity;
2 |
3 | public class ActivityValidator
4 | {
5 | private String elementName;
6 | private String validation;
7 | public String getElementName()
8 | {
9 | return elementName;
10 | }
11 | public void setElementName( String elementName )
12 | {
13 | this.elementName = elementName;
14 | }
15 | public String getValidation()
16 | {
17 | return validation;
18 | }
19 | public void setValidation( String validation )
20 | {
21 | this.validation = validation;
22 | }
23 | public ActivityValidator( String elementName, String validation )
24 | {
25 | super();
26 | this.elementName = elementName;
27 | this.validation = validation;
28 | }
29 |
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/activity/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.page.activity;
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/data/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Data driven testing data definitions
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.data;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/data/provider/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Data driven testing data definition providers
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.data.provider;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/data/provider/sql/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * SQL schema definitions for data definitions
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.data.provider.sql;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/data/provider/sql/sample-inserts.sql:
--------------------------------------------------------------------------------
1 | insert into PERFECTO_PAGE_DATA_TYPE ( NAME, LOCK_RECORDS )
2 | values ( '', '' );
3 |
4 | insert into PERFECTO_PAGE_DATA ( TYPE_NAME, NAME, ACTIVE )
5 | values ( '', '', '' );
6 |
7 | insert into PERFECTO_PAGE_DATA_ATTRS ( TYPE_NAME, RECORD_NAME, NAME, VALUE )
8 | values ( '', '', '', '' );
9 |
10 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/data/provider/sql/tables.sql:
--------------------------------------------------------------------------------
1 | drop table PAGE_DATA_TYPE;
2 | drop table PAGE_DATA;
3 | drop table PAGE_DATA_ATTRS;
4 |
5 | create table PAGE_DATA_TYPE
6 | (
7 | ID NUMBER NOT NULL,
8 | NAME VARCHAR(50) NOT NULL,
9 | LOCK_RECORDS VARCHAR(1),
10 | CONSTRAINT CHK_LOCK_RECORDS CHECK (LOCK_RECORDS IN ( 'Y', 'N' ))
11 | );
12 |
13 | create table PAGE_DATA
14 | (
15 | ID NUMBER NOT NULL,
16 | TYPE_ID INTEGER NOT NULL,
17 | NAME VARCHAR(50) NOT NULL,
18 | ACTIVE VARCHAR(1),
19 | CONSTRAINT CHK_ACTIVE_2 CHECK (ACTIVE IN ( 'Y', 'N' ))
20 | );
21 |
22 | create table PAGE_DATA_ATTRS
23 | (
24 | ID NUMBER NOT NULL,
25 | TYPE_ID INTEGER NOT NULL,
26 | RECORD_ID INTEGER NOT NULL,
27 | NAME VARCHAR(50) NOT NULL,
28 | VALUE VARCHAR(1000) NOT NULL
29 | );
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/ReportableBy.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.element;
2 |
3 | import java.util.List;
4 |
5 | public interface ReportableBy
6 | {
7 | public List getResults();
8 | public void addResult( String locator, int time, boolean success );
9 | }
10 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/natural/NLXpath.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.element.natural;
2 |
3 | import org.openqa.selenium.WebElement;
4 | import org.xframium.device.factory.DeviceWebDriver;
5 |
6 | public interface NLXpath
7 | {
8 | public WebElement getElement( DeviceWebDriver webDriver, NaturalLanguageDescriptor nL );
9 | public String generateXPath( NaturalLanguageDescriptor nL );
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Definitions of individual page elements
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.element;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/provider/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Page Element data providers
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.element.provider;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/provider/sql/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * SQL schemas for database backed element providers
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.element.provider.sql;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/provider/sql/sample-inserts.sql:
--------------------------------------------------------------------------------
1 | insert into PERFECTO_SITES ( NAME )
2 | values ( '' );
3 |
4 | insert into PERFECTO_PAGES ( SITE_NAME, NAME )
5 | values ( '', '' );
6 |
7 | insert into PERFECTO_ELEMENTS ( SITE_NAME, PAGE_NAME, NAME, DESCRIPTOR, VALUE, CONTEXT_NAME )
8 | values ( '', '', '', '', '', '' );
9 |
10 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/provider/sql/tables.sql:
--------------------------------------------------------------------------------
1 | drop table PERFECTO_SITES;
2 | drop table PERFECTO_PAGES;
3 | drop table PERFECTO_ELEMENTS;
4 |
5 | create table PERFECTO_SITES
6 | (
7 | NAME VARCHAR(50) NOT NULL
8 | );
9 |
10 | create table PERFECTO_PAGES
11 | (
12 | SITE_NAME VARCHAR(50) NOT NULL,
13 | NAME VARCHAR(50) NOT NULL
14 | );
15 |
16 | create table PERFECTO_ELEMENTS
17 | (
18 | SITE_NAME VARCHAR(50) NOT NULL,
19 | PAGE_NAME VARCHAR(50) NOT NULL,
20 | NAME VARCHAR(50) NOT NULL,
21 | DESCRIPTOR VARCHAR(50) NOT NULL,
22 | VALUE VARCHAR(200) NOT NULL,
23 | CONTEXT_NAME VARCHAR(50)
24 | );
25 |
26 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/provider/xsd/package-info.java:
--------------------------------------------------------------------------------
1 | //
2 | // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
3 | // See http://java.sun.com/xml/jaxb
4 | // Any modifications to this file will be lost upon recompilation of the source schema.
5 | // Generated on: 2017.10.04 at 12:45:01 PM EDT
6 | //
7 |
8 | @javax.xml.bind.annotation.XmlSchema(namespace = "http://www.xframium.org/pageRegistry", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
9 | package org.xframium.page.element.provider.xsd;
10 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/spi/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.page.element.spi;
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/spi/set/AbstractSetMethod.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.element.spi.set;
2 |
3 | import org.apache.commons.logging.Log;
4 | import org.apache.commons.logging.LogFactory;
5 | import org.openqa.selenium.WebDriver;
6 | import org.openqa.selenium.WebElement;
7 |
8 | public abstract class AbstractSetMethod implements SetMethod
9 | {
10 | protected Log log = LogFactory.getLog( AbstractSetMethod.class );
11 | protected abstract boolean _set( WebElement webElement, WebDriver webDriver, String value, String setType, String xFID );
12 | @Override
13 | public boolean set( WebElement webElement, WebDriver webDriver, String value, String setType, String xFID )
14 | {
15 | if ( log.isInfoEnabled())
16 | log.info( Thread.currentThread().getName() + ": Setting value to " + value + " using [" + getClass().getSimpleName() + "]" );
17 | return _set( webElement, webDriver, value, setType, xFID );
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/spi/set/SetMethod.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.element.spi.set;
2 |
3 | import org.openqa.selenium.WebDriver;
4 | import org.openqa.selenium.WebElement;
5 |
6 | public interface SetMethod
7 | {
8 | public boolean set( WebElement webElement, WebDriver webDriver, String value, String setType, String xFID );
9 | }
10 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/spi/set/SpinnerSetMethod.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.element.spi.set;
2 |
3 | import org.openqa.selenium.By;
4 | import org.openqa.selenium.WebDriver;
5 | import org.openqa.selenium.WebElement;
6 | import org.openqa.selenium.support.ui.Select;
7 |
8 | public class SpinnerSetMethod extends AbstractSetMethod
9 | {
10 | @Override
11 | public boolean _set( WebElement webElement, WebDriver webDriver, String value, String setType, String xFID )
12 | {
13 | webElement.click();
14 | webDriver.findElement( By.xpath( "//android.widget.TextView[@text='" + value + "']" ) ).click();
15 |
16 | return true;
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/element/spi/set/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.page.element.spi.set;
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/factory/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Factory definition and implementations for pages and page elements
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.factory;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/GherkinContainer.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.keyWord;
2 |
3 | import java.lang.reflect.Method;
4 | import java.util.regex.Pattern;
5 |
6 | public class GherkinContainer
7 | {
8 | private String value;
9 | private Pattern regex;
10 | private Method method;
11 |
12 | public GherkinContainer(String value, Pattern regex, Method method) {
13 | super();
14 | this.value = value;
15 | this.regex = regex;
16 | this.method = method;
17 | }
18 | public String getValue() {
19 | return value;
20 | }
21 | public void setValue(String value) {
22 | this.value = value;
23 | }
24 | public Pattern getRegex() {
25 | return regex;
26 | }
27 | public void setRegex(Pattern regex) {
28 | this.regex = regex;
29 | }
30 | public Method getMethod() {
31 | return method;
32 | }
33 | public void setMethod(Method method) {
34 | this.method = method;
35 | }
36 |
37 |
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/matrixExtension/DataArray.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.keyWord.matrixExtension;
2 |
3 | public abstract class DataArray
4 | {
5 | private String dataDefinition;
6 | private String[] dataArray;
7 |
8 | public DataArray ( String dataDefinition )
9 | {
10 | if ( dataDefinition != null )
11 | {
12 | this.dataDefinition = dataDefinition;
13 | this.dataArray = dataDefinition.split( "\\r?\\n" );
14 | }
15 | }
16 |
17 | public String getDataDefinition()
18 | {
19 | return dataDefinition;
20 | }
21 |
22 | public String[] getDataArray()
23 | {
24 | return dataArray;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/matrixExtension/MatrixParameterArray.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.keyWord.matrixExtension;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 | import org.xframium.page.keyWord.KeyWordParameter;
6 |
7 | public class MatrixParameterArray extends DataArray
8 | {
9 | public MatrixParameterArray( String dataDefinition )
10 | {
11 | super( dataDefinition );
12 | }
13 |
14 | public List getParameters()
15 | {
16 | if ( getDataArray() != null && getDataArray().length > 0 )
17 | {
18 | List parameterList = new ArrayList( getDataArray().length );
19 |
20 | for ( String param : getDataArray() )
21 | parameterList.add( new MatrixParameter( param ).getParameter() );
22 |
23 | return parameterList;
24 | }
25 | else
26 | return null;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/matrixExtension/MatrixTokenArray.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.keyWord.matrixExtension;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 | import org.xframium.page.keyWord.KeyWordToken;
6 |
7 | public class MatrixTokenArray extends DataArray
8 | {
9 | public MatrixTokenArray( String dataDefinition )
10 | {
11 | super( dataDefinition );
12 | }
13 |
14 | public List getTokens()
15 | {
16 | if ( getDataArray() != null && getDataArray().length > 0 )
17 | {
18 | List parameterList = new ArrayList( getDataArray().length );
19 |
20 | for ( String param : getDataArray() )
21 | parameterList.add( new MatrixToken( param ).getToken() );
22 |
23 | return parameterList;
24 | }
25 | else
26 | return null;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Root structure of the keyword driven framework
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.keyWord;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/provider/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Keyword definitions providers
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.keyWord.provider;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/provider/sql/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * SQL schemas for database backed keyword definitions
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.keyWord.provider.sql;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/provider/xsd/package-info.java:
--------------------------------------------------------------------------------
1 | //
2 | // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
3 | // See http://java.sun.com/xml/jaxb
4 | // Any modifications to this file will be lost upon recompilation of the source schema.
5 | // Generated on: 2018.08.22 at 07:54:37 AM EDT
6 | //
7 |
8 | @javax.xml.bind.annotation.XmlSchema(namespace = "http://www.xframium.org/testRegistry", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
9 | package org.xframium.page.keyWord.provider.xsd;
10 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/spi/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Keyword page utiility classes
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.keyWord.spi;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/step/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Step definition and factory classes
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.keyWord.step;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/step/spi/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Default keyword implementations
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.keyWord.step.spi;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/step/transform/DefaultTransformation.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.keyWord.step.transform;
2 |
3 | public class DefaultTransformation implements ValueTransformation
4 | {
5 | @Override
6 | public String transformValue(String value)
7 | {
8 | return value;
9 | }
10 |
11 | @Override
12 | public String wrapValue(String value)
13 | {
14 | return value;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/keyWord/step/transform/ValueTransformation.java:
--------------------------------------------------------------------------------
1 | package org.xframium.page.keyWord.step.transform;
2 |
3 | public interface ValueTransformation
4 | {
5 | public String transformValue( String value );
6 | public String wrapValue( String value );
7 | }
8 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/listener/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Execution Listener definitions
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page.listener;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/page/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Page Object Model implementation
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.page;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/reporting/html/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/framework/src/org/xframium/reporting/html/.DS_Store
--------------------------------------------------------------------------------
/framework/src/org/xframium/reporting/html/dark/Grid.js:
--------------------------------------------------------------------------------
1 | var testData = {"pageData": {
2 | "testingTwo": [
3 | "grid-testingTwo-Chrome Local.png",
4 | "grid-testingTwo-Firefox Local.png"
5 | ],
6 | "testingOne": [
7 | "grid-testingOne-Chrome Local.png",
8 | "grid-testingOne-Firefox Local.png"
9 | ],
10 | "testingOneA": [
11 | "grid-testingOneA-Chrome Local.png",
12 | "grid-testingOneA-Firefox Local.png"
13 | ]
14 | }};
--------------------------------------------------------------------------------
/framework/src/org/xframium/reporting/html/light/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/framework/src/org/xframium/reporting/html/light/.DS_Store
--------------------------------------------------------------------------------
/framework/src/org/xframium/reporting/html/light/assets.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/framework/src/org/xframium/reporting/html/light/assets.zip
--------------------------------------------------------------------------------
/framework/src/org/xframium/reporting/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.reporting;
--------------------------------------------------------------------------------
/framework/src/org/xframium/resource/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.resource;
--------------------------------------------------------------------------------
/framework/src/org/xframium/resource/script/applications/applicationRegistry.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/resource/script/applications/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.resource.script.applications;
--------------------------------------------------------------------------------
/framework/src/org/xframium/resource/script/xfNative/objectRepository/page-xF-Application Notifications.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/resource/script/xfNative/objectRepository/page-xF-Device Management.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/resource/script/xfNative/objectRepository/page-xF-General.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/resource/script/xfNative/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.resource.script.xfNative;
--------------------------------------------------------------------------------
/framework/src/org/xframium/spi/driver/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Extended driver implementations
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.spi.driver;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/spi/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * General utiility classes
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.spi;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/utility/ContextWalker.java:
--------------------------------------------------------------------------------
1 | package org.xframium.utility;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 | import org.xframium.container.ContextContainer;
6 | import org.xframium.device.factory.DeviceWebDriver;
7 |
8 | public class ContextWalker
9 | {
10 | public List walkContext( DeviceWebDriver webDriver )
11 | {
12 | List contextList = new ArrayList( 10 );
13 |
14 | for ( String contextHandle : webDriver.getContextHandles() )
15 | {
16 | contextList.add( new ContextContainer( contextHandle ) );
17 | }
18 |
19 | return contextList;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/utility/DateUtility.java:
--------------------------------------------------------------------------------
1 | package org.xframium.utility;
2 |
3 | import java.util.Date;
4 | import java.util.List;
5 | import com.joestelmach.natty.DateGroup;
6 | import com.joestelmach.natty.Parser;
7 |
8 | public class DateUtility
9 | {
10 |
11 | private static final DateUtility singleton = new DateUtility();
12 |
13 | private DateUtility()
14 | {
15 |
16 | }
17 |
18 | public static DateUtility instance()
19 | {
20 | return singleton;
21 | }
22 |
23 | public Date parseDate( String date )
24 | {
25 | Parser parser = new Parser();
26 | List groups = parser.parse( date );
27 |
28 | for ( DateGroup group : groups )
29 | {
30 | List dates = group.getDates();
31 | return dates.get( 0 );
32 | }
33 |
34 | return null;
35 |
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/utility/data/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | /**
5 | * @author Allen
6 | *
7 | */
8 | package org.xframium.utility.data;
--------------------------------------------------------------------------------
/framework/src/org/xframium/utility/data/stateNames.txt:
--------------------------------------------------------------------------------
1 | AK
2 | AL
3 | AR
4 | AZ
5 | CA
6 | CO
7 | CT
8 | DC
9 | DE
10 | FL
11 | GA
12 | HI
13 | IA
14 | ID
15 | IL
16 | IN
17 | KS
18 | KY
19 | LA
20 | MA
21 | MD
22 | ME
23 | MI
24 | MN
25 | MO
26 | MS
27 | MT
28 | NC
29 | ND
30 | NE
31 | NH
32 | NJ
33 | NM
34 | NV
35 | NY
36 | OH
37 | OK
38 | OR
39 | PA
40 | RI
41 | SC
42 | SD
43 | TN
44 | TX
45 | UT
46 | VA
47 | VT
48 | WA
49 | WI
50 | WV
51 | WY
--------------------------------------------------------------------------------
/framework/src/org/xframium/utility/html/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * UFT WebElement parsing framework
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.utility.html;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/utility/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * General utility classes
4 | *
5 | * @since 1.0.0
6 | */
7 |
8 | package org.xframium.utility;
9 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/utility/parser/xpath/XPath.tokens:
--------------------------------------------------------------------------------
1 | T__0=1
2 | T__1=2
3 | T__2=3
4 | T__3=4
5 | T__4=5
6 | T__5=6
7 | T__6=7
8 | T__7=8
9 | NodeType=9
10 | Number=10
11 | AxisName=11
12 | PATHSEP=12
13 | ABRPATH=13
14 | LPAR=14
15 | RPAR=15
16 | LBRAC=16
17 | RBRAC=17
18 | MINUS=18
19 | PLUS=19
20 | DOT=20
21 | MUL=21
22 | DOTDOT=22
23 | AT=23
24 | COMMA=24
25 | PIPE=25
26 | LESS=26
27 | MORE_=27
28 | LE=28
29 | GE=29
30 | COLON=30
31 | CC=31
32 | APOS=32
33 | QUOT=33
34 | Literal=34
35 | Whitespace=35
36 | NCName=36
37 | 'processing-instruction'=1
38 | 'or'=2
39 | 'and'=3
40 | '='=4
41 | '!='=5
42 | 'div'=6
43 | 'mod'=7
44 | '$'=8
45 | '/'=12
46 | '//'=13
47 | '('=14
48 | ')'=15
49 | '['=16
50 | ']'=17
51 | '-'=18
52 | '+'=19
53 | '.'=20
54 | '*'=21
55 | '..'=22
56 | '@'=23
57 | ','=24
58 | '|'=25
59 | '<'=26
60 | '>'=27
61 | '<='=28
62 | '>='=29
63 | ':'=30
64 | '::'=31
65 | '\''=32
66 | '\"'=33
67 |
--------------------------------------------------------------------------------
/framework/src/org/xframium/utility/parser/xpath/XPathLexer.tokens:
--------------------------------------------------------------------------------
1 | T__0=1
2 | T__1=2
3 | T__2=3
4 | T__3=4
5 | T__4=5
6 | T__5=6
7 | T__6=7
8 | T__7=8
9 | NodeType=9
10 | Number=10
11 | AxisName=11
12 | PATHSEP=12
13 | ABRPATH=13
14 | LPAR=14
15 | RPAR=15
16 | LBRAC=16
17 | RBRAC=17
18 | MINUS=18
19 | PLUS=19
20 | DOT=20
21 | MUL=21
22 | DOTDOT=22
23 | AT=23
24 | COMMA=24
25 | PIPE=25
26 | LESS=26
27 | MORE_=27
28 | LE=28
29 | GE=29
30 | COLON=30
31 | CC=31
32 | APOS=32
33 | QUOT=33
34 | Literal=34
35 | Whitespace=35
36 | NCName=36
37 | 'processing-instruction'=1
38 | 'or'=2
39 | 'and'=3
40 | '='=4
41 | '!='=5
42 | 'div'=6
43 | 'mod'=7
44 | '$'=8
45 | '/'=12
46 | '//'=13
47 | '('=14
48 | ')'=15
49 | '['=16
50 | ']'=17
51 | '-'=18
52 | '+'=19
53 | '.'=20
54 | '*'=21
55 | '..'=22
56 | '@'=23
57 | ','=24
58 | '|'=25
59 | '<'=26
60 | '>'=27
61 | '<='=28
62 | '>='=29
63 | ':'=30
64 | '::'=31
65 | '\''=32
66 | '\"'=33
67 |
--------------------------------------------------------------------------------
/framework/xframium.yml:
--------------------------------------------------------------------------------
1 | platform: linux
2 |
3 | image_resource:
4 | type: docker-image
5 | source:
6 | repository: maven
7 | tag: 'latest'
8 |
9 | inputs:
10 | - name: source-code
11 |
12 | outputs:
13 | - name: built-project
14 |
15 | run:
16 | path: mvn
17 | args: ["-f", "source-code/driver/pom.xml", "clean", "compile", "exec:exec" , "-DdriverConfig=../testing/driverConfig.xml"]
--------------------------------------------------------------------------------
/jenkins/README:
--------------------------------------------------------------------------------
1 | The xFramium/Jenkins plugin allows for xFramium scripts to be executed directly in Jenkins. You can specify tags, test, clouds, etc and view reports linked to each run.
2 |
--------------------------------------------------------------------------------
/jira/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/jira/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 |
--------------------------------------------------------------------------------
/jira/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | jira
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.m2e.core.maven2Builder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.m2e.core.maven2Nature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/jira/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
3 | org.eclipse.jdt.core.compiler.compliance=1.8
4 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
5 | org.eclipse.jdt.core.compiler.source=1.8
6 |
--------------------------------------------------------------------------------
/jira/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/jira/src/org/xframium/integrations/jira/ExecutionStatus.java:
--------------------------------------------------------------------------------
1 | package org.xframium.integrations.jira;
2 | /**
3 | * Enum that stored the execution status values
4 | *
5 | */
6 | public enum ExecutionStatus {
7 | PASS(1), FAIL(2), WIP(3);
8 |
9 | private int value;
10 |
11 | private ExecutionStatus(int value){
12 | this.value = value;
13 | }
14 |
15 | public int getValue() {
16 | return value;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/jira/src/org/xframium/integrations/jira/HTTPMethod.java:
--------------------------------------------------------------------------------
1 | package org.xframium.integrations.jira;
2 |
3 | /**
4 | *
5 | *
6 | */
7 | public enum HTTPMethod {
8 | GET("GET"), POST("POST"), DELETE("DELETE"), PUT("PUT");
9 |
10 | private String value;
11 |
12 | private HTTPMethod(String method){
13 | this.value = method;
14 | }
15 |
16 | public String getValue() {
17 | return value;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/jira/src/org/xframium/integrations/jira/entity/JIRAAttachment.java:
--------------------------------------------------------------------------------
1 | package org.xframium.integrations.jira.entity;
2 |
3 | import java.io.File;
4 |
5 | /**
6 | * Represents an attachment inside execution
7 | * Test Cycle > Execution > Attachment
8 | *
9 | */
10 |
11 | public class JIRAAttachment extends JIRAEntity {
12 |
13 | private String attachmentName;
14 | private File attachmentFile;
15 |
16 | public String getAttachmentName() {
17 | return attachmentName;
18 | }
19 | public void setAttachmentName(String attachmentName) {
20 | this.attachmentName = attachmentName;
21 | }
22 | public File getAttachmentFile() {
23 | return attachmentFile;
24 | }
25 | public void setAttachmentFile(File attachmentFile) {
26 | this.attachmentFile = attachmentFile;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/jira/src/org/xframium/integrations/jira/entity/JIRAEntity.java:
--------------------------------------------------------------------------------
1 | package org.xframium.integrations.jira.entity;
2 |
3 | /**
4 | * Common entity class extended by other entity classes.
5 | *
6 | */
7 | public abstract class JIRAEntity {
8 |
9 | private String id;
10 |
11 | public String getId() {
12 | return id;
13 | }
14 |
15 | public void setId(String id) {
16 | this.id = id;
17 | }
18 |
19 |
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/jira/src/org/xframium/integrations/jira/entity/JIRAProject.java:
--------------------------------------------------------------------------------
1 | package org.xframium.integrations.jira.entity;
2 |
3 | /**
4 | * Represents a Project in JIRA
5 | *
6 | */
7 | public class JIRAProject extends JIRAEntity {
8 |
9 | private String projectKey;
10 |
11 |
12 | public String getProjectKey() {
13 | return projectKey;
14 | }
15 |
16 | public void setProjectKey(String projectKey) {
17 | this.projectKey = projectKey;
18 | }
19 |
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/jira/src/org/xframium/integrations/jira/entity/JIRAVersion.java:
--------------------------------------------------------------------------------
1 | package org.xframium.integrations.jira.entity;
2 |
3 | /**
4 | * Represents a version in JIRA
5 | * Project > Version
6 | *
7 | */
8 | public class JIRAVersion extends JIRAEntity {
9 |
10 | private String projectId;
11 | private String versionName;
12 |
13 |
14 | public String getProjectId() {
15 | return projectId;
16 | }
17 | public void setProjectId(String projectId) {
18 | this.projectId = projectId;
19 | }
20 | public String getVersionName() {
21 | return versionName;
22 | }
23 | public void setVersionName(String versionName) {
24 | this.versionName = versionName;
25 | }
26 |
27 |
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/launcher/bin/fail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/launcher/bin/fail.png
--------------------------------------------------------------------------------
/launcher/bin/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/launcher/bin/success.png
--------------------------------------------------------------------------------
/sampleWebTest/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/sampleWebTest/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 | /target/
3 | /test-output/
4 |
--------------------------------------------------------------------------------
/sampleWebTest/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | sampleWebTest
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.m2e.core.maven2Builder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.m2e.core.maven2Nature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/sampleWebTest/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
3 | org.eclipse.jdt.core.compiler.compliance=1.5
4 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
5 | org.eclipse.jdt.core.compiler.source=1.5
6 |
--------------------------------------------------------------------------------
/sampleWebTest/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/.gitignore:
--------------------------------------------------------------------------------
1 | /test-output/
2 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/applicationRegistry.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/cloudRegistry.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/data/SAMPLE_DATA.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/sampleWebTest/resources/data/SAMPLE_DATA.xlsx
--------------------------------------------------------------------------------
/sampleWebTest/resources/data/testData.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/deviceRegistry.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/functions/Web Test/Reporting.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/functions/functions-Web Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/objectRepository/Web Test/Facebook/page-Login.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/objectRepository/Web Test/Facebook/site-Facebook.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/objectRepository/Web Test/Google/page-Search.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/objectRepository/Web Test/Google/site-Google.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/objectRepository/Web Test/objectRepository.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sampleWebTest/resources/tests/tests-Web Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sampleWebTest/src/org/xframium/webTest/WebTestDriver.java:
--------------------------------------------------------------------------------
1 | package org.xframium.webTest;
2 |
3 | import org.xframium.driver.TestDriver;
4 |
5 | public class WebTestDriver extends TestDriver
6 | {
7 | public static void main( String[] args )
8 | {
9 | TestDriver.main( new String[] { "resources\\Web Test.xml" } );
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/terminal-driver/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 |
--------------------------------------------------------------------------------
/terminal-driver/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | xframium-terminal-driver
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.m2e.core.maven2Builder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.m2e.core.maven2Nature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/terminal-driver/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding//src/main/java=UTF-8
3 | encoding//src/test/java=UTF-8
4 | encoding/=UTF-8
5 |
--------------------------------------------------------------------------------
/terminal-driver/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
6 | org.eclipse.jdt.core.compiler.compliance=1.8
7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
12 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
13 | org.eclipse.jdt.core.compiler.source=1.8
14 |
--------------------------------------------------------------------------------
/terminal-driver/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/terminal-driver/lib/openjfx-monocle-8u76-b04.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/terminal-driver/lib/openjfx-monocle-8u76-b04.jar
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/application/KeyboardStatusChangedEvent.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.application;
2 |
3 | public final class KeyboardStatusChangedEvent
4 | {
5 | public final boolean insertMode;
6 | public final boolean keyboardLocked;
7 | public final String keyName;
8 |
9 | public KeyboardStatusChangedEvent (boolean insertMode, boolean keyboardLocked,
10 | String keyName)
11 | {
12 | this.insertMode = insertMode;
13 | this.keyboardLocked = keyboardLocked;
14 | this.keyName = keyName;
15 | }
16 |
17 | @Override
18 | public String toString ()
19 | {
20 | StringBuilder text = new StringBuilder ();
21 |
22 | text.append (String.format ("Keyboard locked ... %s%n", keyboardLocked));
23 | text.append (String.format ("Insert mode on .... %s%n", insertMode));
24 | text.append (String.format ("Key pressed ....... %s%n", keyName));
25 |
26 | return text.toString ();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/application/KeyboardStatusListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.application;
2 |
3 | public interface KeyboardStatusListener
4 | {
5 | public void keyboardStatusChanged (KeyboardStatusChangedEvent evt);
6 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/application/Mainframe.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.application;
2 |
3 | import com.bytezone.dm3270.commands.Command;
4 |
5 | public interface Mainframe
6 | {
7 | public void receiveCommand (Command command);
8 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/assistant/BatchJobListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.assistant;
2 |
3 | public interface BatchJobListener
4 | {
5 | public void batchJobSubmitted (int jobNumber, String jobName);
6 |
7 | public void batchJobEnded (int jobNumber, String jobName, String time,
8 | int conditionCode);
9 |
10 | public void batchJobFailed (int jobNumber, String jobName, String time);
11 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/assistant/BatchJobSelectionListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.assistant;
2 |
3 | public interface BatchJobSelectionListener
4 | {
5 | public void jobSelected (BatchJob job);
6 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/assistant/DatasetSelectionListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.assistant;
2 |
3 | public interface DatasetSelectionListener
4 | {
5 | public void datasetSelected (Dataset dataset);
6 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/assistant/FileSelectionListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.assistant;
2 |
3 | public interface FileSelectionListener
4 | {
5 | public void fileSelected (String filename);
6 | }
7 |
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/attributes/BackgroundColor.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.attributes;
2 |
3 | import com.bytezone.dm3270.display.ContextManager;
4 | import com.bytezone.dm3270.display.ScreenContext;
5 |
6 | public class BackgroundColor extends ColorAttribute
7 | {
8 | public BackgroundColor (byte value)
9 | {
10 | super (AttributeType.BACKGROUND_COLOR, Attribute.XA_BGCOLOR, value);
11 | }
12 |
13 | @Override
14 | public ScreenContext process (ContextManager contextManager,
15 | ScreenContext defaultContext, ScreenContext currentContext)
16 | {
17 | return contextManager.setBackground (currentContext, color);
18 | }
19 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/attributes/ForegroundColor.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.attributes;
2 |
3 | import com.bytezone.dm3270.display.ContextManager;
4 | import com.bytezone.dm3270.display.ScreenContext;
5 |
6 | public class ForegroundColor extends ColorAttribute
7 | {
8 | public ForegroundColor (byte value)
9 | {
10 | super (AttributeType.FOREGROUND_COLOR, Attribute.XA_FGCOLOR, value);
11 | }
12 |
13 | @Override
14 | public ScreenContext process (ContextManager contextManager,
15 | ScreenContext defaultContext, ScreenContext currentContext)
16 | {
17 | return contextManager.setForeground (currentContext, color);
18 | }
19 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/attributes/ResetAttribute.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.attributes;
2 |
3 | import com.bytezone.dm3270.display.ContextManager;
4 | import com.bytezone.dm3270.display.ScreenContext;
5 |
6 | public class ResetAttribute extends Attribute
7 | {
8 | public ResetAttribute (byte value)
9 | {
10 | super (AttributeType.RESET, XA_RESET, value);
11 | }
12 |
13 | @Override
14 | public ScreenContext process (ContextManager contextManager,
15 | ScreenContext defaultContext, ScreenContext currentContext)
16 | {
17 | return defaultContext;
18 | }
19 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/buffers/AbstractReplyBuffer.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.buffers;
2 |
3 | import java.util.Optional;
4 |
5 | public abstract class AbstractReplyBuffer extends AbstractBuffer implements ReplyBuffer
6 | {
7 | private Buffer reply;
8 |
9 | public AbstractReplyBuffer ()
10 | {
11 | super ();
12 | }
13 |
14 | public AbstractReplyBuffer (byte[] buffer, int offset, int length)
15 | {
16 | super (buffer, offset, length);
17 | }
18 |
19 | @Override
20 | public void setReply (Buffer reply)
21 | {
22 | this.reply = reply;
23 | }
24 |
25 | @Override
26 | public Optional getReply ()
27 | {
28 | return reply == null ? Optional.empty () : Optional.of (reply);
29 | }
30 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/buffers/AbstractTN3270Command.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.buffers;
2 |
3 | public abstract class AbstractTN3270Command extends AbstractReplyBuffer
4 | {
5 | public AbstractTN3270Command ()
6 | {
7 | super ();
8 | }
9 |
10 | public AbstractTN3270Command (byte[] buffer, int offset, int length)
11 | {
12 | super (buffer, offset, length);
13 | }
14 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/buffers/AbstractTelnetCommand.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.buffers;
2 |
3 | import com.bytezone.dm3270.streams.TelnetState;
4 |
5 | public abstract class AbstractTelnetCommand extends AbstractReplyBuffer
6 | {
7 | protected TelnetState telnetState;
8 |
9 | public AbstractTelnetCommand (byte[] buffer, int offset, int length,
10 | TelnetState telnetState)
11 | {
12 | super (buffer, offset, length);
13 | this.telnetState = telnetState;
14 | }
15 |
16 | @Override
17 | public byte[] getTelnetData ()
18 | {
19 | return data; // do not expand anything, do not append EOR bytes
20 | }
21 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/buffers/Buffer.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.buffers;
2 |
3 | import com.bytezone.dm3270.display.Screen;
4 |
5 | public interface Buffer
6 | {
7 | public abstract byte[] getData ();
8 |
9 | public abstract byte[] getTelnetData ();
10 |
11 | public abstract int size ();
12 |
13 | public abstract void process (Screen screen);
14 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/buffers/DefaultBuffer.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.buffers;
2 |
3 | import com.bytezone.dm3270.display.Screen;
4 |
5 | public class DefaultBuffer extends AbstractBuffer
6 | {
7 | public DefaultBuffer (byte[] buffer)
8 | {
9 | super (buffer);
10 | }
11 |
12 | @Override
13 | public void process (Screen screen)
14 | {
15 | System.out.println ("Nothing to process");
16 | }
17 |
18 | @Override
19 | public String toString ()
20 | {
21 | return "DefaultBuffer";
22 | }
23 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/buffers/ReplyBuffer.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.buffers;
2 |
3 | import java.util.Optional;
4 |
5 | public interface ReplyBuffer extends Buffer
6 | {
7 | public Optional getReply ();
8 |
9 | public void setReply (Buffer reply);
10 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/commands/EraseAllUnprotectedCommand.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.commands;
2 |
3 | import com.bytezone.dm3270.display.Screen;
4 |
5 | public class EraseAllUnprotectedCommand extends Command
6 | {
7 | // This command has no WCC or data.
8 | public EraseAllUnprotectedCommand (byte[] buffer, int offset, int length)
9 | {
10 | super (buffer, offset, length);
11 | assert buffer[offset] == Command.ERASE_ALL_UNPROTECTED_0F
12 | || buffer[offset] == Command.ERASE_ALL_UNPROTECTED_6F;
13 | }
14 |
15 | @Override
16 | public void process (Screen screen)
17 | {
18 | screen.eraseAllUnprotected ();
19 | }
20 |
21 | @Override
22 | public String getName ()
23 | {
24 | return "Erase All Unprotected";
25 | }
26 |
27 | @Override
28 | public String toString ()
29 | {
30 | return "EAU :";
31 | }
32 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/console/ConsoleMessageListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.console;
2 |
3 | public interface ConsoleMessageListener
4 | {
5 | public void consoleMessage (ConsoleMessage consoleMessage);
6 | }
7 |
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/display/CursorMoveListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.display;
2 |
3 | public interface CursorMoveListener
4 | {
5 | public abstract void cursorMoved (int oldLocation, int newLocation, Field field);
6 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/display/DisplayScreen.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.display;
2 |
3 | public interface DisplayScreen
4 | {
5 | Pen getPen ();
6 |
7 | ScreenDimensions getScreenDimensions ();
8 |
9 | ScreenPosition getScreenPosition (int position);
10 |
11 | ScreenPosition[] getScreenPositions ();
12 |
13 | int validate (int position);
14 |
15 | void clearScreen ();
16 |
17 | void insertCursor (int position);
18 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/display/FieldChangeListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.display;
2 |
3 | public interface FieldChangeListener
4 | {
5 | public abstract void fieldChanged (Field oldField, Field newField);
6 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/display/FontManager.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.display;
2 |
3 | import java.util.prefs.Preferences;
4 |
5 | import javafx.scene.control.Menu;
6 | import javafx.scene.text.Font;
7 |
8 | public interface FontManager
9 | {
10 | public static FontManager getInstance (Screen screen, Preferences prefs)
11 | {
12 | return new FontManagerType1 (screen, prefs);
13 | }
14 |
15 | public Menu getFontMenu ();
16 |
17 | public void smaller ();
18 |
19 | public void bigger ();
20 |
21 | public String getFontName ();
22 |
23 | public int getFontSize ();
24 |
25 | public Font getStatusBarFont ();
26 |
27 | public FontDetails getFontDetails ();
28 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/display/ScreenChangeListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.display;
2 |
3 | public interface ScreenChangeListener
4 | {
5 | public abstract void screenChanged (ScreenWatcher screenWatcher);
6 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/display/TSOCommandListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.display;
2 |
3 | public interface TSOCommandListener
4 | {
5 | public void tsoCommand (String command);
6 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/extended/ResponseCommand.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.extended;
2 |
3 | import com.bytezone.dm3270.utilities.Dm3270Utility;
4 |
5 | public class ResponseCommand extends AbstractExtendedCommand
6 | {
7 | public ResponseCommand (CommandHeader commandHeader, byte[] buffer, int offset,
8 | int length)
9 | {
10 | super (commandHeader, buffer, offset, length);
11 | }
12 |
13 | @Override
14 | public String getName ()
15 | {
16 | return "Response";
17 | }
18 |
19 | @Override
20 | public String toString ()
21 | {
22 | return String.format ("Rsp: %02X", data[0]);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/filetransfer/RecordNumber.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.filetransfer;
2 |
3 | import com.bytezone.dm3270.utilities.Dm3270Utility;
4 |
5 | public class RecordNumber extends TransferRecord
6 | {
7 | static final byte RECORD_LENGTH = 6;
8 | static final byte TYPE = 0x63;
9 |
10 | int recordNumber;
11 |
12 | public RecordNumber (int recordNumber)
13 | {
14 | super (TYPE, RECORD_LENGTH);
15 | Dm3270Utility.packUnsignedLong (recordNumber, data, 2);
16 | }
17 |
18 | public RecordNumber (byte[] data, int offset)
19 | {
20 | super (data, offset);
21 | recordNumber = Dm3270Utility.unsignedLong (data, 2);
22 | }
23 |
24 | @Override
25 | public String toString ()
26 | {
27 | return String.format ("recnum : %s", Dm3270Utility.toHexString (data));
28 | }
29 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/filetransfer/RecordSize.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.filetransfer;
2 |
3 | import com.bytezone.dm3270.utilities.Dm3270Utility;
4 |
5 | public class RecordSize extends TransferRecord
6 | {
7 | int recordSize1;
8 | int recordSize2;
9 |
10 | public RecordSize (byte[] data, int offset)
11 | {
12 | super (data, offset);
13 | recordSize1 = Dm3270Utility.unsignedShort (data, offset + 2);
14 | recordSize2 = Dm3270Utility.unsignedShort (data, offset + 4);
15 | }
16 |
17 | @Override
18 | public String toString ()
19 | {
20 | return String.format ("rec size : %s (%,d or %,d)", Dm3270Utility.toHexString (data),
21 | recordSize1, recordSize2);
22 | }
23 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/filetransfer/TransferListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.filetransfer;
2 |
3 | import com.bytezone.dm3270.filetransfer.TransferManager.TransferStatus;
4 |
5 | public interface TransferListener
6 | {
7 | public void transferStatusChanged (TransferStatus status, Transfer transfer);
8 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/orders/BufferAddressSource.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.orders;
2 |
3 | public interface BufferAddressSource
4 | {
5 | public BufferAddress getBufferAddress ();
6 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/orders/InsertCursorOrder.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.orders;
2 |
3 | import com.bytezone.dm3270.display.DisplayScreen;
4 | import com.bytezone.dm3270.display.Pen;
5 |
6 | public class InsertCursorOrder extends Order
7 | {
8 | public InsertCursorOrder (byte[] buffer, int offset)
9 | {
10 | assert buffer[offset] == Order.INSERT_CURSOR;
11 |
12 | this.buffer = new byte[1];
13 | this.buffer[0] = buffer[offset];
14 | }
15 |
16 | public InsertCursorOrder ()
17 | {
18 | this.buffer = new byte[1];
19 | this.buffer[0] = Order.INSERT_CURSOR;
20 | }
21 |
22 | @Override
23 | public void process (DisplayScreen screen)
24 | {
25 | Pen pen = screen.getPen ();
26 | screen.insertCursor (pen.getPosition ());
27 | }
28 |
29 | @Override
30 | public String toString ()
31 | {
32 | return "IC";
33 | }
34 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/plugins/Plugin.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.plugins;
2 |
3 | public interface Plugin
4 | {
5 | default void activate ()
6 | {
7 | }
8 |
9 | default void deactivate ()
10 | {
11 | }
12 |
13 | default boolean doesAuto ()
14 | {
15 | return false;
16 | }
17 |
18 | default boolean doesRequest ()
19 | {
20 | return false;
21 | }
22 |
23 | default void processAuto (PluginData screen)
24 | {
25 | }
26 |
27 | default void processRequest (PluginData screen)
28 | {
29 | }
30 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/replyfield/AuxilliaryDevices.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.replyfield;
2 |
3 | public class AuxilliaryDevices extends QueryReplyField
4 | {
5 | byte flags1;
6 | byte flags2;
7 |
8 | public AuxilliaryDevices ()
9 | {
10 | super (AUXILLIARY_DEVICE_REPLY);
11 |
12 | int ptr = createReply (2);
13 | reply[ptr++] = 0;
14 | reply[ptr++] = 0;
15 |
16 | checkDataLength (ptr);
17 | }
18 |
19 | public AuxilliaryDevices (byte[] buffer)
20 | {
21 | super (buffer);
22 |
23 | assert data[1] == AUXILLIARY_DEVICE_REPLY;
24 |
25 | flags1 = data[2];
26 | flags2 = data[3];
27 | }
28 |
29 | @Override
30 | public String toString ()
31 | {
32 | StringBuilder text = new StringBuilder (super.toString ());
33 |
34 | text.append (String.format ("%n flags1 : %02X", flags1));
35 | text.append (String.format ("%n flags2 : %02X", flags2));
36 | return text.toString ();
37 | }
38 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/replyfield/DefaultReply.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.replyfield;
2 |
3 | import com.bytezone.dm3270.utilities.Dm3270Utility;
4 |
5 | public class DefaultReply extends QueryReplyField
6 | {
7 | public DefaultReply (byte[] buffer)
8 | {
9 | super (buffer);
10 | System.out.printf ("Unknown reply field: %02X%n", buffer[0]);
11 | System.out.println (Dm3270Utility.toHex (buffer));
12 | }
13 |
14 | @Override
15 | public String toString ()
16 | {
17 | StringBuilder text = new StringBuilder (super.toString ());
18 |
19 | text.append (String.format ("%n%n%s", Dm3270Utility.toHex (data)));
20 |
21 | return text.toString ();
22 | }
23 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/replyfield/Segment.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.replyfield;
2 |
3 | public class Segment extends QueryReplyField
4 | {
5 | public Segment (byte[] buffer)
6 | {
7 | super (buffer);
8 |
9 | assert data[1] == SEGMENT_REPLY;
10 | }
11 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/replyfield/Transparency.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.replyfield;
2 |
3 | public class Transparency extends QueryReplyField
4 | {
5 | public Transparency (byte[] buffer)
6 | {
7 | super (buffer);
8 |
9 | assert data[1] == TRANSPARENCY_REPLY;
10 | }
11 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/session/SessionTable.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.session;
2 |
3 | import com.bytezone.dm3270.utilities.DefaultTable;
4 |
5 | public class SessionTable extends DefaultTable
6 | {
7 | public SessionTable ()
8 | {
9 | addColumnString ("mm:ss", 45, Justification.LEFT, "time");
10 | addColumnString ("Source", 55, Justification.LEFT, "sourceName");
11 | addColumnString ("Type", 70, Justification.LEFT, "commandType");
12 | addColumnString ("Command", 80, Justification.LEFT, "commandName");
13 | addColumnNumber ("Size", 55, "bufferSize");
14 |
15 | setPrefWidth (337);
16 | }
17 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/streams/BufferListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.streams;
2 |
3 | import java.time.LocalDateTime;
4 |
5 | import com.bytezone.dm3270.streams.TelnetSocket.Source;
6 |
7 | public interface BufferListener
8 | {
9 | public void listen (Source targetRole, byte[] message, LocalDateTime dateTime,
10 | boolean genuine);
11 |
12 | public void close ();
13 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/streams/TelnetStateListener.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.streams;
2 |
3 | public interface TelnetStateListener
4 | {
5 | public void telnetStateChanged (TelnetState telnetState);
6 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/structuredfields/DefaultStructuredField.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.structuredfields;
2 |
3 | import com.bytezone.dm3270.display.Screen;
4 | import com.bytezone.dm3270.utilities.Dm3270Utility;
5 |
6 | public class DefaultStructuredField extends StructuredField
7 | {
8 | public DefaultStructuredField (byte[] buffer, int offset, int length)
9 | {
10 | super (buffer, offset, length);
11 | }
12 |
13 | @Override
14 | public void process (Screen screen)
15 | {
16 |
17 | }
18 |
19 | @Override
20 | public String toString ()
21 | {
22 | StringBuilder text = new StringBuilder ();
23 | text.append (String.format ("Unknown SF : %02X%n", data[0]));
24 | text.append (Dm3270Utility.toHex (data));
25 | return text.toString ();
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/telnet/TelnetCommandProcessor.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.telnet;
2 |
3 | public interface TelnetCommandProcessor
4 | {
5 | public void processData (byte[] buffer, int length);
6 |
7 | public void processRecord (byte[] buffer, int length);
8 |
9 | public void processTelnetCommand (byte[] buffer, int length);
10 |
11 | public void processTelnetSubcommand (byte[] buffer, int length);
12 | }
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/com/bytezone/dm3270/utilities/ISite.java:
--------------------------------------------------------------------------------
1 | package com.bytezone.dm3270.utilities;
2 |
3 | public interface ISite
4 | {
5 | public String getName();
6 | public String getURL();
7 | public int getPort();
8 | public boolean getExtended();
9 | public int getModel();
10 | public boolean getPlugins();
11 | public String getFolder();
12 | }
13 |
--------------------------------------------------------------------------------
/terminal-driver/src/main/java/org/xframium/terminal/driver/screen/model/package-info.java:
--------------------------------------------------------------------------------
1 | //
2 | // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
3 | // See http://java.sun.com/xml/jaxb
4 | // Any modifications to this file will be lost upon recompilation of the source schema.
5 | // Generated on: 2017.11.03 at 10:28:07 PM EDT
6 | //
7 |
8 | @javax.xml.bind.annotation.XmlSchema(namespace = "http://www.xframium.org/terminal-screen-model", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
9 | package org.xframium.terminal.driver.screen.model;
10 |
--------------------------------------------------------------------------------
/terminal-driver/src/test/resources/test.properties:
--------------------------------------------------------------------------------
1 | test.app.file=c:/Users/Dad/projects/moreland/xframium-java/terminal-driver/src/test/resources/TestApp.xml
2 | test.app.name=sim390
3 | test.app.start=SystemBanner
4 | test.terminal.host=127.0.0.1
5 | test.terminal.port=2023
6 | test.terminal.type=2
7 | test.terminal.visible=true
8 | test.app.images=c:/Users/Dad/projects/moreland/xframium-java/terminal-driver/target
9 |
--------------------------------------------------------------------------------
/testing/.gitignore:
--------------------------------------------------------------------------------
1 | /test-output/
2 | /cloudRegistry.xml
3 |
--------------------------------------------------------------------------------
/testing/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | xframium-testing
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/testing/data/testData.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/testing/functions/xTest/Report Test Success.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Reports the current value of the test success flag
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/testing/functions/xTest/andSet.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | null
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/testing/functions/xTest/callDataChange.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | null
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/testing/functions/xTest/checkData.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | This is a sample function
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/testing/functions/xTest/checkData2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | This is a sample function
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/testing/functions/xTest/error function.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | null
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/testing/functions/xTest/kw-call.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/testing/functions/xTest/kw-dumpstate.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | null
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/functions/xTest/kw-flow.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Tests the flow control functionality
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/testing/functions/xTest/kw-math.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | null
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/testing/functions/xTest/kw-visual.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Tests of the Perfecto VISUAL keyword
5 |
6 |
7 |
--------------------------------------------------------------------------------
/testing/functions/xTest/kw-wait.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | null
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/testing/functions/xTest/orSet.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | null
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/testing/functions/xTest/setValue.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | null
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/testing/functions/xTest/setValue2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | null
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/testing/functions/xTest/setValueFromElement.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | null
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/testing/functions/xTest/setValueFromNumericIndex.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | null
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/testing/html/testing2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | xFramium Second Page
6 |
7 |
8 |
9 |
10 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/testing/objectRepository/synthetics/New Test Suite/Google Home/Results/Firefox Windows 8.1 firefox 46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/objectRepository/synthetics/New Test Suite/Google Home/Results/Firefox Windows 8.1 firefox 46.png
--------------------------------------------------------------------------------
/testing/objectRepository/synthetics/New Test Suite/wikipedia/home/Firefox Windows 8.1 firefox 46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/objectRepository/synthetics/New Test Suite/wikipedia/home/Firefox Windows 8.1 firefox 46.png
--------------------------------------------------------------------------------
/testing/objectRepository/synthetics/xTest/Microsoft/home/Firefox Windows 8.1 firefox 46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/objectRepository/synthetics/xTest/Microsoft/home/Firefox Windows 8.1 firefox 46.png
--------------------------------------------------------------------------------
/testing/objectRepository/synthetics/xTest/Wiki/Article/Firefox Windows 8.1 firefox 46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/objectRepository/synthetics/xTest/Wiki/Article/Firefox Windows 8.1 firefox 46.png
--------------------------------------------------------------------------------
/testing/objectRepository/synthetics/xTest/Wiki/English Home/Firefox Windows 8.1 firefox 46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/objectRepository/synthetics/xTest/Wiki/English Home/Firefox Windows 8.1 firefox 46.png
--------------------------------------------------------------------------------
/testing/objectRepository/synthetics/xTest/Wiki/German Home/Firefox Windows 8.1 firefox 46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/objectRepository/synthetics/xTest/Wiki/German Home/Firefox Windows 8.1 firefox 46.png
--------------------------------------------------------------------------------
/testing/objectRepository/synthetics/xTest/Wiki/Home/Firefox Windows 8.1 firefox 46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/objectRepository/synthetics/xTest/Wiki/Home/Firefox Windows 8.1 firefox 46.png
--------------------------------------------------------------------------------
/testing/objectRepository/synthetics/xTest/xTest/Home2/Firefox Windows 8.1 firefox 46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/objectRepository/synthetics/xTest/xTest/Home2/Firefox Windows 8.1 firefox 46.png
--------------------------------------------------------------------------------
/testing/objectRepository/synthetics/xTest/xTest/eBaums/Firefox Windows 8.1 firefox 46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/objectRepository/synthetics/xTest/xTest/eBaums/Firefox Windows 8.1 firefox 46.png
--------------------------------------------------------------------------------
/testing/objectRepository/synthetics/xTest/xTest/home/Firefox Windows 8.1 firefox 46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/objectRepository/synthetics/xTest/xTest/home/Firefox Windows 8.1 firefox 46.png
--------------------------------------------------------------------------------
/testing/objectRepository/synthetics/xTest/xTest/page two/Firefox Windows 8.1 firefox 46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/objectRepository/synthetics/xTest/xTest/page two/Firefox Windows 8.1 firefox 46.png
--------------------------------------------------------------------------------
/testing/objectRepository/synthetics/xTest/xf/home/Android Chrome.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/objectRepository/synthetics/xTest/xf/home/Android Chrome.png
--------------------------------------------------------------------------------
/testing/objectRepository/xTest/Settings/page-Safari.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/testing/objectRepository/xTest/Settings/site-Settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/testing/objectRepository/xTest/objectRepository.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/testing/objectRepository/xTest/xF_Native/page-xF-Application Notifications.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/objectRepository/xTest/xF_Native/page-xF-Device Management.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/testing/objectRepository/xTest/xF_Native/page-xF-General.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/testing/objectRepository/xTest/xF_Native/page-xF_Notification.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/testing/objectRepository/xTest/xF_Native/site-xF_Native.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/testing/objectRepository/xTest/xTest/page-page two.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/testing/objectRepository/xTest/xTest/site-xTest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/testing/pageData/pageData.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/testing/pageData/pageData.xlsx
--------------------------------------------------------------------------------
/testing/tests/xTest/Accessibility Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Accessibility Test
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Alert Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Alert Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Align Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Align Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Attribute Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Attribute Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Browser Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Browser Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Cache Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Cache Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Call Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Call Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Click Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Click Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Comparison Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Comparison Test
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/testing/tests/xTest/ERROR Test 2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | null
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Else Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Else Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Exists Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exists Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Focus Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Focus Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/GET Value Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | GET Value Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/JS Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | JS Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/LEGACY Compare Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Compare Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Loop Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Loop Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Math Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Math Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Mouse Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Mouse Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Navigate Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Navigate Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Operator Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Operator Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Random Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Random Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Report Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Report Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/SET Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SET Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/State Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | State Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/String Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | String Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Verify Color Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Verify Color Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Verify Contrast Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Verify Contrast Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Visible Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Visible Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Visual Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Visual Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Wait For Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Wait For Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/Wait Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Wait Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/WebService Test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | WebService Test
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/testing/tests/xTest/xFramium Flow Control.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | This will test the flow control methods to ensure that the test exists
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/testing/tests/xTest/xFramium NATIVE Airplane.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Test the Perfecto NATIVE Airplane Commands
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/testing/tests/xTest/xFramium NATIVE Data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Test the Perfecto NATIVE Data Commands
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/testing/tests/xTest/xFramium NATIVE Location.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Test the Perfecto NATIVE Location Commands
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/testing/tests/xTest/xFramium NATIVE Trust.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Test trusting of an application developer
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/testing/tests/xTest/xFramium NATIVE Wifi.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Test the Perfecto NATIVE WiFi Commands
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/testing/tests/xTest/xFramium Page Element Context.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Tests that the specified step is ignored for a specific OS type
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/testing/ws-payload.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {loanAmount}
6 | {extraCost}
7 | {interestRate}
8 | {months}
9 |
10 |
11 |
--------------------------------------------------------------------------------
/xframium-driver-1.0.6.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/xframium-driver-1.0.6.zip
--------------------------------------------------------------------------------
/xframium-testing-java/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/xframium-testing-java/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 | /target/
3 | /test-output/
4 |
--------------------------------------------------------------------------------
/xframium-testing-java/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | xframium-testing-java
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.m2e.core.maven2Builder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.m2e.core.maven2Nature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/xframium-testing-java/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
3 | org.eclipse.jdt.core.compiler.compliance=1.5
4 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
5 | org.eclipse.jdt.core.compiler.source=1.5
6 |
--------------------------------------------------------------------------------
/xframium-testing-java/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/xframium-testing-java/resources/.gitignore:
--------------------------------------------------------------------------------
1 | /cloudRegistry.xml
2 | /test-output/
3 |
--------------------------------------------------------------------------------
/xframium-testing-java/resources/deviceRegistry.out.xml:
--------------------------------------------------------------------------------
1 |
21 |
--------------------------------------------------------------------------------
/xframium-testing-java/src/org/xframium/examples/java/WebTestDriver.java:
--------------------------------------------------------------------------------
1 | package org.xframium.examples.java;
2 |
3 | import org.xframium.driver.TestDriver;
4 |
5 | public class WebTestDriver extends TestDriver
6 | {
7 | public static void main(String[] args) {
8 | TestDriver.main(args);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/xframium.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xframium/xframium-java/5a71b23756609dfe0a0cbed405308eda42d890dd/xframium.jks
--------------------------------------------------------------------------------