t.me/atinfo_chat Telegram группа по автоматизации тестирования

Общий тестовый фреймворк для Mobile и Web (Appium + Selenium)

framework
page-object
web
ios
android
selenium
mobile
appium
Теги: #<Tag:0x00007f9c5af66028> #<Tag:0x00007f9c5af65e98> #<Tag:0x00007f9c5af65d30> #<Tag:0x00007f9c5af65ba0> #<Tag:0x00007f9c5af65970> #<Tag:0x00007f9c5af655d8> #<Tag:0x00007f9c5af65100> #<Tag:0x00007f9c5af64f20>

(Igor Balagurov) #21

Я тоже не критикую, даже интересно.

  1. Это в первую очередь демонстрация подхода, техническая реализация только, чтобы попробовать сам подход, посмотреть взлетит или нет, без over-engineering: конкретно на Вашем проекте какие есть сложности, особенности. В продакшене совсем другой код - это проект-поделка.
  2. Про большее из зол(UX) - большая часть презентации.
  3. Конкретизируй, что именно сыро.
  4. Что не так? А как надо?

P.S. Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds


(vmaximv) #22

То, что вы выносите платформенные детали реализации в степы:

Steps
def perform_some_action():
  if config.test_run.IS_MOBILE:
    if config.test_run.IS_ANDROID:
      if config.test_run.PLATFORM_VERSION < 25:
        item.tap()
      else:
        item.longPress()
    if config.test_run.IS_IPHONE
      item.swipeLeft()
    if config.test_run.IS_IPAD
      item.doubleTap()
  else:
    item.click()

Пример синтетический - но на практике все может быть гораздо хуже.


(Igor Balagurov) #23

Когда так разрастается (вообще какой угодно продукт, код) -> рефакторинг - это естественно(тут выбираете вариант по вкусу, чтобы вы кстати выбрали?). Можно заранее конечно, но это риск написать лишних ненужных абстракций. Да и опять же для демонстрации…

А вообще степы в данном подходе как раз для описания разного UX и используются и именно в разрезе этого слоя и можно посмотреть насколько отличается поведение на разных платформах.
Слишком сложно (как в этой синтетике) -> да я охерею, как пользователь, если у меня на телефоне и планшете постоянно надо разные действия совершать, повод задуматься, может это UX баг? Мы кстати ловили какие-то несогласованности именно когда какие-то методы в степах разрастались, общались, приходили к выводу, что пользователь будет несчастен и потом исправляли.


(Igor Balagurov) #24

Кстати видео в открытый доступ подъехало: