Mobile Game automation testing using Appium,Opencv and Bitbar Akaze (Image Recognition) - testing

I want to learn how to test mobile games using Appium, so i found it could be done using Image Recognition.
I found this https://bitbar.com/appium-tip-27-using-appium-for-mobile-game-testing/
I'm truly stuck in it
couldn't understand what i should do or add in Eclipse to test mobile games using Appium.
If anyone know how to test mobile game using Appium rather than Image Recognition please tell me.
Please, if any one have any tutorial or a clear steps of mobile game testing automation tell me.

Appium is not a good option (unless you are ok with image recognition approach) to test mobile games. Appium is using native test frameworks like UIAutomator, Espresso (Android) and XCUITest (iOS), that are basically implemented to test apps build with native SDK
Mobile games are mostly build with engines like Unreal, Unity, Corona ,etc. that have no relation to native SDK and thus cannot be tested with native test frameworks without additional tweaks.
Basically following issues to be addressed and add support for:
find elements
check action occurring in game
check UI rendered
properly
There are some projects where engineers are trying to use Appium with some additional ports, e.g. Unity-Appium, but there is definitely nothing like Appium or Selenium that you can take and use like silver bullet.
Check the engine your game is based on and search for possible test frameworks.

Related

Is that possible test flutter apps with WebdriverIO?

Can I test flutter app (for example in apk) using WebdriverIO?
I saw there is a flutter driver for Appium. Is it supported with WebriverIO as well? How is it handled?
Yes you can. You have to use Appium Automation to interact with your Flutter mobile app.
Setup your own WebdriverIO Appium project, or start from a featured boilerplate, as such.
Integrate the appium-flutter-driver into your project and start using it inside your test cases.
LE: Alternatively, you can try SauceLab's Appium-Flutter-Driver implementation using WebdriverIO. See it here.
You can find multiple examples online for configurations. A simple Google search even gives you a full video tutorial on how to setup everything.

How to test mobile apps on different devices

I want to test my IOS,Android and hybrid apps on various virtual devices. Please suggest me a good tool that can perform these functions.
We currently use Genymotion for testing with Android and XCode's simulator for iOS. These will allow you test a wide range of iOS/Android devices.
If you are looking for one tool to test both iOS and Android I believe Visual Studio's Xamarin supports both, there is also a browser based solution with appetize.io. I haven't used either of those so can't comment on if they are any good.
You can make use of chrome developer toolbar it has most of the device options like device horizontal/Vertical, Zoom
You get the different versions along with the different screen sizes in the simulator which you are working.
Eg: IOS(xcode) when you build it you get which version to build when running the application. Same for Android and hybrid apps

Automate iOS application with amCharts element using Appium or Perfecto

Is it possible to automate iOS native application with amCharts elements using Appium or Perfecto ? [Sample amChart]
Perfecto is just mobile device cloud provider, where you can use Appium: so does not affect the possibility.
It may be tricky to parse amCharts for Appium just as it may be tricky to do so for XCUITest (that Appium use for iOS interactions). Since its Objective C wrapper chances are pretty good, but still you will be able to get only numbers and element position in best case.
I suggest to install appium-desktop, start session with your app and make screen snapshot. If appium won't parse it, you may try do it directly in XCode with XCUITest and maybe you need to add some attributes for parsing via Appium

How to do automatic, on device tests for react native application?

I want to create automatic tests for an application written in react native. I want to test only logic (not the UI).
Jest seems to be great solution for unit or even integration tests which will be run on a computer. But I would like to test the application on a real device. I have a component without UI that does some logic, wireless communication with other devices etc. I need to test that communication especially, which cannot be done without a device.
Are there any frameworks or standard solutions to do such thing?
Ok, I did my research about testing react native applications.
At the moment ReactNative doesn't provide a platform independent test framework that could run integration (not UI) tests on real device. In fact there is a RCTTestRunner but it's functionality is limited and it works only for iOS devices.
Functional tests
There are multiple functional test frameworks. These tests mainly depend on UI components and are used for black-box testing of user interactions. There are two mature cross platform frameworks that could be used for that: Calabash and Appium. Appium seems to be better solution as it's a single tool for both platforms (Calabash is actually set of two projects for iOS and Android). Also Appium supports multiple languages (JavaScript, Python, Java, ...) when Calabash supports only Ruby.
There is also a Cavy project that looks promising but uses React ref generating functions in a hacky way and needs multiple modifications in the application code.
But all of that is intended to do only UI testing.
Workaroud solution
The solution which I used to test logic of the application (without being influenced by UI changes) is following. I created special version of the application (by creating new target) which have replaced the main UI component with test one. That test component runs on the top of the application. It is just triggering tests and displaying the logs. These logs are then read and parsed by functional test framework to produce the report.

Mobile test automation tools recommended in industry

Please suggest the recommended open source tools for mobile automation testing which supports ios and android?
For Android I would recommend
UI automator framework and Robotium
I recommend Monkeytalk. Try it-
http://www.gorillalogic.com/monkeytalk
It has very good online documentation and tutorials.
I would recommend to use appium: http://appium.io/ which is open source, cross-platform test automation tool for native, hybrid and mobile web apps
Selenium webdriver is good for Android as well as iphone.
On iphone it works slowly but accurate result.
Appium is really coming up in these days to capture Android and IPhone mobile automation market though it has some limitation for Android automation like support for Toast messages is missing etc.
Robotium can be a good choice for Android automation as it comes with a flexible API with a large number of utility methods included inside.
If you looking to automation Android or IPhone Web applications, Selenium Android Driver and IPhone driver can be a good choice.
Today you have plenty of approaches, you can use Appium as everyone said, here you have the advantage that is similar to Selenium and same code can run for Android and iOS. It's black box testing and it's slow, 8 times more slow than native approaches.
So, you have native approaches, Espresso for Android and XcuiTest for iOS. This approaches are faster that Appium and are white or grey box testing. The disadvantage is that you need to code Java/Kotlin and Swift for the tests and maybe you testers have no skills in this languages but developers can help.