just one sample migrating ATDD Test from Coded UI to Robotframework.
Before Test Structure:
Comparison Unit Test & ATDD Test Structure:
Reason for Migration from CodedUI to Robotframework:
- CodedUI is now deprecated.
- Test Tools and Ways of testing didn’t fullfill the requirement for doing ATDD test (E2E test) scopes.
- Long test run .
- Needs of proper test logging
- Test run should be independance from SW build.
- Only IE as browser is supported.
Proposed Robotframework ATDD Structure:
Project / Test & Development enviroment Limitation:
- Test Object: Sharepoint 2019 customisation
- OS used for test object and testing: Microsoft Windows 10 OS
- Build and test requrement tools: Microsoft TFS
- Diffrent targets and build environment for: Development, Integration and Preproduction.
Needed Infrastukture and Software for Testing with Robotframework:
- Python 3.x
- Robotframework
- Robotframework SeleniumLibrary
- Robotframework Whitelibrary
- Test editor Notepad ++ with Robotframework plugin
- Test should be able to run as Selenium Hub trigger from MS TFS which consuming Robotframework xUnit reports as test run results.
Benefit of using Robotframework:
- Test run faster than CodedUI
- Test cases are written as Keyword Driven test, instead of Unit Test, these speed up the test cases creation and migration also simplify reusable of test cases.
- No need using Visual Studio for creating test sases, you can use simple text editor r write tests.
- Test results are more understandable for non-technical team members ( Test Manager, Project Manager, Environment Team, Solution Team)
- Using RF Tag functionally and RF Report (Rebot) custom report can be created without any additional effort,
- Report implementations of build on TFS over Xunit report flag on Robot runner.
- Tests can run independently outside build tool.
Starting the MIgration Steps:
- Separating & creating all needed sharepoint UI keywords in UI Keyword resources.
- Separating & creating all needed sharepoint 2019 application workflow as Keyword resources.
- Creating template of sharepoint masterpage sites mapping as keyword resources.
- Defining needed static and dynamic variables regarding to TCs and target test enviroment as variable resources
- Creating RF runner files as batchfile for each target deployment enviroment (development, integration, or regresion)
- Creating test suites regarding requirement (sanity test, fuctional test or regresion test)
- Creating folder structure to map sharepoint functional requirement implementation
- Creating folder structure for test reports, test suites and test runner.
- Tagging related test suites regarding requirement coverage
Reports & Logs: