Appium - Reality check on the world’s leading Open Source Framework for Mobil...Asaf Saar
Appium is clearly the world leading framework for mobile apps test automation. Adoption of Appium is in constant rise, and for the good reasons.
Yet, in many cases those who do their initial steps or even progressing with the framework realize that the world is not that simple, challenges arise, limitations are discovered and one can find himself wondering whether the right decision was taken in investing the time and money into it (yes... open source cost you money).
In this talk we will pause for a while, review why Appium is an outstanding framework, while also do a reality check of the cons and pros of Appium, helping you make the best out of it, or at least have a clear understanding of what's ahead of you.
Introduction to Ionic (SB AngularJS Meetup)Sol Tran
Learn how to build your own native iOS & android apps with no knowledge of objective C, Swift, or Java.
We introduce you to the Ionic framework which harnesses the power of Angular and Cordova to build native apps.
Hosted by @SBAngular and @soltran.
Titanium: Native Mobile Apps with Javascript Leonardo Farias
In this talk, Leonardo Farias will give an introduction to Appcelerator’s Titanium. Titanium allows you to create native, hybrid, or mobile web apps across all platforms from a single JavaScript code base. The content of this talk will focus on what is Titanium, and how to start using it.
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Asaf Saar
Appium is clearly the world leading framework for mobile apps test automation. Adoption of Appium is in constant rise, and for the good reasons.
Yet, in many cases those who do their initial steps or even progressing with the framework realize that the world is not that simple, challenges arise, limitations are discovered and one can find himself wondering whether the right decision was taken in investing the time and money into it (yes... open source cost you money).
In this talk we will pause for a while, review why Appium is an outstanding framework, while also do a reality check of the cons and pros of Appium, helping you make the best out of it, or at least have a clear understanding of what's ahead of you.
Introduction to Ionic (SB AngularJS Meetup)Sol Tran
Learn how to build your own native iOS & android apps with no knowledge of objective C, Swift, or Java.
We introduce you to the Ionic framework which harnesses the power of Angular and Cordova to build native apps.
Hosted by @SBAngular and @soltran.
Titanium: Native Mobile Apps with Javascript Leonardo Farias
In this talk, Leonardo Farias will give an introduction to Appcelerator’s Titanium. Titanium allows you to create native, hybrid, or mobile web apps across all platforms from a single JavaScript code base. The content of this talk will focus on what is Titanium, and how to start using it.
Presentation to Xamarin User Group in San Francisco, 19-Sep-2013... all the latest in Xamarin technology including iOS, Android, Xamarin Studio, Portable Class Libraries, Async/Await and TestCloud.
Continuous integration is old hat in the web world, but it’s still rare for native mobile apps. For true continuous integration, we ship every commit directly to production – but this is clearly not realistic in the world of native apps, where binaries must be published in the App Store (with Apple’s week-long review process) and Google Play, then downloaded by members.
On the engineering side, we needed an aggressive goal to ensure we didn’t fall back into the pattern of manual verification of each release. We also wanted our product partners to be free to ship as often as they want (without annoying members of course!). We settled on a rule that we call “3x3”.
Improving Android app testing with Appium and Sauce LabsIsaac Murchie
Test Android application in a better way, using Appium and Sauce Labs. Don't be locked into Android's way of doing things.
Talk given at Apps World North America 2015 (https://www.apps-world.net/northamerica/).
WSO2Con EU 2016: How to Contribute to WSO2 : Community ProcessWSO2
At WSO2, we provide 100% free open source software that can be used and improved by anyone. We believe open source is the future of the industry, where permissive open source licenses provide the greatest alignment between the interests of creators and users of software.
WSO2 welcomes anyone who is interested in our products to contribute by getting involved in the WSO2 community and helping with the development of WSO2 projects.
There are many ways that you can participate in the WSO2 community. These include becoming active users where you can help others to use the product, reporting bugs, become extension developers by helping to extend the products using extension points such as connectors or adaptors and becoming product developers. This session will help you understand how you can participate, contribute and benefit from the WSO2 community.
Learn how your company can add automated testing for accessibility on all platforms. This presentation covers what Intuit has learned while working towards this goal
Presentation to Xamarin User Group in San Francisco, 19-Sep-2013... all the latest in Xamarin technology including iOS, Android, Xamarin Studio, Portable Class Libraries, Async/Await and TestCloud.
Continuous integration is old hat in the web world, but it’s still rare for native mobile apps. For true continuous integration, we ship every commit directly to production – but this is clearly not realistic in the world of native apps, where binaries must be published in the App Store (with Apple’s week-long review process) and Google Play, then downloaded by members.
On the engineering side, we needed an aggressive goal to ensure we didn’t fall back into the pattern of manual verification of each release. We also wanted our product partners to be free to ship as often as they want (without annoying members of course!). We settled on a rule that we call “3x3”.
Improving Android app testing with Appium and Sauce LabsIsaac Murchie
Test Android application in a better way, using Appium and Sauce Labs. Don't be locked into Android's way of doing things.
Talk given at Apps World North America 2015 (https://www.apps-world.net/northamerica/).
WSO2Con EU 2016: How to Contribute to WSO2 : Community ProcessWSO2
At WSO2, we provide 100% free open source software that can be used and improved by anyone. We believe open source is the future of the industry, where permissive open source licenses provide the greatest alignment between the interests of creators and users of software.
WSO2 welcomes anyone who is interested in our products to contribute by getting involved in the WSO2 community and helping with the development of WSO2 projects.
There are many ways that you can participate in the WSO2 community. These include becoming active users where you can help others to use the product, reporting bugs, become extension developers by helping to extend the products using extension points such as connectors or adaptors and becoming product developers. This session will help you understand how you can participate, contribute and benefit from the WSO2 community.
Learn how your company can add automated testing for accessibility on all platforms. This presentation covers what Intuit has learned while working towards this goal
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015Peter Sabev
If you count the alternatives, there are 50 tools for software testing focused on open source projects - test planning and management, test execution, test reporting, front-end and backend testing, automated mobile testing, security scanners, issue tracking and others
TAGS in short is a generic framework which has been specifically designed to cater to needs of any TFT client who seeks a low cost end-to-end automation solution using open source tools.
Introducing ASP.NET vNext - A tour of the new ASP.NET platformJeffrey T. Fritz
Jeff Fritz shares how to get started with the new ASP.NET framework. He covers the goals and intents of Microsoft, and shows how you can get involved with this exciting open-source project. By the end of the presentation, you'll understand and be comfortable with the changes coming in the next version of ASP.NET
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
4. Selenium
• What selenium is about
– Browser automation tool
– Clean API, draft for the W3C
• Why Selenium for mobile testing ?
– API works for mobile
– API stability makes development easy
– Reusability
François Reynaud- EBAY INTERNATIONAL 4
5. Goal
Cut down regression time for the eBay IOS products.
•4 Native apps
•Hybrid apps and mobile web
•reuse existing tools if possible
•open source ( = no eBay specific features )
François Reynaud- EBAY INTERNATIONAL 5
6. The project
Status : version 0.6
Visible on github
•https://github.com/ios-driver/ios-driver
Documentation
•http://ios-driver.github.com/ios-driver/
Getting help
•IRC : #ios-driver on freenode
•Google group : ios-driver
François Reynaud- EBAY INTERNATIONAL 6
7. The team
François Reynaud- EBAY INTERNATIONAL 7
Luke Inman Semerau
IPhone driver
Graham Abell
NativeDriver fork
François Reynaud
Grid2, TWIN
8. Technical choices - Selenium
– No modification of the application
– Language / test framework shouldn’t matter
– A stable API / recognized is the key
François Reynaud- EBAY INTERNATIONAL 8
21. Real device
Not very different :
– Instruments works on real device
– WKRDP works on real device
Limitation :
– Cannot change global settings
– Need to handle app signing
François Reynaud- EBAY INTERNATIONAL 21
22. Scaling using Selenium Grid
François Reynaud- EBAY INTERNATIONAL 22
Client
serverHubClient
CI
server
server
Me:Joined eBay 8 years ago.1) part of the EUQE =European Quality engineering team. Small team :About 15 people testing everything that impacts the 12 european sites.Large scope :12 web sites, windows desktop application ( Turbo Lister ) and Mobile-> no in house tools. Use open source if possible, and create and open source all tools created.2) Selenium committer, project lead for Selenium Grid.3) History :Web test : done with seleniumWindows desktop test : done with TWIN ( open sourced : https://code.google.com/p/twin/ ) Scalability / architecture : done with selenium grid ( part of the selenium project )4) Current focusMobile : current focus. I’m focusing on IOS. DominikDary focuses on Android.Goal is to integrate with what we already have
Selenium is at the core of all our automation.What is selenium :a browser automation tool ( not a test framework )Clean design that allowTo use any language / any test framework to write the testsRun the tests in parallel against all major browsersX-browser , super stable API : tests written today for firefox will run tomorrow on the next chrome versionBecoming a W3C standard – no going away any time soon. Why selenium for Mobile :selenium’s strength is its API that describes user interactions.Those users interactions can be applied directly to mobile. A subset of it, some interaction do not exist in the mobile world : mouse move, mouse overMore commands can be added using the vendor extension section of the selenium protocolHaving this stable API allows to write tests while working on the driver. When bugs are fixed, and features added, there is no need to refactor the tests already written. Reusability :By following the same design for mobile, we can significantly reduce the effort it takes to write tests. The same design and abstraction can be applied to mobile, and all the mocks and helper classes can be reused. For eBay, starting mobile automation in a selenium envt means 50% of the work is already done ( create users, items, DB access )
Business goal :1) eBay releases 4 native apps for IOSThose apps have to be tested by the EU team already testing Web and windows desktop.The goal of our automation is NOT to automate everything, but rather to :Get rid of the repetitive tasks Free resources to have more time for exploratory testingA typical task we don’t do with any of our automation is layout validation. We only validate functionalities.2) Mobile web is also a big focus. Long term plan :eBay isn’t a framework company. We can’t afford dedicating resources on framework maintenance.So we reuse what we can, and open source to have the testing community help with the maintenance.This has worked perfectly so far.
Version 0.6Main functionality are working and tests can be writtenbut there is still a lot of polishing to doVisible on github. Contributors welcome. The project is in C, Java and Javascript.Best way to get interactive help : IRC
Open source project. Does belong to a single company. Several experienced people already :2 selenium committersCurrent maintainer of the NativeDriver community fork
I’ve been a user and contributor for Selenium, and I believe the selenium approach to testing is the correct one :1) The application under tests shouldn’t have to be modified to be tested2) A browser automation / mobile automation framework shouldn’t force a user to choose a testing framework , or testing methodology.It’s not the role of the mobile framework to decide vsTestNG or Junit in the java world.It’s “ to decide is BDD should be used or not.The key is integration. Most likely users will already have something in place when they start mobile automation.3) Rewriting all the tests each time the implementation of the framework changes isn’t an option.
First part I worked on was Native app.We are in an IOS world, so looking at Apple tools is a good start.For Native apps, Apple provides the Instruments tools - great tools - does all the heavy lifting : takes the application, and allow to inspect it and generate user interaction - integrated in the apple tool suite - language is JS : coming from a Web world,it makes it easy.Some drawback - integration with non apple suite ( anything not part of the Apple UI really ) isn’t easy - browsing the native object tree isn’t pleasant. A nicer API is needed.
Thankfully, instruments comes with 2 handy features :Instruments can be started without the UIInstruments scripts can communicates with other processes using performTask.That allows to build a framework that leverages all the good features of Instruments :No modification of the appApple support, so new SDK recognized when launchedAnd can improve the not so good parts of it, making it as easy to use as Selenium
Green boxes are what a tester will see. That code isn’t part of ios-driver, it’s taken as is from the Selenium project.The part ios-driver is about id the server side, the part wrapping instruments, and controlling the device / simulator ( setup, teardown of apps )Allow remote executionMap the instruments command to the selenium ones.
Writing a ios mobile test becomes easy :No particular setup needed, just a mac with Xcode in the path and ios-server runningAny test Framework can be used.It uses plain selenium client. Example is in Java, but all client bindings will work.
Main challenge for multi language apps is content.There is no ID like for web testing, and all selectors are heavily relying on content.The screenshot is an example of the International mountain app, the l10n example from apple.The app functionality is the same for all locale, but you need the content to target the elements.
Fortunately the content is available in the app.Each piece of content is generated from a key ( assuming the app content isn’t hardcoded ).Ios-driver uses that and allow tests to pass the content key as a selector, translating it on the fly based on the locale.
-That is what the selector becomes.- It’s not as easy as using an ID for a regular webpage, but it’s close enoughIt only help validating the functionality of the app, it assumes the translation in the app files are correct.To validate the translation itself, a different mechanism should be used.
The 2nd challenge is the lack of inspector.When working on a webpage, I always need firebug on the chrome console opened to see what happens. We need something similar for ios.+ demo here if time.https://dl.dropbox.com/u/24687868/presentations/inspector_record.mov
When all that is done, the native part of the ios apps can be automated.This is only half if what needs to be done to have a fully working IOS solution.Hybrid apps ( native apps with some html content cannot be properly automated using native API )Mobile web : same issue ( mobile safari is an hybrid app where 99% of the work happens in the webviews )
Since IOS 6.0, there is a solution to that problem : we can use the WKRDP ( webkit remote debug protocol )If your device ( simulator, or USB connected real device ) has a webview, the webview can be access ( read + write ) using the debug protocol.Demo : https://dl.dropbox.com/u/24687868/presentations/wkrdp.mov
Instruments and WKRDP are completely separate, and can be run in parallel. So what’s left isto build a 2nd driver in ios-driver that implement all the selenium command but for webviews this time.Allows to switch from native to webview, this is done with the switch window selenium APIThat allows :- native clicks and keypress for webview ( Demo if time here )Good web selector ( by id, css selector ) on hybrid pages. navigation between frames / windows.
With hybrid support, safari support comes for free.Demo multi window, demo type.https://dl.dropbox.com/u/24687868/presentations/SafariNative.mov
Most of development and tests are using the simulator, because it’s easier and cheaper.However, everything also works on real device.Working with real device has some challenges though :Fixed SDK versionFixed deviceFixed locale / languageNo geolocation changesExtra work managing certificatesSlow
- UI tests are slow- UI IOS tests require real device etcRunning them in parallel and managing the infrastructure is even more critical than for web automation.Using Selenium grid 2 will make a huge difference for tester.https://dl.dropbox.com/u/24687868/demo.mov