Twitter Connector Data

Azure Logic Apps : Orchestrating business processes and systems integration

By | Azure, Microsoft | No Comments

This is post 5 of 7 in the series “A Cloudy 29 Days of Microsoft Azure” Note: Azure Logic Apps is currently in Preview state. Things may change prior to it’s official release, and you may encounter bugs as well. Most systems that exist today are data-focused CRUD applications (Create, Read, Update, Delete). In an organization you typically find multiple of these applications supporting various lines of business. These applications typically play a part in satisfying an over-arching business process. Various methods exist to cobble systems together in order to solve a business need. Some integration strategies include (but not…

Read More

Kendo UI: Prevent Event Bubbling in Mobile ListView

By | Kendo UI, News | One Comment

Today I was working on a Kendo UI Mobile application and I ran into a situation where I had a ListView widget and I wanted to handle the click event on the widget itself as well as having buttons in each ListView item and handle their click events.  Right away I knew I would have to stop the event from bubbling up when one of the buttons was clicked.  This typically isn’t a problem, I would just use the stopPropagation function that comes along with the event…but I quickly found that Kendo UI widget events do not provide the stopPropagation method.  In order to…

Read More

What to love and hate about Azure’s DocumentDB

By | Azure, C#, Data & Storage, JavaScript, Microsoft, News | 3 Comments

This is post 4 of 7 in the series “A Cloudy 29 Days of Microsoft Azure” Azure DocumentDB is Microsoft’s fully-managed document-oriented NoSQL database service that is built to work within the Azure Cloud ecosystem much like SQL Azure, SQL Storage, Azure search, etc. DocumentDB is relatively a new player in the NoSQL world (it was released for general availability in April 2015). It comes with an impressive list of features and has gone through several version updates. It also has its limits (the list hasn’t been updated for a while so make sure you read the comments section). In this post we are…

Read More
2016-01-26 17_30_45-azure-quickstart-templates_101-backup-vault-create at master · Azure_azure-quick

Protect and Restore your Azure VMs: Azure Backup Vault – 29 Days of Azure

By | Azure | No Comments

If you read Part 1 of my posts on ARM, then you’ll remember there is a caveat to ARM VMs, at least for right now. Azure automatic backups only work for ‘Classic’ VMs, NOT those created using ARM templates. IaaS v1 VMs are fine, just not v2. So for now, use those template VMs as the machines you can blow away and start over, and use classic VMs for anything you need to automatically backup using an Azure backup vault.

Read More
2016-01-26 13_06_14-Select Azure Template

Using the Azure Resource Manager: Part 2 Networking Templates – 29 Days of Azure

By | Azure, Microsoft, Visual Studio | One Comment

Now that we have deployed a simple Azure Resource Manager template from Visual Studio in Part 1, let’s look at just how simple it is to use that method to deploy a network of VMs using networking templates. If you aren’t a networking expert (and I am admittedly not), the configuration options for virtual networks is pretty daunting. But the availability of networking templates can be a great way to learn.

Read More
29-days-azure-blog-header

A Cloudy 29 Days of Azure in February

By | Azure, News | No Comments

For the month of February, Falafel Software will be hosting the series “A Cloudy 29 Days of Microsoft Azure” to focus on development, architecture and solutions in the cloud. We are going to cover tons of topics that will range from setting up Virtual Machines with all the peripherals, all the way to running Platform as a Service (PaaS) features that can help you scale your solutions. We will cover current topics like IoT as well as bring along your current applications like Web Apps. Microsoft Azure has lots to offer and we hope you enjoy this 29 day journey….

Read More
020316_2221_Sensors1.png

Testing Sensors on Mobile Devices with Test Complete

By | Android, iOS, Mobile, SmartBear, TestComplete, Testing | One Comment

This is post 30 of 30 in the series “31 Days of Mobile Testing with TestComplete” Sensors Sensors measure device position, movement and environment. TestComplete lets you enumerate and read each sensor. Both iOS and Android Device objects have an indexed Sensor property and a SensorsCount so you can iterate through the list. For example, to log every sensor name on a device:

  The log for my Samsung Galaxy shows the available sensors: To get the same for every connected device, iterate the Mobile object’s children using the ChildCount property and Child(index) method. The Child() method returns an…

Read More
020316_0256_iOSControls1.png

Automated Testing on iOS Controls with Test Complete

By | iOS, Mobile, SmartBear, TestComplete, Testing | One Comment

This is post 29 of 30 in the series “31 Days of Mobile Testing with TestComplete” iOS Controls To find out what iOS controls TestComplete supports, go to project properties and look under Object Mapping. There you’ll find the complete list of control categories that TestComplete supports in your environment right now: Each category may support one or more controls. For example, the Table view category shows support for iOS UITableView, UITableViewCell and any derived classes. Researching the Control We can use picker controls as an example. With a picker, you can select from a revolving list of values. The…

Read More
kendo-ui

Extending Kendo UI Editor Functionality in Sitefinity

By | C#, JavaScript, Kendo UI, Sitefinity | No Comments

In my previous post I detailed a feature where users can upload files to the Sitefinity Document Library asynchronously. However, the interface for doing so was a bit basic. There was an HTML file input that automatically uploaded the selected file immediately. It worked, but the user wasn’t left with much to do with the link that was returned. Extending Kendo UI Editor functionality, however, can be used to make the return value more useful and make the whole user experience much better. This post will show you how to take the feature and add it to the set of…

Read More
020116_0410_Automatingi10.png

Automating iOS User Actions

By | iOS, Mobile, SmartBear, TestComplete, Testing | One Comment

This is post 28 of 30 in the series “31 Days of Mobile Testing with TestComplete” Automating iOS User Actions Once you have your iOS app instrumented, the gates swing wide open and you can use everything that TestComplete offers. Each mobile object and the device object can simulate touch, long touch, keyboard entry and dragging. There isn’t a Gestures collection like Android testing has, but you simulate single-point gestures in code. For the walk-throughs in this blog I’ll use instrumented versions of the “Hello World” apps created by Xcode starter projects: tabs, page based, and a game starter project….

Read More
xcode error

Instrumenting iOS Apps, What could go wrong?

By | iOS, Mobile, News, SmartBear, TestExecute, Testing | 2 Comments

This is post 27 of 30 in the series “31 Days of Mobile Testing with TestComplete” Instrumenting iOS Apps, What could go wrong? We all know the answer to that – plenty. Here are a couple of bricks I stubbed my toe on. If you’ve run into other issues while instrumenting iOS, please share a comment. No Code Signing Identities Found This message appears if you’re trying to archive the app and you’re missing the Developers certificate and provisioning files. The error message shows up on the left in the Issue Manager The Xcode Preferences under the Account tab > View…

Read More
012716_0948_Instrumenti14.png

Instrumenting iOS Apps III

By | iOS, Mobile, SmartBear, TestComplete, Testing | 2 Comments

This is post 26 of 30 in the series “31 Days of Mobile Testing with TestComplete” Instrumenting iOS Apps III – Getting the Files To prepare for this blog, I scrubbed the certificates from the Apple Developer site and from the Mac, then rebuilt them. I’ve done this multiple times, but the process has too many variations to go down every path. I’ll try to show you my path and what it looked like along the way. To begin, I created a directory named “Certs” that I could access from both TestComplete and the Mac. The Certs directory ends up…

Read More
012616_0554_Instrumenti1.png

Instrumenting iOS Apps II

By | iOS, Mobile, News, SmartBear, TestComplete, Testing | One Comment

This is post 25 of 30 in the series “31 Days of Mobile Testing with TestComplete” Instrumenting iOS Apps II – Preparation When we left off, we were using the TestComplete UI to instrument iOS apps. But first we need a certified app archive *.ipa file. To get that *.ipa file built, we need a little preparation. What You Need First Make sure you have these items ready before continuing: A Mac with the latest OS, iTunes and Xcode installed. A PC with TestComplete installed and Mobile extensions enabled. Install iTunes on the PC. You can download it from here. Get an…

Read More
012516_2015_AndroidLayo1.png

Android Layout Background Color

By | Android, Mobile, SmartBear, TestComplete, Testing | One Comment

Android Layout Background Color – Bonus Post This isn’t part of the 31 days of TestComplete Mobile blog series, but is an answer to an interesting question that came up in the TestComplete forums: “Can I get the layout background color of an Android app? Layouts may not always have a solid background color, but when they do, here are two ways to get at it. If you have an instrumented app, you can use the native Android layout getBackground().getColor() methods. getColor() returns an integer that includes the alpha (amount of transparency) and the red/green/blue components of the color. I created…

Read More
012516_0352_AndroidGest10.png

Android Gestures

By | Android, Mobile, SmartBear, TestComplete, Testing | One Comment

This is post 24 of 30 in the series “31 Days of Mobile Testing with TestComplete” Android Gestures A big part of an app’s usability is in the user interaction: pinching gestures, rotation, two finger swipes and so on. Not to mention the ad-hoc gestures the app may experience in everyday handling of the device. Mobile applications can be crashed in new and innovative ways – just ask your average three-year-old to test your app, you might be surprised. TestComplete’s Gesture Collections let you record single and multiple simultaneous touch gestures. You can play them back at different speeds interactively,…

Read More
012416_0130_Respondingt2.png

Responding to Android Toasts and Snackbars

By | Android, Mobile, SmartBear, TestComplete, Testing | 2 Comments

This is post 23 of 30 in the series “31 Days of Mobile Testing with TestComplete” Responding to Android Toasts and Snackbars Toasts and snackbars show status without getting in the way. Before Google introduced material design, toasts were the way to go. Toasts don’t receive focus, they don’t interrupt typing, but they aren’t easy to find with TestComplete. Toast behavior is by design. This works well for the end user, but can make testing a bear. You can wait for a toast with particular text, but TestComplete doesn’t give you a reference to the object (as of this writing). The screenshot…

Read More
012316_2346_AndroidCont7.png

Android Controls II

By | Android, Mobile, SmartBear, TestComplete, Testing | One Comment

This is post 22 of 30 in the series “31 Days of Mobile Testing with TestComplete” Android Controls II – ListView Scrolling, Finding Items Questions about Android ListView scrolling come up in the forums. The Extended properties have methods for touching and selecting items, but there’s nothing built-in for scrolling. For that you need native Java methods. The Android ListView smoothScrollToPosition() method moves to the top or bottom of the list:

Using the Orders sample that installs with TestComplete, there’s only seven items in the list — not enough to scroll with. Trying to scroll might constitute an error…

Read More

Fixes for common Node.js development issues in Windows

By | JavaScript, node.js, Visual Studio | 2 Comments

I remember when I first heard about Node.js. JavaScript on the server? Why would anyone want to do that? I hadn’t yet experienced the expressive power and conciseness of JavaScript, but once I did, I was hooked. Suddenly I was very interested in Node.js and started looking for a reason to jump in and start playing with it. Well, I recently got that chance, and while I am enjoying it very much, the start of my experience has had its share of bumps in the road. I’ll share a few of the problems I had and their workarounds or solutions. Install a version…

Read More
012216_0602_AndroidCont1.png

Android Controls I

By | Android, Mobile, News, SmartBear, TestComplete, Testing | 2 Comments

This is post 21 of 30 in the series “31 Days of Mobile Testing with TestComplete” Android Controls I — Supported Controls Looking at all the controls in Android Studio, I wouldn’t blame you for thinking it’s impossible to support them all. Here’s just a teeny piece of the design environment and palette of controls available to developers: I count 13 widgets for Text Fields alone. But all those edit widgets are represented in TestComplete by a single kind of control: EditText. The list of controls supported by TestComplete is documented here. You can get the list of what TestComplete has available right now in…

Read More
hand dragging on touch screen

Android User Actions III

By | Android, Mobile, TestComplete, Testing | 2 Comments

This is post 20 of 30 in the series “31 Days of Mobile Testing with TestComplete” Android User Actions III – Dragging Dragging is like swiping except that the touch isn’t released after the user presses the screen and moves to a new location. Both the Device object and mobile objects (views, layouts, etc.) have their own Drag() methods:

Watch out for the last two parameters. Mobile objects use distances along the X and Y axis, but the device object uses an absolute ending X and Y coordinate. Using the device Drag() method, you can drag from the bottom…

Read More
woman hand holding the phone tablet touch computer gadget as concept

Android User Actions II

By | Android, Mobile, SmartBear, TestComplete, Testing | 2 Comments

This is post 19 of 30 in the series “31 Days of Mobile Testing with TestComplete” Swiping and Getting Away with it The Device Swipe() method simulates a user flicking an object across the screen. Mobile objects don’t have their own swipe methods, so Device Swipe() uses starting and ending X and Y coordinates instead. Object Spy shows the parameter list in the description.

Read More
touch

Android User Actions I

By | Android, Mobile, SmartBear, TestComplete, Testing | 3 Comments

This is post 18 of 30 in the series “31 Days of Mobile Testing with TestComplete” Android User Actions I – Touch and LongTouch You can get a lot of mileage calling Touch() and LongTouch() actions directly on Android controls. The script below automates the Driven Gallery app sample that installs with TestComplete. The script uses Touch() to select the “Tuesday” Layout object and LongTouch() to press an Android ImageView object. This second actions displays an Android toast with item information.

The log shows the initial state of the app on launching, after the Tuesday view is touched and after the ImageView…

Read More
011716_2258_ManagingAnd2.png

Managing Android Packages

By | Android, JavaScript, Mobile, SmartBear, TestComplete, Testing | 2 Comments

This is post 17 of 30 in the series “31 Days of Mobile Testing with TestComplete” Find Packages on a Device Packages are the application archive files (*.apk) that download to your device when you install an app from Google Play. PackageManager keeps track of where app packages are stored on your device, and lets you remove, install and launch Android applications. If you installed packages from your desktop computer, PackageManager reports these locations as well. The code example below gets the latest package info and then rolls through the list using the manager’s InstalledPackagedCount and InstalledPackge properties. InstalledPackge returns a PackageObject that…

Read More