Currently Browsing

Android

Can Chrome DevTools’ Device Mode be substitute for the Real device?

Every tester probably heard about Chrome Device Mode, if you didn’t, don’t worry, we will try to introduce you with it.
 
Open the Chrome DevTools and Toggle the Device Mode button Device Mode to turn Device Mode on or off. Device Mode will emulate your site across different screen sizes and resolutions. In Viewport Controls you can change the device for emulation or you can make your own custom device presets.
 
ViewportControls
It’s a very simple tool and easy to use, but if you need more details check out Google’s directions.

Make your manual testing faster with Vysor

Testing Android devices can be frustrating. Entering long texts, taking screenshots and screen recordings, transferring files from the Android device to PC, losing time just with putting down – picking up the deviceScreen capture from Vysor. All these things can be forgotten if You could use the Android device on your PC.
 
There are many apps available for screen mirroring and Vysor is one of them. Vysor is a Chrome extension developed by ClockworkMod. Because it’s a Chrome extension it is compatible with almost all operating system and devices. Vysor works using ADB (Android Debug Bridge). The Chrome app automatically detects any ADB-enabled device connected to the computer. With a few simple steps the phone or tablet screen will be available on the PC with full control over it. It has a free and a paid version. Free version, with screen mirroring and screenshotting, is probably enough for most of the users. If you want some more functionalities like higher quality mirroring, fullscreen mode, sharing, drag and drop option, paid version is for you.

 

How to set up Vysor?

Amazon web services – Device Farm

Device Farm is an app testing service that enables you to test your Android, iOS, and Fire OS apps on real, physical phones and tablets that are hosted by Amazon Web Services (AWS). Currently Device Farm allows you to run your own tests or built-in compatibility tests parallelly on the selected devices. The list below contains the test types on various platforms (from amazon.com):

Basic tutorial to setup a new project and test run

Once you are signed in, go to Amazon Console and click on Device Farm. Click on the Create New Project button and enter desired name for your project. Click on a newly created project and you will be automatically redirected to “Create new run” page. Upload your application what you want to test and click on the “Next step” to choose your test run type.

Getting started with Android automation testing

As the automation testing is more and more present in the development of web and desktop applications it is also taking more place in the mobile world. There are various tools and frameworks helping the testers out the job.
First of all it is necessary to get the Android SDK and those API levels which are running on the target devices. Check this link for Android SDK: http://developer.android.com/sdk/index.html. The recommended IDE for android development is the Android Studio, however the example in this guide is written in Eclipse. To add the android plugin to Eclipse follow this guide: http://developer.android.com/sdk/installing/installing-adt.html#Download.

It is possible to run the test cases both on real and virtual devices. In the case if the target device is a virtual one there are two options. The first and more traditional way is using the android emulator which comes with the SDK or the other one is using Genymotion.

Genymotion is an emulator offers the same functionality as the traditional one and even more, beside that the boot of these devices is much faster. It can definitely improve the performance of the tests. You can download here: https://www.genymotion.com/#!/store. It is recommend to add the Genymotion plugin to Eclipse to make the job easier. Find the details on this page: https://www.genymotion.com/#!/download#genymotion-eclipse.

Emulate mobile and tablet devices with ChromeDriver

Desktop version of Google Chrome allows to users to open webpages in mobile view. This means that you can emulate browsing on devices like Google Nexus 5, Apple iPhone 6 etc. You can find this feature in developer tools by clicking on the mobile icon.

Mobile emulation button

Mobile emulation button

Now ChromeDriver allows to use device emulation in automated tests also. This feature speeds up web development, allows developers to quickly test how a website will render on a mobile device, without requiring a real device or a virtual machine. You can find more information about it on the following link https://developer.chrome.com/devtools/docs/device-mode. The setup is very easy and it’s working really well. Below you can find a little test case which will introduce to you how to use ChromeDriver for emulate a mobile device and tablet. The test case simply enters “what is my browser” into the google search page, clicks on the first result and checks the device type what will be present on the website.

@DataProvider(name = "deviceName")
	public Object[][] deviceNames(){
		return new Object[][] {
				{"Google Nexus 5", "LG Nexus 5"},
				{"Apple iPhone 6", "Apple iPhone"},
				{"Google Nexus 10", "Samsung Nexus 10"}
		};
	}

	@Test(dataProvider = "deviceName")
	public void mobileEmulation(String deviceName, String deviceNameWhatIsMyBrowser){
		Map<String, String> mobileEmulation = new HashMap<String, String>();
		mobileEmulation.put("deviceName", deviceName);

		Map<String, Object> chromeOptions = new HashMap<String, Object>();
		chromeOptions.put("mobileEmulation", mobileEmulation);
		DesiredCapabilities capabilities = DesiredCapabilities.chrome();
		capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
		WebDriver driver = new ChromeDriver(capabilities);

		driver.get("http://www.google.com/ncr");
		//Enter my search
		driver.findElement(By.cssSelector("#lst-ib")).sendKeys("what is my browser");
		//Click on search button
		driver.findElement(By.cssSelector("#tsbb")).click();
		//Click on the first found result
		driver.findElement(By.xpath("//h3[@class='r']/a[text()='What browser am I using? Is my browser up to date? Web browser ...']")).click();
		//Get the device name from the website
		String deviceNameFromWebsite = driver.findElement(By.cssSelector(".string-extra-info")).getText();
		//Check the device name from the website
		Assert.assertEquals(deviceNameFromWebsite, deviceNameWhatIsMyBrowser, "The device name is not the expected one.");
		
		driver.quit();
	}	

Ranorex – is this tool the tester heaven?

What is Ranorex? Is this a medicine? 🙂

Ranorex is an automated testing tool which provides testing of Microsoft desktop apps, webpages and mobile applications. It supports wide range of technologies like .NET, WFA, WPF, Java, HTML5, Flash, iOS, Android, Windows apps (hybrid and native) and so on. You can perform cross-browser, data-driven, automated functional, regression, automated GUI and keyword-driver testing. The Ranorex software pack can be classified into a few big parts. Ranorex Studio is the main section. Ranorex Studio contains the main tools like Ranorex Recorder, Ranorex Repository and RanoreXPath. In this post we will introduce them generally in different sections.

Ranorex Studio

Ranorex Studio is the heart of the Ranorex ecosystem. If you are familiar with Microsoft’s Visual Studio you will know immediately how to use it. It has the same layout like Visual Studio 2008/2010.

Main view of the Ranorex studio

Main view of the Ranorex studio

Genymotion review

Genymotion is an Android tablet and phone emulator from the company Genymobile. It is available for Mac OS, Windows (x64/x86) and Linux platforms.

The description on the product page describing it as “Fast, simple and powerful” certainly fits it well. It boasts considerable speed, leaving its competitors in the dust. It boasts quite a number of pre-configured devices including Samsung Galaxy, Google Nexus, and Sony Xperia series of phones. You can also make a custom phone or tablet to suit your needs. The paid version offers additional powerful functions.

Some useful information for Android and IOS testing

This basic information wrote down in this post is maybe unneeded and not necessary for most of users, but just remember, when you got the first Android/IOS device and need to setup something. So the information below is a basic testing startup guide.

First important thing is to check your Android or IOS device system version. The possibilities are different for Android or IOS systems and the application settings are depending of the OS versions. It is very important to the developers to have the information, which device was used for testing and which characteristics they have.

Some thoughts on Sauce

We’re started using this service a long time ago, and I can say they improved a lot in the recent years.
It became a reliable cloud system for running automated tests and for manual testing with a wast amount of virtual machine/browser combinations and what I love about them that almost everything is documented.

sc1

Mobile testing and screenshots/videos transfer

In my previous post I have described the method with which we take screenshots or videos during the mobile testing. Taking the screenshot or video is only the first step.
The next step is transferring the screenshots to your computer.

If you use only one mobile device for testing, the best and fastest way is to connect the device directly to the computer. After the device was connected just copy-paste the images.
Now imagine that you have 5-6 devices, and you need to connect each one and copy the images. Very slow…