Mobile Automation Testing URL Notes

Speeding up Test Execution with Appium

https://www.thoughtworks.com/insights/blog/speeding-test-execution-appium
Use SeleniumGrid can start multiple Appium server with different ports.
The goal is to execute automation testing in multiple devices with distribute or parallel.
Roadmap
1. Implement parallel run at method level. Currently, when the execution mode is set to Distribute, the tests are distributed at class level to the devices. In future, the scope is to distribute tests at method level.
2. Implement parallel run for iOS real devices for Native,Hybrid and Web apps. Current scope is to run tests in parallel across Android devices. The same implementation will be added to iOS real devices.
3. Implement ScreenCast as attachment for Android tests. Current scope is to attach a screenshot on failure to the reports, with future improvements to include adding screen-recording as well for test failures
4. Image Comparison for UI Verification(using ImageMagick API). Add visual assertions to compare two images and validate

The framework does generate detailed HTML reports (using Extent API) which includes AppiumServerLogs and ADBLogs. For test failures, it includes screenshots.

Project links
• Take a look @ the repo AppiumTestDistribution
• Sample Test Project GitHub link to the sample example
Reference links
• Extent Reports
http://appium.io
• WordPress Android App
• How appium works for Android and iOS
• Setup of Appium on OSX and Windows

Android Developer Helper Web Site

Android developer web site is great and helpful web site. You can get most of information from it.

Command Line Tools

The Android SDK tools available from the SDK Manager provide additional command-line tools to help you during your Android development. The tools are classified into two groups: SDK tools and platform tools. SDK tools are platform independent and are required no matter which Android platform you are developing on. Platform tools are customized to support the features of the latest Android platform.
https://developer.android.com/studio/command-line/index.html

Content Providers

Content providers manage access to a structured set of data. They encapsulate the data, and provide mechanisms for defining data security. Content providers are the standard interface that connects data in one process with code running in another process.s
https://developer.android.com/guide/topics/providers/content-providers.html

Test Your App

Android Studio is designed to make testing simple. With just a few clicks, you can set up a JUnit test that runs on the local JVM or an instrumented test that runs on a device. Of course, you can also extend your test capabilities by integrating test frameworks such as Mockito to test Android API calls in your local unit tests, and Espresso or UI Automator to exercise user interaction in your instrumented tests. You can generate Espresso tests automatically using Espresso Test Recorder.
https://developer.android.com/studio/test/index.html

Intent

An intent is an abstract description of an operation to be performed. It can be used with startActivity to launch an Activity,broadcastIntent to send it to any interested BroadcastReceiver components, and startService(Intent) orbindService(Intent, ServiceConnection, int) to communicate with a background Service.
An Intent provides a facility for performing late runtime binding between the code in different applications. Its most significant use is in the launching of activities, where it can be thought of as the glue between activities. It is basically a passive data structure holding an abstract description of an action to be performed.
https://developer.android.com/reference/android/content/Intent.html

monkeyrunner

The monkeyrunner tool provides an API for writing programs that control an Android device or emulator from outside of Android code. With monkeyrunner, you can write a Python program that installs an Android application or test package, runs it, sends keystrokes to it, takes screenshots of its user interface, and stores screenshots on the workstation. The monkeyrunner tool is primarily designed to test applications and devices at the functional/framework level and for running unit test suites, but you are free to use it for other purposes.
https://developer.android.com/studio/test/monkeyrunner/index.html

ADB Shell Commands

The Android Debug Bridge (adb) provides a Unix shell that you can use to run a variety of commands on an emulator or connected device. The command binaries are stored in the file system of the emulator or device, at /system/bin/…
https://developer.android.com/studio/command-line/shell.html#shellcommands

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值