How to build a device lab in your office in 48 hours!

Continuous testing is an integral part of continuous delivery pipeline. When it comes to mobile application, the testing become increasingly complex.

As part of our internal quarter hackathon at Carousell, we developed an automation testing framework and device lab in 48 hours which has both parallel and distributed mode of running.

We will share about how you can set up a similar device lab in your organization and the best practices to be followed.

 
 

Outline/Structure of the Talk

  • Cloud device lab v/s Local device lab
  • Appium for native, hybrid and mobile web applications
  • Parallel and distributed test strategy[ iOS and Android]
  • Connecting device lab with CI server
  • Test device management
  • Customising the html reports

Learning Outcome

  • How to write parallel/distributed appium tests
  • Best practices to set up the local device lab

Target Audience

automation testers, developers, managers

schedule Submitted 1 year ago

Public Feedback

comment Suggest improvements to the Speaker
  • Abhijeet Vaikar
    By Abhijeet Vaikar  ~  1 year ago
    reply Reply

    Looks promising!

  • Syam Sasi
    By Syam Sasi  ~  1 year ago
    reply Reply

    We will share the code.

    Basic understanding of automation testing is the prerequisite for audience.

  • Anand Bagmar
    By Anand Bagmar  ~  1 year ago
    reply Reply

    Will you be sharing code? What would be the pre-requisite for attendees to attend this session? 


  • Liked Srinivasan Sekar
    keyboard_arrow_down

    Srinivasan Sekar / Sai Krishna - Advanced Appium

    Srinivasan Sekar
    Srinivasan Sekar
    Lead Consultant
    Thoughtworks
    Sai Krishna
    Sai Krishna
    Lead Consultant
    Thoughtworks
    schedule 1 year ago
    Sold Out!
    480 Mins
    Workshop
    Intermediate

    At this workshop, you'll learn about advanced concepts in Appium. We will learn how to write a single script for Android, iOS and mobile web apps. Once our tests are established, we will work on framework design and report. We will also have a detailed look at how can we automate various mobile gestures using TouchActions and mobile endpoints in Appium and running distributed tests in parallel on various emulators and simulators.

  • Liked Simon Stewart
    keyboard_arrow_down

    Simon Stewart - Fix a Bug, Become a Committer

    Simon Stewart
    Simon Stewart
    WebDriver Creator
    Facebook
    schedule 1 year ago
    Sold Out!
    480 Mins
    Workshop
    Beginner

    Have you ever wondered how Selenium works under the covers? Do you get frustrated with locators not locating, pages not loading, or browsers behaving inconsistently from one run to the next? Selenium is an attempt to unify thousands of disparate elements across a wide spectrum of challenges into a single, common interface that works seamlessly with all the major browsers - and yet only a handful of volunteers work to maintain this gigantic effort. If you would like to enhance your own Selenium experience while contributing back to the software that has defined so many of our careers, come to this workshop. In it we'll dissect the different elements of Selenium, dive into its internals, learn how it was built and how to make changes to it, and even write a unit test you can contribute on the same day!

  • Liked Rajdeep
    keyboard_arrow_down

    Rajdeep - Android Application Backdoor via Appium

    Rajdeep
    Rajdeep
    Sr. Test Automation Engineer
    Badoo
    schedule 1 year ago
    Sold Out!
    45 Mins
    Demonstration
    Advanced

    Application Backdoor via Appium

    There's a shift towards open-source mobile test automation tools happening today among developers and QAs. Whether it be Appium, Calabash or anything else: all are good, with some major limitations.

    While a chosen tool may work well when you first start using it, things can quickly get out of hand with changing business requirements. We started using Calabash at Badoo when there was no Appium. Given the capability of Appium to drive the whole device, we started automation of new apps with Appium. However, we realized a powerful feature was missing in Appium for Android! : The ability to call Application code from automation code like Calabash Backdoors.

    As Appium UiAutomator server is based on instrumentation, we modified it such that we could instrument our app under test. This gave us the power to access context of Application under test and invoke public methods of Activity using reflection APIs. We use these methods to setup app state, seed DB OR even enable/disable some client-side A/B tests. This makes our application more testable and our tests more predictable.

    This talk is going to be about how I achieved the above solution and benefits of backdoors.

    There will be a small demo and code!

  • Liked Diego Molina
    keyboard_arrow_down

    Diego Molina - The Holy Trinity of UI Testing

    Diego Molina
    Diego Molina
    Sr. Software Engineer
    Sauce Labs
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Sometimes it is hard to know what to test in a web application, and the first step before testing is defining what we want to test. This may sound trivial, but in reality this is often not done properly. We tend to oversee the obvious and we test without knowing what we want to accomplish.

    What do we want to achieve? Validate user behaviour? Check if the page design is responsive on different devices? Or maybe to know that our web application looks like we expect.

    When we know the purpose of our test, we can start planning, coding, executing and improving our tests. But most importantly, we will know what approach we can use to develop the test.

    Functional, layout and visual testing are the three pillars of the UI testing trinity. We can use these approaches to develop focused tests, tests that are asserting a specific aspect of our web application.

    But how can we identify what approach to use? When should we combine them? There is an information overflow that presents a huge variety of tools that can help us to test through any of these approaches. Sadly, this large amount of information is making us focus more on the tools instead of focusing on the testing strategy.

    The intention of this talk is to break in pieces the process of identifying how to develop a focused test, and more importantly, to understand when it makes sense to combine functional testing with layout or visual testing, and what to consider before using layout or visual testing.

    The talk will then go deeper through scenarios and code examples that show how to create layout and visual tests. It will also discuss scenarios where a functional test is not enough, or where a visual test is better than a layout test. This talk’s main goal is to offer a different perspective when testing a web application through the UI testing trinity.

    If you are interested in how to integrate layout or visual testing to your current workflow, you should attend this talk!

    Note: Thanks to the feedback I got after presenting this topic at SauceCon 2018, I have been able to make nice improvements to the content that will be helpful for the attendants.

  • Liked Bhupesh Pant
    keyboard_arrow_down

    Bhupesh Pant - Client side health and up-time monitoring tool with Selenium Webdriver(Synthetic Monitoring)

    45 Mins
    Demonstration
    Intermediate

    Application monitoring is the essential part for a heathy application. In the present scenario most of the applications are inclining towards cloud infrastructure. A reliable application has a deep desire to achieve 100% up-time. Tools like NewRelic , AppNeta , AppDynamics are great for server side monitoring.

    But most of the time we ignore client side application heath check. This session is dedicated to the requirement and fixing of Client side application monitoring. There are very less tools available in market for Client side monitoring which can run 24X7 in the production web application and report an issue without any manual interference’.

    To achieve client side monitoring I developed a Monitoring tool using Java Spring, AngularJS, MongoDB as a dashboard tool which is in continuous work from more than 1 year.

    This tool shows real-time status of the different panels of the application. Any time if a panel goes down due to any back-end or front-end failure an email triggers with the application screenshot and a proper error message. This dashboard is monitoring application 24X7 and capable enough to calculate up-time of individual web panel and complete application.

    Here Selenium Webdriver crawls the production application and gather browser network tab information and submit it to the dashboard.

  • Liked Anton Angelov
    keyboard_arrow_down

    Anton Angelov - Infinite Improbability Testing- Execute All Tests in Parallel

    Anton Angelov
    Anton Angelov
    CTO
    Automate The Planet
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    100000 tests executed under half an hour - sounds like a myth? Well, we made it, and I'm going to tell you a story how we got there. Through surveys, we discovered that many companies desire to utilize the benefits from parallel tests execution to optimize their software development process. However, they struggle with the process. Lack of available tooling, documentation, tests data arrangement/deletion, handling E2E tests specifics like browsers, emulators, etc. We were one of this companies. Because of that, we created an open-source tool for the job. Throughout the presentation, you will find statistics where, depending on the type of the tests, the tests execution can speed up from 4- 40 times which makes the run of the 100000 tests possible for 27 minutes.

    It will be shown how to utilize the tool, its various features and where/when it is appropriate to use it. Also, you will find example solutions to most of the common challenges in executing tests in parallel. We believe that in the near future the parallel tests execution will be a necessity, much like unit tests or continuous integration now. This will be one of the pillars for the companies to improve their competitiveness and effectiveness.

  • Liked Manoj Chiruvella
    keyboard_arrow_down

    Manoj Chiruvella - Smart Test Failure Analysis with ELK (Elastic Search, Log Stash & Kibana)

    Manoj Chiruvella
    Manoj Chiruvella
    Principal QA Analyst
    Oracle
    schedule 1 year ago
    Sold Out!
    20 Mins
    Talk
    Advanced

    In contemporary test automation world, we are running 1000's tests every day. Even though most of our test cases are reliable and stable, debugging failures will consume lot of time, if not handled appropriately. This is an effort to reduce the analysis of failures and come up with probable root cause for each and every failure.

    In this talk, we will explore all the approaches we have taken to drastically reduce the time to debug the failures & let you concentrate more on adding new tests. We will also talk about the approaches which could not yield results for us initially & why. We will look into building a failures' dashboard, driven by pattern based classification of logs(both server & automation tool) with reporting.

  • Liked Gil Tayar
    keyboard_arrow_down

    Gil Tayar - Not Only Cars: “AI, Please Test My App”

    Gil Tayar
    Gil Tayar
    Sr. Architect
    Applitools
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Beginner

    Autonomous cars were a Scifi dream not 10 years ago. A computer driving a car? No way. But it did happen, and is happening. And if scientists do it for a complicated task such as driving, can they do it for automated regression testing? In this talk we explore what is being done in the field today, but also speculate about the future: we introduce the 6 levels of autonomous testing (that correspond to the 5 levels of autonomous driving), and try and figure out what kind of help current AI techniques can bring to automated testing.

  • Liked Marcus Merrell
    keyboard_arrow_down

    Marcus Merrell / Diego Molina / ManojKumar - Selenium Grid

    Marcus Merrell
    Marcus Merrell
    Engineering Manager, CRM
    RetailMeNot, inc
    Diego Molina
    Diego Molina
    Sr. Software Engineer
    Sauce Labs
    ManojKumar
    ManojKumar
    Sr. Technical Consultant
    Applitools
    schedule 1 year ago
    Sold Out!
    480 Mins
    Workshop
    Advanced

    Selenium Grid can be a bit daunting to get up and running. Starting it is quite easy, but using it effectively can require pulling in third-party tools. In this workshop we’ll cover how to run your grid effectively, using best practices culled from several large grid installations.

  • Andrew Krug
    Andrew Krug
    Consultant
    Lazy Coder
    schedule 1 year ago
    Sold Out!
    480 Mins
    Workshop
    Beginner

    Want to get into WebDriver, but don’t know where to start? Already using WebDriver and want to get more out of your framework? This practical, hands-on, course is designed to help automation engineers with all levels of experience. All attendees will leave with working WebDriver code on their machines and a long list of techniques on how they can successfully use the WebDriver API in their own companies.

  • Liked Anand Bagmar
    keyboard_arrow_down

    Anand Bagmar - Measuring Consumer Quality - The Missing Feedback Loop

    45 Mins
    Case Study
    Intermediate

    How to build a good quality product is not a new topic. Proper usage of methodologies, processes, practices, collaboration techniques can yield amazing results for the team, the organisation, and for the end-users of your product.

    While there is a lot of emphasis on the processes and practices side, one aspect that is still spoken about "loosely" - is the feedback loop from your end-users to making better decisions.

    SO, What is this feedback loop? Is it a myth? How do you measure it? Is there a "magic" formula to understand this data received? How to you add value to your product using this data?

    In this interactive session, we will use a case study of a B2C entertainment-domain product (having millions of consumers) as an example to understand and also answer the following questions:

    • The importance of knowing your Consumers
    • How do you know your product is working well?
    • How do you know your Consumers are engaged with your product?
    • Can you draw inferences and patterns from the data to reach of point of being able to make predictions on Consumer behaviour, before making any code change?
  • Liked NaliniKanth M
    keyboard_arrow_down

    NaliniKanth M / Srinivasan Sekar - New hope in Selenium Docker

    45 Mins
    Demonstration
    Advanced

    Idea behind this talk is to describe how to create a short lived containers for each test and scale to large Selenium Cluster using Selenoid. What is standard Selenium architecture and why it is not suitable for big clusters, Also states issues in maintaining a large Docker Selenium Grid / Selenium Clusters. In this session we will also be talking about the challenges we faced in using official selenium docker images and how we scaled up regression execution time from 3:3 (3 hours to 3 mins). Followed by a demo of how Selenoid server solves the problem with docker. How it works, how to use inside big Selenium cluster, where else it could be used.

  • Liked Kushan Amarasiri
    keyboard_arrow_down

    Kushan Amarasiri - Creating an awesome end to end test automation framework with WebDriver.io for modern AngularJS applications

    45 Mins
    Demonstration
    Intermediate

    During this session I will demonstrate how we can create an end to end test automation framework to test modern AngularJS applications. The framework will be using WebDriver.io as the automation tool. It also promotes re-usability via Page Object Model. It will be a configurable and data driven framework which will use Excel and JSON files. The framework will be based on Behavior Driven Development and also will generate in depth and informative test execution reports which will be idea for test team and management to know the health of the application being tested. As an extra option this test automation framework will be plugged in with web services and micro services testing capability which will make it one of a kind test automation framework that will be of primary need in the test automation industry.

  • Liked Pallavi  Sharma
    keyboard_arrow_down

    Pallavi Sharma - Selenium with Behave using Python - Workshop

    Pallavi  Sharma
    Pallavi Sharma
    Founder
    5 Elements Learning
    schedule 1 year ago
    Sold Out!
    90 Mins
    Tutorial
    Intermediate

    In this workshop, we will learn in hands on how can we use Selenium open source test automation tool with Behave, the BDD for Python.

  • Liked Shivaling Sannalli
    keyboard_arrow_down

    Shivaling Sannalli - Unify service and UI layer Automation - BDD way

    90 Mins
    Workshop
    Intermediate

    Software delivery is switching towards business driven development. This needs capturing requirements as presented by clients and translating these requirements into development tasks and tests.

    Clients want visibility on the quality of the requirements that are captured. Quality in the delivery of the project measured using the test pyramid — heavy unit tests, more integration and service layer tests, and fewer UI tests. Test pyramid is the ideal quality structure for Agile projects.

    In this presentation/session we will focus on how we can combine both service layer tests and UI layer tests in a BDD(Behavior Driven Development) way of Automation. That will bring test coverage visibility to business. Clients themselves can run this suite without having to understand technicalities of the implementation. Test scenarios will exactly be the requirements captured by business as behaviors.

    To accomplish BDD way of automation for both service layer automation and UI layer we will use following tools/libraries:

    BDD Tool: Gauge or Cucumber (both are open source)

    Service layer Automation : Unirest for JAVA

    UI layer Automation : Selenium WebDriver for JAVA

  • Liked Shweta Sharma
    keyboard_arrow_down

    Shweta Sharma / Mohit Aghera - Automated testing using Behat and Selenium

    480 Mins
    Workshop
    Beginner

    Do you want to deliver a well-tested website, covering all the test scenarios in every iteration? Excellent, then what is the problem? Oh, too much of manual effort in executing the regression test cases. Well, then automate it. Now, what? Automation, huh, it needs a lot of coding, too much of investment. OK, enough reasons given, the list can go on.

    Get started right on with automating your test scenarios with minimal code is what all Behat is about. Behat proved to be extremely useful to me in order to enter the world of automation. After understanding the architecture and its correct usage, my team and me could automate around 70% of the test cases by writing no/minimal PHP code. The lovely features provided by Selenium Webdriver can be easily integrated into Behat with the help of Selenium2Driver which comes out of the box. It is an automation testing framework, coupled with rich libraries in the form of extensions to enable users automate their acceptance tests, API tests and even create a Page Object model when needed. You can execute tests on various browsers or even headless browsers like phantomJS and headless Chrome for faster execution.

    Since Behat is built on the lines of Cucumber and promotes BDD, it has proved to be an extremely useful tool to ensure that were are first building the right system followed by the system is being built right. With the help of human readable scenarios written in the feature files, the automation system can be understood by all the three parties - Business people, developers and testers. Gherkin language enables the tester to build more and more strong and a rich Automation test suite than trying to get the code right. composer.json and behat.yml files enable the user to configure stuff in no time.

  • Liked Siddharth Kulkarni
    keyboard_arrow_down

    Siddharth Kulkarni - Dr Culture Shock - Or How I stopped worrying and embraced Org Culture

    45 Mins
    Talk
    Intermediate

    The org culture mantra is usually considered a silicon valley mumbo jumbo. Although many companies and teams rant about culture, very few in my opinion take it seriously. In this talk I would like to discuss the importance of Org culture and how it makes or breaks businesses and teams. I will lay out some key pointers that will help the influencers in the audience make decisions about their org or team culture. The talk will be in the context of culture in tech companies.

  • Liked Michael Palotas
    keyboard_arrow_down

    Michael Palotas - Enterprise Automation with Selenium - and how it (mostly) has little to do with Selenium itself

    45 Mins
    Talk
    Intermediate

    An increasing number of enterprises are moving to Selenium for their GUI automation. The focus for most teams is the creation and authoring of automated tests. When automation projects become difficult to maintain or fail all together, people often point the finger to “Selenium”. From experience, Selenium is usually not the problem in getting an enterprise grade test automation solution off the ground.

    When looking deeper, the absence of basic software development approaches / best practices and the lack of a solid approach to building / buying and managing the cross browser test execution infrastructure are the main reasons for failure.

    This talk showcases:

    • Practical examples of how test automation with Selenium is a software development and infrastructure project, which needs to be treated and staffed as such.
    • The major pitfalls, which can prevent teams from building a scalable and reliable automation solution with the Selenium tool family.
    • How to apply patterns and approaches in making test automation with Selenium a full success.
  • Liked Gustavo Labbate Godoy
    keyboard_arrow_down

    Gustavo Labbate Godoy - Using a lightweight framework to ramp-up test automation with Selenium

    90 Mins
    Workshop
    Beginner

    This workshop will provide concepts and best practices about designing and developing test automation projects, using my test framework, called Planotius. This framework uses Selenium, Junit and Java as its core and make the code creation easier even for testers without coding skills.

    Furthermore, the abstraction of selenium configurations, setups and features will provide a faster deployment of your test project, allowing the agile team to accomplish their sprints successfully and with quality.

  • Liked Dharmender Kumar
    keyboard_arrow_down

    Dharmender Kumar - Develop Securely with Zaplenium

    Dharmender Kumar
    Dharmender Kumar
    Architect
    JDA
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Zaplenium simply means ZAP + Selenium and named after the integration of both to ensure application security while it's being developed. ZAP provide client API's that help to capture URL's by spidering and scanning over the pages those are interacted in user flows. With ZAPlenium the tests can be targeted to certain areas of application where selenium helps in navigating to those areas and target ZAP to spider over those and scan them. Also, Zaplenium will help defining the assertions those can come handy while we integrate this in CI/CD pipelines.

    Participants will be able to define security sanity suite to their build pipelines. With code change the security can be tapped for any High, Medium and Low risks. Session will make use of open source technologies i.e. OWASP ZAP and Selenium to define tests with assertion.

    Security Tool: OWASP ZAP

    Functional Tool: Selenium Web driver