Перейти к содержимому

Фотография

Запуск тестов одновременно на нескольких девайсах


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 kate_grek

kate_grek

    Новый участник

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Grek Kate

Отправлено 13 декабря 2013 - 15:25

Доброго времени суток, форумчане!

Я перешла на новый проект, мобильный проект для общения, в общем-то чат.
Стал вопрос автоматизации и конечно же средства автоматизации. Но загвоздка в том,что автоматизировать придется не только UI, но взаимодействие двух девайсов между собой (т.е. переписка в чате, получение уведомлений от участников чата).

Может кто сталкивался, какое средство можете посоветовать, которое допускало бы запуск тестов на нескольких девайсах одновременно, или может симулировало несколько девайсов?
Может кто знает, поможет ли мне в этом нелегком деле Calabash и Cucumber?

Буду признательна за ответ.
  • 0

#2 anym0us

anym0us

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Черемушкин Дмитрий

Отправлено 13 мая 2014 - 20:44

Здравствуйте,

Да, возможно. Ниже — решение для сalabash-android.

 

Замените содержимое файла features/support/app_installation_hooks.rb в проекте фрагментом ниже.

 

require 'calabash-android/management/app_installation'


AfterConfiguration do |config|
  FeatureNameMemory.feature_name = nil


  @@device1 = Calabash::Android::Operations::Device.new(
    self, ENV["ADB_DEVICE_ARG1"], "34801", ENV["APP_PATH"], ENV["TEST_APP_PATH"], 7103)


  @@device2 = Calabash::Android::Operations::Device.new(
    self, ENV["ADB_DEVICE_ARG2"], "34802", ENV["APP_PATH"], ENV["TEST_APP_PATH"], 7104)
end


Before do |scenario|
  @scenario_is_outline = (scenario.class == Cucumber::Ast::OutlineTable::ExampleRow)
  if @scenario_is_outline 
    scenario = scenario.scenario_outline 
  end 


  feature_name = scenario.feature.title
  if FeatureNameMemory.feature_name != feature_name \
      or ENV["RESET_BETWEEN_SCENARIOS"] == "1"
    if ENV["RESET_BETWEEN_SCENARIOS"] == "1"
      log "New scenario - reinstalling apps"
    else
      log "First scenario in feature - reinstalling apps"
    end
    
    @@device1.reinstall_apps
    @@device1.start_test_server_in_background


    @@device2.reinstall_apps
    @@device2.start_test_server_in_background
    set_default_device(@@device1)


    FeatureNameMemory.feature_name = feature_name
  FeatureNameMemory.invocation = 1
  else
    FeatureNameMemory.invocation += 1
  end
end


FeatureNameMemory = Class.new
class << FeatureNameMemory
  @feature_name = nil
  attr_accessor :feature_name, :invocation
end

inspired by http://blog.lesspain...e-Android-Apps/


  • 0

#3 anym0us

anym0us

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Черемушкин Дмитрий

Отправлено 14 мая 2014 - 08:04

Да, переключаться между устройствами во время теста так:

 

set_default_device(@@device1)

set_default_device(@@device2)


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных