Size: a a a

Мобильное тестирование с Appium

2020 May 06

MB

Mikhail Barinov in Мобильное тестирование с Appium
Vika_JuniorQA
@us_for  покажите пожалуйста
Вот метод для видео. Я декодирую виидео и прикладываю его в отчёт:
@pytest.fixture
def save_video(appdriver):
   video_name = time.strftime('%Y_%m_%d_%H%M%S')
   filepath = os.path.join(f’~/src/attachments/{video_name}.mp4')
   video_rawdata = appdriver.stop_recording_screen()

   with open(filepath, 'wb') as file:
       file.write(base64.b64decode(video_rawdata))
       file.close()

   allure.attach.file(source=f’~/src/attachments/{video_name}.mp4',
                      name=f'{video_name}', attachment_type='video/mp4')

А вот мой вызов драйвера:
@pytest.fixture
def appdriver():

   driver = platform.get()
   if platform.IS_IOS:
       driver.start_recording_screen(videoQuality='high', videoType='mpeg4', videoFps='24')
   else:
       driver.start_recording_screen()

   yield driver

   attach_device_log(driver)
   save_video(driver)
   driver.quit()

Всё что до yield это setUp, а после yield - tearDown. В таком порядке у меня всегда есть видео прохождения теста, и не важно успешен он или нет.
источник

MB

Mikhail Barinov in Мобильное тестирование с Appium
Напишите, помогло или нет. Перевети код в Java (или какой вы используете) не сложно. Я постянно так делаю, только наоборот 😁
источник

MB

Mikhail Barinov in Мобильное тестирование с Appium
Коллеги, а кто нибудь пробовал автоматизировать миграции приложения с помощью Appium?
источник
2020 May 07

K

Kirill in Мобильное тестирование с Appium
Mikhail Barinov
Вот метод для видео. Я декодирую виидео и прикладываю его в отчёт:
@pytest.fixture
def save_video(appdriver):
   video_name = time.strftime('%Y_%m_%d_%H%M%S')
   filepath = os.path.join(f’~/src/attachments/{video_name}.mp4')
   video_rawdata = appdriver.stop_recording_screen()

   with open(filepath, 'wb') as file:
       file.write(base64.b64decode(video_rawdata))
       file.close()

   allure.attach.file(source=f’~/src/attachments/{video_name}.mp4',
                      name=f'{video_name}', attachment_type='video/mp4')

А вот мой вызов драйвера:
@pytest.fixture
def appdriver():

   driver = platform.get()
   if platform.IS_IOS:
       driver.start_recording_screen(videoQuality='high', videoType='mpeg4', videoFps='24')
   else:
       driver.start_recording_screen()

   yield driver

   attach_device_log(driver)
   save_video(driver)
   driver.quit()

Всё что до yield это setUp, а после yield - tearDown. В таком порядке у меня всегда есть видео прохождения теста, и не важно успешен он или нет.
Спасибо, на будущее пригодится!
источник
2020 May 09

V

Vika_JuniorQA in Мобильное тестирование с Appium
Пробую написать метод для записи видео прохождения теста и потом прикрепить к отчету Allure, но видео не пишется и к тесту не прикрепляется. Помогите разобраться пожалуйста
источник

K

Kirill in Мобильное тестирование с Appium
Vika_JuniorQA
Пробую написать метод для записи видео прохождения теста и потом прикрепить к отчету Allure, но видео не пишется и к тесту не прикрепляется. Помогите разобраться пожалуйста
Фикстуры от Михаила выше не смотрели?
источник

V

Vika_JuniorQA in Мобильное тестирование с Appium
@ricefields Я на Java и не очень понимаю весь код,прошу помощи разобраться
источник

V

Vika_JuniorQA in Мобильное тестирование с Appium
@us_for Не очень понимаю код,можно немного пояснить и может я вопросы задам??
источник

MB

Mikhail Barinov in Мобильное тестирование с Appium
Vika_JuniorQA
@us_for Не очень понимаю код,можно немного пояснить и может я вопросы задам??
Конечно спрашивай)
источник

AC

Alice Carroll in Мобильное тестирование с Appium
Vika_JuniorQA
@us_for Не очень понимаю код,можно немного пояснить и может я вопросы задам??
Блин, тут телепаты что ли собрались?
Дай код, опиши нормально что делаешь и что не получается/где ошибка
Как вы такие вообще QA работаете
источник

MB

Mikhail Barinov in Мобильное тестирование с Appium
Alice Carroll
Блин, тут телепаты что ли собрались?
Дай код, опиши нормально что делаешь и что не получается/где ошибка
Как вы такие вообще QA работаете
Он спрашивает по моему коду. Мб просто джавист или адепт иного языка. Я пишу на питоне и видимо он не понятен Вике.
источник

MB

Mikhail Barinov in Мобильное тестирование с Appium
Vika_JuniorQA
@us_for Не очень понимаю код,можно немного пояснить и может я вопросы задам??
Что именно не понятно? Спрашивайте тут, чтобы другим джавистам (адептам других языков) было понятно на будущее. Либо если вопросы иные, тогда в личку. Но я придерживаюсь чата, чтобы другие ребята могли найти ответы на свои вопросы. Мне в свое время (да и сейчас в некоторых вопросах) такого не хватает :(
источник

V

Vika_JuniorQA in Мобильное тестирование с Appium
@us_for Я сначала бы хотела еще раз уточнить,что делает ваш код?
источник
2020 May 10

AR

Andrey Romanchuk in Мобильное тестирование с Appium
Mikhail Barinov
Вот метод для видео. Я декодирую виидео и прикладываю его в отчёт:
@pytest.fixture
def save_video(appdriver):
   video_name = time.strftime('%Y_%m_%d_%H%M%S')
   filepath = os.path.join(f’~/src/attachments/{video_name}.mp4')
   video_rawdata = appdriver.stop_recording_screen()

   with open(filepath, 'wb') as file:
       file.write(base64.b64decode(video_rawdata))
       file.close()

   allure.attach.file(source=f’~/src/attachments/{video_name}.mp4',
                      name=f'{video_name}', attachment_type='video/mp4')

А вот мой вызов драйвера:
@pytest.fixture
def appdriver():

   driver = platform.get()
   if platform.IS_IOS:
       driver.start_recording_screen(videoQuality='high', videoType='mpeg4', videoFps='24')
   else:
       driver.start_recording_screen()

   yield driver

   attach_device_log(driver)
   save_video(driver)
   driver.quit()

Всё что до yield это setUp, а после yield - tearDown. В таком порядке у меня всегда есть видео прохождения теста, и не важно успешен он или нет.
def appdriver ():

Инициализация вебдрайвера. Смотрите, где в вашей библиотеке или кастомной обёртке создаётся дайвер. Тут добавляем запись видео.

Потом на Яве - вам нужен Allure Listener, который будет ждать событие success или failed в тесте, и в этот момент останавливать запись видео и сохранять его в файл.

Если нужны примеры на джаве - спросите завтра.
источник

MB

Mikhail Barinov in Мобильное тестирование с Appium
Vika_JuniorQA
@us_for Я сначала бы хотела еще раз уточнить,что делает ваш код?
Андрей все правильно сказал) Тем более он может показать пример на Java. Если же нужно пояснить какую то строчку - то уточните какую.

Касаемо метода def appdriver - да, это именно иницииализация запуска веб драйвера. Все что до yield это setUp - если вы испольщуете JUnit, то там это @Before, там где yield - это сами тесты, а после yield это tearDown, аналогия в JUnit @After. Вот именно тут и происходит конвертация видео и прикладывание его в отчет (смотри первый метод save_video).
источник

M

Mytrofun in Мобильное тестирование с Appium
Никто случаем не встречал разбор UiSelector с примерами для чайникофф?
есть элемент, а надо по его дедушке кликнуть
источник

V

Vika_JuniorQA in Мобильное тестирование с Appium
Andrey Romanchuk
def appdriver ():

Инициализация вебдрайвера. Смотрите, где в вашей библиотеке или кастомной обёртке создаётся дайвер. Тут добавляем запись видео.

Потом на Яве - вам нужен Allure Listener, который будет ждать событие success или failed в тесте, и в этот момент останавливать запись видео и сохранять его в файл.

Если нужны примеры на джаве - спросите завтра.
Привет)Я хочу разобраться как делать видео при прохождении теста,сейчас для Mobile, потом для Web. И затем прикреплять их к отчету Allure.Буду благодарна,если ты мне поможешь )
источник

F

Frion-seo in Мобильное тестирование с Appium
Mytrofun
Никто случаем не встречал разбор UiSelector с примерами для чайникофф?
есть элемент, а надо по его дедушке кликнуть
ну так  xpatch тебе в помощь
источник

AY

Arsen Yuri4 in Мобильное тестирование с Appium
привет, ребята может кто то сталкивалсяс такой проблемой с аппиумом, при установке на реальный девайс выдает ошибку
[MJSONWP] Encountered internal error running command: Error: Could not install app: 'Unexpected data: {"Error":"ApplicationVerificationFailed","ErrorDetail":-1,"ErrorDescription":"Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.XlJNzR/extracted/Instasize.app : 0xe8008018 (The identity used to sign the executable is no longer valid.)"}'
[MJSONWP]     at IOSDeploy.install (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-xcuitest-driver/lib/ios-deploy.js:41:13)


appium 1.15.1
xcode 11.4.1
iphone 11 - 13.3.1

все работало ок, внезапно после перезагрузкт все отвалилось
источник

AY

Arsen Yuri4 in Мобильное тестирование с Appium
ключи все отвязывл удалял потом заново подвязывал
источник