Рубрики
Без рубрики

Android: автоматизированная совместимость тестирования

Он рассказывает о: 1. Почему тестирование совместимости на Android? 2. Методы испытаний совместимости 3. Создайте сценарию автоматизации тестирования совместимости

Автор оригинала: CukeTest.

Содержание

  • Зачем делать тестирование совместимости для Android?
  • Методы испытаний совместимости
  • Создать сценарию автоматизации тестирования совместимости

Зачем делать тестирование совместимости для Android?

Как известно, на рынке тысячи разных устройств Android. С разными версиями ОС, размеры экрана и производствами, комбинации их огромны. В Китае ситуация хуже, крупные производители мобильных телефонов глубокие настройки Android OS, которые создают больше «версий ОС». Поэтому особенно важно делать тестирование совместимости перед выпуском приложения Android.

Испытание совместимости в основном относится к тестированию основных функций приложений, проверьте, нормально ли работает эти функции на всех устройствах Android, которые претендуют на программное обеспечение для поддержки. С таким большим количеством диверсифицированных устройств, вероятно, здесь произойдет некоторые исключения, и там произойдет, если приложение не проверяется на этих устройствах.

Методы испытаний совместимости

Существует три основных метода для тестирования совместимости: ручное тестирование, автоматическое тестирование и тестирование облачных платформы:

  • Ручное тестирование – это тест, который выполняется вручную на нескольких устройствах.
  • Автоматизированный тест в основном использует устройства, подключенные к вашему компьютеру для проверки установки, удаления, устойчивости и основных функций проверенного приложения.
  • Тестирование облачных платформ использует облачную платформу общественного устройства для выбора моделей устройств, а затем выполняет тестирование совместимости. После того, как один загружает приложение для проверки, тест на этих устройствах может быть либо вручную, либо автоматически.

Здесь мы в основном говорим о тестировании автоматической совместимости со своими собственными устройствами. Как только вы знаете, как это сделать, он не будет другим делать это аналогично на облаке общего устройства, которое обычно обеспечивает больше устройств.

Создать сценарию автоматизации тестирования совместимости

Одним из наиболее распространенных тестируемых сценарий является проверка установки/удаления приложения на устройстве Android, и может быть ли он успешно запущен на целевом устройстве.

Мы можем использовать АБР Команда выполнять установку и удаление, которая является Commnoly, используемая разработчиками. Например, у нас есть Test.apk установочный пакет с именем приложения «com.sample.app», он имеет деятельность МАКТИВНОСТЬ Отказ

# install 
adb install test.apk

# start test
adb shell am start -n com.sample.app/.MainActivity

# uninstall 
adb uninstall com.sample.app

# install with overwrite
adb install -r test.apk

Вышеуказанные команды могут устанавливать, запускать приложение и удалить приложение. Однако с этими командами только одно устройство можно проверить одновременно.

Чтобы запустить тот же тест на нескольких устройствах, особенно в сценарии непрерывной интеграции (CI), где новая сборка приложения должна быть проверена на ежедневных базах, лучший способ – использовать сценарий автоматизации, чтобы проверить его, запустить один Скрипт, проверьте все доступные устройства. Сценарий автоматизации разработан с Cuketest Инструмент для этой цели.

Чтобы настроить экологичность, пожалуйста, сначала настройте Android SDK (проверьте информацию в Интернете о том, как установить SDK)

Затем вы можете выполнить следующие шаги:

  1. Открытый Cuketest, файл -> новый проект; Выберите Базовый проект для типа проекта, заполните информацию о проекте и завершите создание.

  2. Выполнить NPM установить Adbkit -save В корневом каталоге проекта установка пакета «Adbkit» Node.js. Это пакет Node.js, который может запустить инструмент ADB Shell. Больше информации этого пакета можно найти на https://github.com/Openstf/adbkit Отказ

  3. Измените файл функции по умолчанию, заполните следующие функции/функции1.

Feature: Devices Compatibility Test
Android phone install and uninstall

  Scenario: Install and Run app
    Given Get device information
    And install apk package
    And start MainActivity
    Then Uninstall the app

Установите Timeout по умолчанию для шагов в функциях/поддержки/ENV.JS

const { setDefaultTimeout } = require('cucumber')

// set default timeout to 60 seconds
setDefaultTimeout(60 * 1000);

Содержание редактирования сценария для функций/step_definations/despinape1.js

const { Given, When, Then } = require('cucumber');
const path = require('path');
var adb = require('adbkit');
var client = adb.createClient();
var devices = [];

Given(/^Get device information$/, async function () {
    devices = await client.listDevices();
    console.log("devices:", devices)
});

Given(/^install apk package$/, async function () {
    let apkpath = path.join(__dirname, '../../apks/app-release.apk');

    for (let device of devices) {
        try {
            await client.install(device.id, apkpath)
            console.log("install ", apkpath, "to device", device.id);
        } catch (e) {
            console.log(device.id, "cant install the apk;")
        }

    }
});

Given(/^start MainActivity$/, async function () {
    options = {
        wait: true,
        component: "com.reactapp/.MainActivity"
    }
    for (let device of devices) {
        try {
            //start activity
            await client.startActivity(device.id, options)
        } catch (e) {
            console.log(device.id, "cant start the activity")
        }
    }
});

Then(/^Uninstall the app$/, async function () {
    let pk = 'com.reactapp'
    for (let device of devices) {
        await client.uninstall(device.id, pk)
    }
});

Сценарий и код выглядят следующим образом:

Сценарий1.png.png.

И структура каталогов выглядит как ниже:

3.png.

После нажатия кнопки «Запустить», она может начать тестирование совместимости пакетов на всех подключенных телефонах Android, и вы можете получить выход консоли в качестве отчета.

Резюме

Использование скрипта автоматизации JavaScript вместо команд RAW ADB облегчает работу на нескольких устройствах. И преобразование его в скрипт BDD, вы получите еще лучшее читаемость для скрипта, и вы также можете добавить больше сценариев после сценария установки в этот сценарий автоматизации, чтобы проверить больше поведения приложения.