Tag

Mobile Archives - Falafel Software Blog

C# Windows IoT Core Serial Communications with an ESP8266

By | Blogs, C#, ESP8266, git, Hardware, IoT, Microsoft, Multi-Device, News, Raspberry Pi, Visual Studio, Windows Universal Apps | No Comments

Windows IoT Core is great for connecting single board computers such a Pi2 to an ESP8266, via a serial link. The hardware for such a link can be found in my previous post here. The details for a basic serial communication C# framework are detailed in this post. If you have an ESP8266, there are numerous ways of communicating with them such as LuaLoader. However, I needed to communicate with my ESP8266 through a Pi2 running Windows IoT Core. This is part of a larger automated test project for an upcoming consumer project we’re developing. In this post, I’ll cover…

Read More

Enable iOS 10 Speech Recognition in NativeScript Apps

By | iOS, JavaScript, Mobile, NativeScript, Objective C | One Comment

Before iOS 10 was released, it was rather difficult to integrate Speech-to-Text capabilities (Not just Voice-to-Text dictation) into iOS applications. We had a myriad of frameworks to choose from and most of them were commercial products such as Nuance. iOS 10’s Speech Framework can empower your iOS apps with native, Siri-like, speech recognition. In this column, I am going to show you how to use NativeScript to access the Speech Recognition APIs. If you are not familiar with the Speech API, I advise that you take a look at the documentation articles. You can see that the APIs are available…

Read More

Generating Documentation for Angular 2 apps and NativeScript

By | Angular 2, JavaScript, News, TypeScript, Web | 6 Comments

Abstract Static documentation generators are abundant on the web. Whether you are working on a complex web application or simply an API project, you will find a tool for your support. With complex JavaScript applications, we have used a variety of tools including the infamous JSDoc and Docco. These tools have been serving us well until we started developing a complex Angular 2 application and we desired to have a solid documentation tool added to our toolbelt. In this column, I am going to present some of the options that you have for generating static documentation for an Angular 2 application. For this…

Read More

Access IIS Express from a Remote Device

By | IIS Express, Mobile | 2 Comments

I recently came across a situation where I needed to access IIS Express from a remote device.  There a lot of blogs and Stack Overflow posts relating to this that involve updating binding elements in the IIS Express config and I tried a dozen or more of them with no luck.  I finally came across iisexpress-proxy and worked great!  You can check out the repo on Github for full details, but it in short it is an npm package that allows you to simply enable remote access to IIS Express via the command line with no dependencies othar than Node.js….

Read More
a-rise-in-demand-for-xamarin-consultancy

A Rise in Demand for Xamarin Consultancy

By | Xamarin | No Comments

Since the Microsoft Acquisition of Xamarin, Falafel has seen a major uptick in demand for services on Xamarin Technologies and in the last 3 months, 4 major corporations have hired Falafel to architect and implement Xamarin based solutions for over $1,000,000 in services revenues. When we first heard that Microsoft was acquiring Xamarin back in February this year, we at Falafel Software were both excited and curious. The team here has always loved Xamarin and we are all Microsoft Certified Professionals so this partnership made sense as we work with technologies from both companies. The surprising aspect was since the…

Read More

Migrating from Mobile Services to Mobile Apps, when you should consider it

By | .NET, Android, Apps for Office, Azure, Microsoft, Mobile, News, node.js, Office365, Visual Studio, Web, Web & Mobile | 4 Comments

This is post 13 of 31 in the series “A Cloudy 29 Days of Microsoft Azure” In this column we are going to discuss the difference between Mobile Apps and Azure Mobile Services,. Azure Mobile Services allows you to add a cloud-hosted scalable backend to your connected apps within minutes. Whether you’re building apps for Windows 8, Windows Phone, iOS or Android you can take advantage of the Azure cloud to streamline your data and provide a robust, reliable and cost-effective platform to support your application. Mobile Services has been around since 2012 when it was in preview, and has seen many version updates and…

Read More

Testing Sensors on Mobile Devices with Test Complete

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

This is post 30 of 31 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

Automated Testing on iOS Controls with Test Complete

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

This is post 29 of 31 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

Automating iOS User Actions

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

This is post 28 of 31 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

Instrumenting iOS Apps, What could go wrong?

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

This is post 27 of 31 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

Instrumenting iOS Apps III

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

This is post 26 of 31 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

Instrumenting iOS Apps II

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

This is post 25 of 31 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

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

Android Gestures

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

This is post 24 of 31 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

Responding to Android Toasts and Snackbars

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

This is post 23 of 31 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

Android Controls II

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

This is post 22 of 31 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

Android Controls I

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

This is post 21 of 31 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

Android User Actions III

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

This is post 20 of 31 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

Android User Actions II

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

This is post 19 of 31 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

Android User Actions I

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

This is post 18 of 31 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

Managing Android Packages

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

This is post 17 of 31 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

Instrumenting iOS Apps I

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

This is post 16 of 31 in the series “31 Days of Mobile Testing with TestComplete” Instrumenting iOS Apps Adding un-instrumenting iOS apps won’t get you far, even to use image-based testing. Running an un-instrumented iOS TestedApp from the IDE triggers an error dialog “The iOS application ‘your app’ cannot be started”. The app is installed to the device automatically and can be run manually from the device. Just not through TestComplete. The Object Browser won’t show anything below the device node and running the Mobile Screen shows this “Nobody’s home” message: How to Instrument iOS Apps in the TestComplete…

Read More

Instrumenting Android Apps II

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

This is post 14 of 31 in the series “31 Days of Mobile Testing with TestComplete” Instrumenting Android Apps II The TestedApps Instrument button is a handy way to prepare Android apps for testing, but not if there’s no one to press the button. To automate instrumentation, write script that adds a AndroidTestedApp to the TestedApps list automatically. This allows you to react to new builds or certificate changes without manual intervention. If you have an automated build process or continuous integration, TestComplete script can locate packages and certificates, then build instrumented packages on-the-fly. I have a simple Android app…

Read More

Image-Based Testing

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

This is post 9 of 31 in the series “31 Days of Mobile Testing with TestComplete” Image-Based Testing How do you test mobile apps if you don’t have direct access to its objects? If you’re testing iOS, have a seat, enjoy some coffee. Better yet, watch for the upcoming blog on instrumenting iOS mobile apps. You must have an instrumented app to test iOS mobile (for other than web based testing). If you’re testing Android apps, you have another tool in the arsenal: image-based testing using image sets. Image sets are collections of images that correspond to objects on the screen….

Read More

Ionic and Material Design, what’s the story?

By | Android, AngularJS, Cordova, CSS, HTML5, Ionic, iOS, JavaScript, Mobile, News | 4 Comments

Ionic is considered one of the most advanced HTML5 Mobile App Development Framework for building hybrid mobile applications. Ionic Apps are based on AngularJS and Cordova, and the framework’s components allow developers to create great looking mobile apps that could match their native counterparts. While Ionic equally supports iOS and Android, the development experience (and issues) slightly diverge between the two platforms. In this article, we are going to focus on Ionic and Material Design. Background Ionic 1.0 was released in May 2015. Since its inception, the platform incorporated the concept of Platform Continuity which translates into Platform-specific styles. This means that developers focus on building beautiful apps which…

Read More