An AngularJS testing framework for the rest of us: porting Protractor to Python
Outline/Structure of the Talk
- What does it give us
- How is WebDriverJs different than the rest of the WebDriver Ports
- Asyncronous communication and Promises
Protractor for Python
- Locators (by binding, by model, by repeaters)
- Wait For Angular
- Everybody waits and the work of Richard Huang
Testing the Test (Framework)
- Using Protractor's internal test website for testing the Python port
Protractor for everyone
- Paul Hammant's port for Java
Attendees will walk away with a high level understanding of AngularJS testing and see what advantages Protractor gives the tester. They will see the work done by myself and others to provide this functionality within other WebDriver ports including Python and Java. They will know how to get started writing tests for their AngularJS sites using Python or Java.
Developers, QA Engineers, Managers
schedule Submitted 5 years ago
People who liked this proposal, also liked:
James Farrier / Xiaoxing Hu - Making Your Results Visible - A Test Result Dashboard and Comparison ToolJames FarrierTest Engineering LeadFiservXiaoxing HuTest EngineerFiserv
schedule 5 years agoSold Out!
If a test fails in the woods and no one is there to see it does anyone care, does anyone even notice. What happens when failing tests become the norm and you can't see the wood from the trees?
After watching last years Allure Report presentation I was inspired. Selenium tests (and automation tests in general) are often poorly understood by the team as a whole. Reports/emails go unread with tests failing becoming an expected outcome rather than a glaring red flag. We looked at what Allure brought to the table and from that base created a dashboard which was designed to:
- Display the results of test runs in a way that was useful to managers, testers and the rest of the development team. Including tools to filter out specific test runs and view the overall trend of the test run results.
- Make debugging tests easier by grouping errors, displaying history of test results, filtering tests and offering visual comparison of test runs.
- Help mitigate the problems flaky tests cause with test run result reporting (say that three times fast).
- Help with our mobile device certification process, by easily providing a view to compare test runs across devices.
Since it's creation the dashboard has been used and praised by managers through to developers. With our full suite of tests from unit to integration to selenium and appium being stored on the dashboard. We've managed to:
- Decrease the time taken to debug test cases.
- Increase the visibility of all our test suites, with managers having a better idea of how our selenium test suite is progressing and testers better understanding the coverage of unit tests.
- Focus the organization on quality.
We are working with legal at present to have this project open sourced and available to all prior to Selenium Conf 2015.
Ragavan Ambighananthan - Distributed Automation Using Selenium Grid / AWS / AutoscalingRagavan AmbighananthanSr. Test Automation EngineerExpedia Group
schedule 6 years agoSold Out!
Speed of UI automation has always been an issue when it comes to Continuous Integration / Continuous Delivery. If UI automation suite takes 3 hours to complete, then any commit happens during this time will not be visible in test environment, because the next deployment will happen only after 3 hours.
With 2000+ developers and average 250+ checkins per day, the above issues is replicated 250+ times every day. This is not productive and feedback cycle is super slow!
Another issue is , with 35+ different project teams using 10 or more different jenkins jobs to run their UI automation. So many jobs means (350+), individual teams need to go through the pain of managing their own jenkins job, its a duplicate effort and waste of time. Automation teams need to spend time on writing reliable automation and not managing jenkins jobs.
Solution is to reduce the UI automation run time from hours to minutes and also use only handful of jobs to run the Distributed Automation!
Goal: To run all UI automation scenarios within the time take by the longest test case
David Giffin - A Large-scale, Data-driven Company's Journey of Going From Manual to Automated Testing In 6 MonthsDavid GiffinTechnologistTrueCar
schedule 5 years agoSold Out!
Manual Testing. Depending on how you've been influenced by those two simple words, reactions vary from slight disgust to full-on depression. Of course, the solution is clear: automate, but how do you get there when your company is continually pushing out the next big feature? As the set of features to cover increases, the lack of scalability of manual testing becomes more apparent.
This is a problem that we struggled with at our company. Automation tactics were explored and implemented, but problems persisted as proposed solutions did not cater to the demands of the manual testers.
After years of failure and disappointment, our latest stint resulted in success. Not only do we have hundreds of automated tests across various platforms (mobile and web) and products, but manual testing has been eliminated with zero casualties. As we move forward towards Continuous Delivery and improved automation performance, we wanted to take this moment to look back and share stories of failure and success.
Dipesh Bhatewara - UI Automation As A Web ServiceDipesh BhatewaraStaff EngineerVMware Software
schedule 5 years agoSold Out!
In modern cloud aeon, customers are delivered with UI and API for most of the Enterprise Products. The QE teams have to test the product for UI and APIs from functional as well as non functional perspective. For these they typically end up writing different test suites.
There are lot of challenges one faces when automating test suites for these different purposes, like
- How do you integrate UI automation seamlessly with different test frameworks/suites?
- How do you test all these requirements (UI, API, Performance etc.) effectively without a lot of redundant or duplicate code?
- How do you use the best fit language/technology for UI automation and still do not impact the grand test automation strategies?
There is an interesting solution to conquer these challenges which I have recently implemented in one of my projects.
The idea is to segregate tests from the UI Automation OR webdriver code. This code can be exposed as a web service APIs. Such service allows us to write common tests for UI as well as API. Tests written for API testing can be reused for UI testing with very minimal configuration modification like pointing to appropriate web service. These UI Automation APIs can also be called easily from any performance test requiring UI interaction.
This approach will enable any test suite using any language or technology in your organization to reuse UI automation seamlessly. This will also make lot of things straight and simple for execution and management across the verticals.
We will deep dive into the technical solution for this in this talk.