You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Check out our comprehensive and friendly user guide to learn why SHAFT should be your solution of choice if you're aiming for successful test automation.
SHAFT is a unified test automation engine for web, mobile, API, CLI, database, and desktop e2e testing. Powered by best-in-class frameworks, SHAFT provides a wizard-like syntax to drive your automation efficiently, maximize your ROI, and minimize your learning curve with no limitations! Stop reinventing the wheel! Upgrade now!
Supported Platforms:
Web:
Linux
macOS
Windows
Android
iOS
Google Chrome
✅
✅
✅
✅
✅
Microsoft Edge
✅
✅
✅
_
_
Mozilla Firefox
✅
✅
✅
_
_
Apple Safari
_
✅
_
_
✅
Apps:
Android
iOS
Windows
Native
✅
✅
N/A
Hybrid
✅
✅
N/A
Flutter
✅
✅
N/A
WPF
N/A
N/A
✅
Other:
API
Database
CLI
PDF
JSON
YAML
Excel
Property
✅
✅
✅
✅
✅
✅
✅
✅
Built-in features:
SHAFT also provides a lot of out-of-the-box convenience features to facilitate your testing process:
Copy the below code snippet into your newly created java class.
SHAFT.GUI.WebDriverdriver;
SHAFT.TestData.JSONtestData;
BysearchBox = By.name("q");
ByresultStats = By.id("result-stats");
@Testpublicvoidtest() {
driver.browser().navigateToURL("https://www.google.com/");
driver.verifyThat().browser().title().isEqualTo("Google").perform();
driver.element().type(searchBox, testData.getTestData("searchQuery"))
.keyPress(searchBox, Keys.ENTER);
driver.assertThat().element(resultStats).text().doesNotEqual("")
.withCustomReportMessage("Check that result stats is not empty").perform();
}
@BeforeClasspublicvoidbeforeClass() {
driver = newSHAFT.GUI.WebDriver();
testData = newSHAFT.TestData.JSON("simpleJSON.json");
}
@AfterClass(alwaysRun = true)
publicvoidafterClass(){
driver.quit();
}
Step 3: Managing Test Data
Create the following file src/test/resources/testDataFiles/simpleJSON.json.
Copy the below code snippet into your newly created json file.
{
"searchQuery": "SHAFT_Engine"
}
Step 4: Running Tests
Run your TestClass.java as a TestNG Test Class.
The execution report will open automatically in your default web browser after the test run is completed.
Join our to get notified by email when a new release is pushed out.
After upgrading your Engine to a new major release it is sometimes recommended to delete the properties
folder src\main\resources\properties and allow SHAFT to regenerate the defaults by running any test method.
Stop Reinventing the wheel! Start using SHAFT!
Footnotes
Company names are collected via anonymous surveys and provided freely by engineers who claimed to be using SHAFT_Engine within these companies. ↩
If you're using Cucumber due to a known issue with IntelliJ you need to edit your run configuration template before running your tests by following these steps:
- Open 'Edit Run/Debug Configurations' dialog > Edit Configurations... > Edit configuration templates...
- Select Cucumber Java > Program Arguments > and add this argument:
--plugin com.shaft.listeners.CucumberFeatureListener - After saving the changes, remember to delete any old runs you may have triggered by mistake before adding the needed config. ↩