This document summarizes a presentation about developing custom plugins and testing Cordova apps. It discusses:
- Creating custom Cordova plugins using Plugman to scaffold code and define JavaScript interfaces. Native implementations are then added.
- Integrating cloud push notifications using the IBM Bluemix plugin, including registering devices, subscribing to tags, and receiving notifications.
- Unit testing Cordova apps with Jasmine, a JavaScript testing framework that supports synchronous and asynchronous code. Async tests require calling a done callback.
- Demos of creating a custom plugin and unit testing a Cordova app with Jasmine are included.
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache CordovaHazem Saleh
Apache Cordova is a platform for building mobile applications using common Web technologies (HTML, CSS and JavaScript). Apache Cordova offers a set of APIs that allow the mobile application developers to access mobile native functions such as (Audio, Camera, File, Battery, Contacts ...) using JavaScript. Although there are many JavaScript mobile application frameworks, jQuery mobile is one of the best mobile web application frameworks which allows the web developers to develop neat mobile web apps. This session illustrates how to use Apache Cordova with the combination of jQuery mobile in order to design, develop, and deploy a complete hybrid Android (and iOS) app. The demo app utilizes the device native functions (Audio and Camera) using pure JavaScript.
Developing Native Mobile Apps Using JavaScript, ApacheCon NA 2014Hazem Saleh
Apache Cordova is a platform for building native mobile applications using common Web technologies (HTML, CSS and JavaScript). Apache Cordova offers a set of APIs that allow the mobile application developers to access mobile native functions such as (Audio, Camera, File, Battery, Contacts …etc) using JavaScript. Although there are many JavaScript mobile application frameworks, jQuery mobile is one of the best mobile web application frameworks which allows the web developers to develop web applications that are mobile friendly. This session illustrates how to use Apache Cordova with the combination of jQuery mobile in order to develop a native Android hybrid application and deploy on a real Android device. The demo application (“Memo” application) utilizes mobile native functions (Audio and Camera) using pure JavaScript.
Get the session recording from SoundCloud:
http://tinyurl.com/cordova2014
[Devoxx Morocco 2015] Apache Cordova In ActionHazem Saleh
Apache Cordova is a platform for building native mobile apps using common Web technologies (HTML, CSS and JavaScript). Apache Cordova offers a set of APIs that allow the mobile app developers to utilize mobile native functions such as (Audio, Camera, Contacts …etc) using JavaScript. jQuery mobile is one of the best mobile web application frameworks, which allows the web developers to develop neat mobile web applications. This session discusses why there is a need for Hybrid mobile development, the current challenges of mobile development, and how using Apache Cordova can help in overcoming many of these technical challenges. It also highlights the best practices of using Apache Cordova with jQuery mobile. Finally, it demonstrates a real Cordova mobile app for showing the audience the best practices of designing, developing, and deploying hybrid Android and iOS mobile apps.
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache CordovaHazem Saleh
Apache Cordova is a platform for building native mobile applications using common Web technologies (HTML, CSS and JavaScript). Apache Cordova offers a set of APIs that allow the mobile application developers to access mobile native functions such as (Audio, Camera, File, Battery, Contacts …etc) using JavaScript. Although there are many JavaScript mobile application frameworks, jQuery mobile is one of the best mobile web application frameworks which allows the web developers to develop web applications that are mobile friendly. This session illustrates how to use Apache Cordova with the combination of jQuery mobile in order to develop a native Android application and deploy on a real Android device. The demo application (“Memo” application) utilizes mobile native functions (Audio and Camera) using pure JavaScript.
[AnDevCon 2016] Mutation Testing for AndroidHazem Saleh
Unit testing coverage is a great way to show us the amount of tested lines and branches of code, but is this really enough? The answer is "no" since unit testing coverage does not really fully measure the efficiency of the unit tests.
This is why there is a need for having techniques that show unit tests efficiency. Mutation testing is one of these powerful techniques. The main idea of mutation testing is to perform byte code modifications (mutations) to original Android app source code and then run app unit tests to check if they are strong enough to fail as a result of these mutations.
This session discusses mutation testing techniques, and demonstrates PIT as a powerful mutation testing tool for Android apps with demos.
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...Wim Selles
This presentation is about the things I did to test the Tele2 React Native app with Appium. I'll explain the journey we've taken and some best practices which you can use with React Native and Appium
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache CordovaHazem Saleh
Apache Cordova is a platform for building mobile applications using common Web technologies (HTML, CSS and JavaScript). Apache Cordova offers a set of APIs that allow the mobile application developers to access mobile native functions such as (Audio, Camera, File, Battery, Contacts ...) using JavaScript. Although there are many JavaScript mobile application frameworks, jQuery mobile is one of the best mobile web application frameworks which allows the web developers to develop neat mobile web apps. This session illustrates how to use Apache Cordova with the combination of jQuery mobile in order to design, develop, and deploy a complete hybrid Android (and iOS) app. The demo app utilizes the device native functions (Audio and Camera) using pure JavaScript.
Developing Native Mobile Apps Using JavaScript, ApacheCon NA 2014Hazem Saleh
Apache Cordova is a platform for building native mobile applications using common Web technologies (HTML, CSS and JavaScript). Apache Cordova offers a set of APIs that allow the mobile application developers to access mobile native functions such as (Audio, Camera, File, Battery, Contacts …etc) using JavaScript. Although there are many JavaScript mobile application frameworks, jQuery mobile is one of the best mobile web application frameworks which allows the web developers to develop web applications that are mobile friendly. This session illustrates how to use Apache Cordova with the combination of jQuery mobile in order to develop a native Android hybrid application and deploy on a real Android device. The demo application (“Memo” application) utilizes mobile native functions (Audio and Camera) using pure JavaScript.
Get the session recording from SoundCloud:
http://tinyurl.com/cordova2014
[Devoxx Morocco 2015] Apache Cordova In ActionHazem Saleh
Apache Cordova is a platform for building native mobile apps using common Web technologies (HTML, CSS and JavaScript). Apache Cordova offers a set of APIs that allow the mobile app developers to utilize mobile native functions such as (Audio, Camera, Contacts …etc) using JavaScript. jQuery mobile is one of the best mobile web application frameworks, which allows the web developers to develop neat mobile web applications. This session discusses why there is a need for Hybrid mobile development, the current challenges of mobile development, and how using Apache Cordova can help in overcoming many of these technical challenges. It also highlights the best practices of using Apache Cordova with jQuery mobile. Finally, it demonstrates a real Cordova mobile app for showing the audience the best practices of designing, developing, and deploying hybrid Android and iOS mobile apps.
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache CordovaHazem Saleh
Apache Cordova is a platform for building native mobile applications using common Web technologies (HTML, CSS and JavaScript). Apache Cordova offers a set of APIs that allow the mobile application developers to access mobile native functions such as (Audio, Camera, File, Battery, Contacts …etc) using JavaScript. Although there are many JavaScript mobile application frameworks, jQuery mobile is one of the best mobile web application frameworks which allows the web developers to develop web applications that are mobile friendly. This session illustrates how to use Apache Cordova with the combination of jQuery mobile in order to develop a native Android application and deploy on a real Android device. The demo application (“Memo” application) utilizes mobile native functions (Audio and Camera) using pure JavaScript.
[AnDevCon 2016] Mutation Testing for AndroidHazem Saleh
Unit testing coverage is a great way to show us the amount of tested lines and branches of code, but is this really enough? The answer is "no" since unit testing coverage does not really fully measure the efficiency of the unit tests.
This is why there is a need for having techniques that show unit tests efficiency. Mutation testing is one of these powerful techniques. The main idea of mutation testing is to perform byte code modifications (mutations) to original Android app source code and then run app unit tests to check if they are strong enough to fail as a result of these mutations.
This session discusses mutation testing techniques, and demonstrates PIT as a powerful mutation testing tool for Android apps with demos.
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...Wim Selles
This presentation is about the things I did to test the Tele2 React Native app with Appium. I'll explain the journey we've taken and some best practices which you can use with React Native and Appium
Appium Meetup #2 - Mobile Web Automation Introductionsnevesbarros
These were the slides for the second appium meetup held at the Gamesys in London, presented by Dan Cueller and Sergio Neves Barros
The demo project mentioned in the slides can be found here:
https://drive.google.com/file/d/0ByIdcWPvw1I3Ny1QWkJzZWpvbzA/view?usp=sharing
QA Fest 2018. Adam Stasiak. React Native is Coming – the story of hybrid mobi...QAFest
Main idea of this talk is to show what technologies can be used for cross-platform mobile app development and how to deal with UI tests automation for them. I will outline set of challenges every tester and developer needs to conquer and give some tips how to solve them. During this talk I will present how to apply UI tests in React Native project using Detox framework.
Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019Sargis Sargsyan
In this high technology times, it is really hard to catch up with everything. Especially for the mobile world when there are thousands of mobile devices with different modification of the Android OS. Most of us who work in the mobile testing industry familiar with the Appium framework for UI automation and also aware of complicate setup and hard maintenance of it. Using Docker in Android UI automation is making our life much easier. Docker-Android is a docker image built to be used for everything related to Android mobile website or application testing. All the tools needed (devices, framework, Android SDK, etc.) are packaged in the image. It is free and open-source and supports other features such as video recording. In this session, we will talk about the advantages and disadvantages of Appium and docker-android will go throw getting started with Docker-Android and run sample tests against it.
To go faster in a car, you need not only a powerful engine, but also safety mechanisms like brakes, air bags, and seat belts. This is a talk about the safety mechanisms that allow you to build software faster. It's based on the book "Hello, Startup" (http://www.hello-startup.net/). You can find the video of the talk here: https://www.youtube.com/watch?v=4fKm6ImKml8
Appium and Selendroid
Desired Capabilities
UI Automator and Challenges faced in finding elements
Wait & Handling Keyboard
Touch Actions and Wait Actions
Android Key Events
Android and iOS Scenarios
Overall Flow using an e-Commerce app
Alternative Solution of Appium
Pros and Cons of Appium
Laravel Forge: Hello World to Hello ProductionJoe Ferguson
With the recent release of Laravel Forge, Envoyer and Homestead, it has never been easier to go from nothing to something with an easy to use PHP Framework. This talk will cover creating a basic Laravel application using the Laravel specific Vagrant box "Homestead", connecting to a server (Linode, Rackspace, Digital Ocean), and deploying the application via Forge. The talk will also cover tips and tricks on customizing Homestead to fit custom needs as well as how to use Forge & Envoyer to deploy new versions of our application.
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...Future Processing
Świat technologii mobilnych od pewnego czasu przechodzi rewolucję – odchodzi się od natywnych aplikacji mobilnych. Jak zatem twórcy aplikacji mobilnych odpowiadają na potrzeby rynku? Czy osoby automatyzujące testy aplikacji mobilnych mają do dyspozycji narzędzia gotowe na technologie, takie jak React Native czy Flutter? Czy można uniknąć pisania oddzielnego kodu testów dla Androida i iOS-a?
W czasie wykładu, na przykładzie aplikacji stworzonej w oparciu o technologię React Native oraz narzędzia Detox, Adam przedstawił praktyczną implementację testów end-to-end oraz ich konfigurację z Continuous Integration.
Appium Meetup #2 - Mobile Web Automation Introductionsnevesbarros
These were the slides for the second appium meetup held at the Gamesys in London, presented by Dan Cueller and Sergio Neves Barros
The demo project mentioned in the slides can be found here:
https://drive.google.com/file/d/0ByIdcWPvw1I3Ny1QWkJzZWpvbzA/view?usp=sharing
QA Fest 2018. Adam Stasiak. React Native is Coming – the story of hybrid mobi...QAFest
Main idea of this talk is to show what technologies can be used for cross-platform mobile app development and how to deal with UI tests automation for them. I will outline set of challenges every tester and developer needs to conquer and give some tips how to solve them. During this talk I will present how to apply UI tests in React Native project using Detox framework.
Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019Sargis Sargsyan
In this high technology times, it is really hard to catch up with everything. Especially for the mobile world when there are thousands of mobile devices with different modification of the Android OS. Most of us who work in the mobile testing industry familiar with the Appium framework for UI automation and also aware of complicate setup and hard maintenance of it. Using Docker in Android UI automation is making our life much easier. Docker-Android is a docker image built to be used for everything related to Android mobile website or application testing. All the tools needed (devices, framework, Android SDK, etc.) are packaged in the image. It is free and open-source and supports other features such as video recording. In this session, we will talk about the advantages and disadvantages of Appium and docker-android will go throw getting started with Docker-Android and run sample tests against it.
To go faster in a car, you need not only a powerful engine, but also safety mechanisms like brakes, air bags, and seat belts. This is a talk about the safety mechanisms that allow you to build software faster. It's based on the book "Hello, Startup" (http://www.hello-startup.net/). You can find the video of the talk here: https://www.youtube.com/watch?v=4fKm6ImKml8
Appium and Selendroid
Desired Capabilities
UI Automator and Challenges faced in finding elements
Wait & Handling Keyboard
Touch Actions and Wait Actions
Android Key Events
Android and iOS Scenarios
Overall Flow using an e-Commerce app
Alternative Solution of Appium
Pros and Cons of Appium
Laravel Forge: Hello World to Hello ProductionJoe Ferguson
With the recent release of Laravel Forge, Envoyer and Homestead, it has never been easier to go from nothing to something with an easy to use PHP Framework. This talk will cover creating a basic Laravel application using the Laravel specific Vagrant box "Homestead", connecting to a server (Linode, Rackspace, Digital Ocean), and deploying the application via Forge. The talk will also cover tips and tricks on customizing Homestead to fit custom needs as well as how to use Forge & Envoyer to deploy new versions of our application.
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...Future Processing
Świat technologii mobilnych od pewnego czasu przechodzi rewolucję – odchodzi się od natywnych aplikacji mobilnych. Jak zatem twórcy aplikacji mobilnych odpowiadają na potrzeby rynku? Czy osoby automatyzujące testy aplikacji mobilnych mają do dyspozycji narzędzia gotowe na technologie, takie jak React Native czy Flutter? Czy można uniknąć pisania oddzielnego kodu testów dla Androida i iOS-a?
W czasie wykładu, na przykładzie aplikacji stworzonej w oparciu o technologię React Native oraz narzędzia Detox, Adam przedstawił praktyczną implementację testów end-to-end oraz ich konfigurację z Continuous Integration.
Moving to Dojo 1.7 and the path to 2.0James Thomas
With the upcoming 1.7 release, The Dojo Toolkit is beginning to introduce major structural and architectural changes in the toolkit, setting the path for their new major 2.0 release due in 2012.
These fundamental changes to the architecture and technologies underpinning the toolkit will dramatically change how we write Dojo applications in the future, bringing with it huge benefits in performance, cross-library compatibility and support for mobile platforms.
In this presentation, I'll be walking through these changes, explaining the benefits and how it'll impact developers. I'll also be providing migration tips to help you start taking advantage of these benefits in your application today, based upon my experience using Dojo 1.7 on the Watson project.
This talk will be technical in nature, aiming at developers and team leads who are using the toolkit in their products or on client engagements.
Rich internet application development using the dojo toolkitalexklaeser
The Dojo toolkit is a modular JavaScript library designed to ease and speed up the development of JavaScript-/AJAX-based websites and applications. This presentation (given at the FrOSCon 2011) will give an overview over the toolkit together with a short survey over
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
Video and slides synchronized, mp3 and slide download available at URL https://bit.ly/2rm4hFD.
Yevgeniy Brikman talks about how to write automated tests for infrastructure code, including the code written for use with tools such as Terraform, Docker, Packer, and Kubernetes. Topics covered include: unit tests, integration tests, end-to-end tests, dependency injection, test parallelism, retries and error handling, static analysis, property testing and CI / CD for infrastructure code. Filmed at qconsf.com.
Yevgeniy Brikman is the co-founder of Gruntwork, a company that provides DevOps as a Service. He is the author of two books published by O'Reilly Media: Hello, Startup and Terraform: Up & Running. Previously, he worked as a software engineer at LinkedIn, TripAdvisor, Cisco Systems, and Thomson Financial.
In this session, you will learn how to deploy, monitor and manage your serverless APIs in production. We will deep dive into advanced capabilities of API Gateway that enable customers to build large scale data ingesting applications and dynamic websites. We will show you how to set up alarming and analyze logging for Amazon API Gateway and AWS Lambda using AWS CloudWatch, and automate common maintenance and management tasks for your services. In addition, we will review latest features that provide customers more control over their integrations and more insight into API usage.
Serverless Beyond Functions - CTO Club Made in JLMBoaz Ziniman
Serverless is changing the way businesses think about speed and cost of innovation but today, Serverless is not limited to the code running as a Lambda function.
In this session we will look into what it takes to run a full serverless application in production. We will cover additional services such as Serverless application management, storage solution for Serverless Apps, Step Functions for App orchestration and CI/CD and Monitoring for your full application lifecycle.
Apache Cordova phonegap plugins for mobile app developmentwebprogr.com
Phonegap application development company - Using Apache Cordova 6.0 + plugins
Webprogr.com's experience and expertise as an experienced Phonegap application development company in designing and developing engaging mobile applications help serve your enterprise cross platform business app needs better. Our rich Phonegap cross platform development experience, flexible business model, and rigorous processes can translate to high quality, faster time-to-market, and cost effective mobile apps.Webprogr.com is ranked among the best phonegap developers and top cross platform mobile application development companies in India. To discuss more on cross platform app developers and PhoneGap experts' services and how we could help you with your enterprise app needs please contact us at sales@webprogr.com or call TEL: USA 703 495 5847 , INDIA: +91 44 24850191.
Managing the deployment of code to multiple AWS Lambda functions and updating your API Gateway methods can be manual and time consuming.
In this session, we will show you how to build a deployment pipeline to AWS Lambda using AWS CodePipeline, a continuous delivery service based on Amazon’s internal release automation tooling. We will discuss how to use versioning, which enables you to better manage the different variations of your Lambda functions and API Gateway methods in your development workflow (e.g., development, staging, and production). We will walk through how to automate the entire release process of your application from development, to staging, and finally to production; performing automated integration tests at each stage.
AWS DevDay San Francisco, June 21, 2016.
Presenter: Andrew Baird, Solutions Architecture
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaAmazon Web Services
The presentation will discuss some architectural patterns in continuous integration, deployment and optimization and I will share some of the lessons learned from Amazon.com.
The goal of the presentation is to convince you that if you invest your time where you get the maximum learning from your customers, automate everything else in the cloud (CI + CD + CO), you get fast feedback and will be able to release early, release often and recover quickly from your mistakes. Dynamism of the cloud allows you to increase the speed of your iteration and reduce the cost of mistakes so you can continuously innovate while keeping your cost down.
Cordova Mobile Application Developer CertificationVskills
Vskills certification for Cordova Mobile Application Developer assesses the candidate as per the company’s need for developing mobile applications which work in different mobile operating system. The certification tests the candidates on various areas in Cordova basics, using the command-line interface, Using Cordova with iOS, Blackberry, Android or Windows Phone, Config.xml file, plug-in development and whitelisting.
Managing the deployment of code to multiple AWS Lambda functions and updating your API Gateway methods can be manual and time consuming.
In this session, we will show you how to build a deployment pipeline to AWS Lambda using AWS CodePipeline, a continuous delivery service based on Amazon’s internal release automation tooling. We will discuss how to use versioning, which enables you to better manage the different variations of your Lambda functions and API Gateway methods in your development workflow (e.g., development, staging, and production). We will walk through how to automate the entire release process of your application from development, to staging, and finally to production; performing automated integration tests at each stage.
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar SeriesAmazon Web Services
Managing the deployment of code to multiple AWS Lambda functions and updating your API Gateway methods can be manual and time consuming.
In this webinar, we will show you how to build a deployment pipeline to AWS Lambda using AWS CodePipeline. We will discuss how to use versioning, allowing you to better manage the different variations of your Lambda function and API Gateway methods in your development workflow, such as development, staging, and production. We will walk through how to automate the entire release process of your application from development to staging and finally to production, performing automated integration tests at each stage.
Learning Objectives:
Understand the basics of AWS CodePipeline
Learn how to version AWS Lambda functions and API Gateway methods
Build a deployment pipeline to AWS Lambda
Similar to [ApacheCon 2016] Advanced Apache Cordova (20)
[FullStack NYC 2019] Effective Unit Tests for JavaScriptHazem Saleh
Unit testing coverage is a great way to show us the amount of tested lines and branches of code, but is this really enough? The answer is "no" since unit testing coverage does not really fully measure the efficiency of the unit tests. This is why there is a need for using techniques that can improve unit tests efficiency. Mutation testing is one of these powerful techniques. The main idea of mutation testing is to automatically insert bugs (mutants) into production code and then run unit tests to check if they are strong enough to fail as a result of these mutations.
This session discusses mutation testing techniques and demonstrates Stryker as a powerful mutation testing tool for JavaScript applications.
Mockito 2.x Migration - Droidcon UK 2018Hazem Saleh
Mockito 2.x solves many problems that most of the Android developers were having in their tests in Mockito 1.x. But what if you are having today large tests written in Mockito 1.x and PowerMock, will it be an easy task to migrate?
Unfortunately, it is not a straightforward task since Mockito 2 is not fully compatible with the old behaviour of Mockito 1.x. Adding to this complexity, If you are having PowerMock in your old tests, then you will have to face another dimension of complexity since most of PowerMock’s versions are having integration issues with Mockito 2.x.
This session goes through the tips and tricks that you need to consider in order to migrate to and utilize Mockito 2.x. It has demos to show migrating Android app Mockito 1.x tests to Mockito 2.x.
Integrating Mashups in web applications is not an easy job. Web developers need to write intensive JavaScript code and much duplicate feed parsing code in order to create an interactive Mashup web application.
Mashups4JSF is an open source library that aims at integrating Mashup services in JSF web applications. Using Mashups4JSF, JSF developers will be able to construct rich and customized Mashups using a set of custom JSF components. They will be able to export domain model data as mashup feeds. They will be able to create rich Google Maps declaratively and create custom Ajax actions powered by JSF 2.x architecture. This session discusses how to utilize this library in order to build interactive mashups in the JavaServer Faces applications.
This session was presented by Hazem Saleh in JavaOne Russia 2013.
Efficient JavaScript Unit Testing, March 2013Hazem Saleh
This material about efficient JavaScript unit testing is presented by Hazem Saleh in the Egyptian Java Developer Conference that was held in 09 March 2013.
This presentation goes through the most popular JavaScript tools on the different browsers (Internet Explorer, Firefox, Safari and Chrome). It goes through popular JavaScript debugging tools, JavaScript verification tool (JSLint), and finally JavaScript minification tools.
Efficient JavaScript Unit Testing, May 2012Hazem Saleh
One of the biggest challenges of many web applications is the support on the different browsers with different versions. JavaScript code that runs on Safari does not necessarily mean it will work on IE or Firefox or Google chrome. This challenge is inherited from the lack of testing the JavaScript code that lives in the presentation tier from day one. Without unit testing the JavaScript code, organization will pay much money for testing, re-testing, and re-testing web applications for just deciding upgrading or supporting new browsers. This presentation shows the solution of this problem.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
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.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
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.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
2. About me
experience
More than eleven years of experience in Java
enterprise and mobile solutions.
Apache Committer.
Author of four technical books.
DeveloperWorks Contributing author.
Technical Speaker (JavaOne, ApacheCon,
Geecon,JavaLand …etc)
Advisory Software Engineer in IBM.
4. Apache Cordova Custom Plugins
Apache Cordova core already provides and covers a lot of
important plugins:
Other
5. Apache Cordova Custom Plugins
Apache Cordova plugin is a package of injected code
that allows the Cordova Webview to communicate with
the native platform on which it runs.
All the main Cordova API features are implemented as
plugins.
In many cases, you do not need to develop your own
custom plugin since many quality plugins are available
in Apache Cordova Plugin registry website:
https://cordova.apache.org/plugins/
6. Apache Cordova Custom Plugins
Process of custom plugins development
Use Plugman to scaffold our custom plugin code.
Define the plugin API interface using JavaScript.
Implement the plugin interface using the platform native
programming language.
Publish your plugin to NPM registry
Using the custom plugin from a Cordova app
10. Apache Cordova Custom Plugins
Implement the plugin interface using the platform native
programming language
11. Apache Cordova Custom Plugins
Using the custom plugin from a Cordova app
cordova create testApp
cordova platform add android
plugman install --platform android --project
/path/to/my/project/platform --plugin /path/to/my/plugin
12. Apache Cordova Custom Plugins
Publish your plugin to NPM registry
npm adduser # If you don't have an account yet
npm publish /path/to/your/plugin
plugman createpackagejson /path/to/your/plugin
16. Cordova Cloud Push Notification
In Apache Cordova plugins store, there are many plugins
to integrate Cordova apps with Push Notifications.
Usually, Cloud PaaS provides a unified platform for
managing Push Notifications on the mobile platforms.
As an example of integrated Push Notification Cloud
providers with Apache Cordova is the IBM Bluemix
thanks to ibm-mfp-push plugin:
https://www.npmjs.com/package/ibm-mfp-push
Implementing Push Notifications is a common
requirement in mobile apps.
17. Cordova Cloud Push Notification
IBM Bluemix supports the following types of Push
Notifications
Broadcast Push Notification:
It is pushed to all devices (you can also specify a
specific platform).
Unicast Push Notification:
It is pushed to a specific device by id.
Tag based Push Notification:
It is pushed to all devices that are registered to tags or
topics.
18. Cordova Cloud Push Notification
Steps for having IBM Bluemix Push Notification in
Actions for Cordova Apps:
1. Setup push notification in Bluemix
2. Install Bluemix Push Notification Plugin
3. In JavaScript code
1. Register Device for Push Notifications
2. Optionally subscribe in or unsubscribe from
tags
3. Receive notifications
4. Test Push Notifications
27. Unit Testing Cordova Apps
Since Cordova Apps are based on JavaScript, we need to
pick a suitable JavaScript unit testing framework for
testing Cordova apps logic.
Requirements for picking a good JavaScript unit testing
framework
Executable across browsers (Automated preferred)
Easy to setup
Fast Execution
Easy to configure
Integrated
Provides a good testing mechanism for Asynchronous code
28. Unit Testing Cordova Apps
Jasmine is a powerful JavaScript unit testing framework
Jasmine describes its tests in a simple natural language
Jasmine tests can be read by Non-programmers
Jasmine provides a clean mechanism for testing
synchronous and asynchronous code
29. Unit Testing Cordova Apps
Sample Jasmine Test
describe("A sample suite", function() {
it("contains a spec with an expectation", function() {
expect(true).toEqual(true);
});
});
Main Jasmine Constructs
Testsuite begins with a call to describe()
Testcase “or spec” begins with a call to it()
Testcase can contain one or more matcher(s)
30. Unit Testing Cordova Apps
Jasmine Example
describe("SimpleMath", function() {
var simpleMath;
beforeEach(function() {
simpleMath = new SimpleMath();
});
it("should be able to find factorial for positive number", function() {
expect(simpleMath.getFactorial(3)).toEqual(6);
});
it("should be able to find factorial for zero", function() {
expect(simpleMath.getFactorial(0)).toEqual(1);
});
afterEach(function() {
simpleMath = null;
});
});
31. Unit Testing Cordova Apps
Async Jasmine Tests
Asynchronous JavaScript code refers to the code whose
caller will NOT to wait until the execution completes.
In order to get the results, the caller should pass
callbacks which will be called with data result
parameters in case of operation success or failure.
Asynchronous JavaScript code mainly refers to Ajax
code.
In order to support Asynchronous operation testing, Jasmine provides:
1. An optional single parameter for its single spec.
2. This parameter has to be called if the asynchronous operation
completes.
3. If this parameter is not called for by default 5 seconds then the test
will fail (means operation timeout).
32. Unit Testing Cordova Apps
Async Jasmine Example
describe("when doing asynchronous operation", function() {
it("should be able to do the asynchronous operation", function(done) {
var data = {};
var successCallBack = function(result) {
console.log("success");
/* validate result parameter */
done();
};
var failureCallBack = function() {
console.log("failure");
expect("Operation").toBe("passing"); /* force failing test */
done();
};
AsyncObject.asyncOperation(data, successCallBack, failureCallBack);
});
});
Make sure that two emulators are running before starting / ATOM is started with the workspaces / Bluemix is opened … Hello everyone, my name is (Hazem Saleh) [Advisory engineer in IBM and Apache committer].
Today, I will be talking about advanced aspects of Apache Cordova.
Before going into the details of this presentation, I would like to introduce myself in more details …
So, today, I will be talking about some of the advanced aspects of Apache Cordova:
We will know how to extend the capabilities of Apache Cordova by creating custom plugins.
2. We will empower Apache Cordova apps by using Cloud Push notifications.
3. We will understand how to unit test Cordova apps’ logic.
We will also see their demos for each of these topics.
Before going into Cordova custom plugins details, it is important to refresh our knowledge about Apache Cordova.
Apache Cordova is a complete platform which allows us to develop cross-mobile platform apps using common web technologies (HTML, CSS and JavaScript)
In order to do this, Apache Cordova uses a native component called WebView which hosts the Cordova app web files.
Apache Cordova also allows accessing device hardware features using plugins. Apache Cordova provides the following core plugins:
Camera, Media, Notifications, Storage, Events
Geo-location, Device motion, compass, connection, contacts
Files, Globalization and others
1. Although the core plugins of Apache Cordova covers a lot of business scenarios, you may need to have a plugin that is
performing something which is not provided by Cordova core plugins.
2. One of the recommendations is to first search in Apache Cordova plugin registry for the feature that you are looking for
since in 80% of the cases, you will find good plugins that are covering that the features that you are looking for.
3. If you do not find what you want in the plugin registry then you can start developing your own plugin
This is the process of creating custom plugins in Apache Cordova …
Read it …
Read it …
Then we define the plugin JavaScript API as follows:
1. We define our API parameters.
2. Map our parameters to cordova exec() method communicates your API parameters to native code, it has the following signature:
2.1. Success callback.
2.2. Failure callback.
2.3. Native Class Name.
2.4. Operation name.
2.5. Arguments.
In the android native part (For example):
1. Our plugin class must extend CordovaPlugin and implement the execute() method.
2. The execute() method has the following parameters:
2.1. action parameter which maps to the sent action name.
2.2. JSONArray parameter which maps to the sent action parameters.
2.3. CallbackContext parameter which maps to the callback handler that will be called in success or failure.
2.4. Operation name.
2.5. Arguments.
After defining the plugin interface and implementing the plugin, we can then start testing the plugin by:
1. Create a new Cordova app.
2. Add a platform to the Cordova app.
3. Install the plugin using plugman install command.
Finally publish the plugin to npm registry.
Checking Custom Plugins Demo.
Demo steps:
1. Create a plugin skeleton using Plugman:
> plugman create --name helloworld123 --plugin_id com.test.xyz.helloworld123 --plugin_version 0.0.1
2. Add android platform to the generated plugin:
> plugman platform add --platform_name android
3. Edit Android generated code:
> As you wish, do not forget to access any device information in the returned message.
4. Do not forget to define the accessing object name in the plugin’s plugin.xml as follows:
<clobbers target="coolObj" />
5. Create a Cordova project and add android support to it (build and run the project).
6. Add the plugin to the Cordova project as follows from the Cordova project root (then edit the code to call the plugin then Build and run):
> plugman install --platform android --project platforms/android/ --plugin ../helloworld123/
7. Call the plugin from your test Cordova app.
8. Do not forget to generate plugin package.json file for npm (totally optional):
> plugman createpackagejson /path/to/your/plugin
Now, let’s see how to empower Apache Cordova apps by using Cloud Push Notification.
Read it as is …
Read it as is …
https://cordova.apache.org/docs/en/latest/guide/hybrid/plugins/index.html#integrating-with-plugin-search
1. Create bluemix mobile app.
2. Setup push notification for iOS and Android.
3. Create your Cordova app.
4. Add the push plugin to it (for android + iOS)
5. Show the code that can register the mobile client and receive push notifications.
6. Show how to receive push by tags.
7. Finally, show the panel from which you can send push notifications.
Explain it using GCM or APNs.
Add Bluemix Cordova Push plugin and configure them for both Android and iOS.
Register device for Push notification by using registerDevice() of MFPPush.
Use registerNotificationsCallback() to register the callback for receiving notifications.
For receiving notifications on specific tags, we can subscribe in tags using subscribe() method of MFPPush.
We can also un-subscribe from tags using unsubscribe() method of MFPPush.
Test sending push notifications from Bluemix administration.
Now, let’s see the push demo.
Push Notification Demo steps:
1. Demonstrate the code.
2. Send to all devices.
3. Send to a specific tag "Tag1", no devices will receive.
4. Subscribe in "Tag1".
5. Send to a specific tag "Tag1" to receive push notifications.
Now, let’s see how to unit test Cordova apps logic.
Read as is …
Read as is …
Read as is …
Just highlight the usage of beforeEach() and afterEach().
Read as is …
Read as is …
Now, let’s see the Cordova unit testing Demo.
Jasmine Demo steps:
1. Explain briefly UserServiceSpec.js and WeatherServiceSpec.js files.
2. Run SpecRunner.html
3. Show how Jasmine can be integrated with JavaScript test runners like Karma by explaining config.js.
4. Run silentTests.sh file.
5. Check code coverage HTML report to show the amount of code that is tested.
Jasmine is integrated with JavaScript test runners which allows it to be part of CI tools that can automate running JavaScript
Tests.