Мой баг дня (записки тестировщика)
243 subscribers
169 photos
23 videos
11 files
126 links
Precondition:
Repro steps:
1. ...
2. ...
3. ...
Expected: good
Actual: bad

Связь: @MyachinDA
Download Telegram
Есть у меня читатели из ВК? У вас возраст на банере и возраст в описании отличаются. 18+ или 16+ в итоге?
Исправите, пока РКН не пришёл.
Когда-то давно, когда я только вкатывался в автоматизацию и в программирование в целом, у меня очень часто что-то не работало, хотя мне казалось, что код написан правильно. Нет, всякий раз это были мои ошибки, а не библиотек или чего-то ещё.

Прошло несколько лет. Каждый, сука, раз, это ошибки библиотек теперь, а не мои.

Я не могу запустить тест из командной строки правильным способом: adb shell am instrument -w -e class xyz.myachin.letsappsbeupdated.rustore.tests.RuStoreDescriptionTest#whatsNewTestRuStore xyz.myachin.letsappsbeupdated.test/androidx.test.runner.AndroidJUnitRunner

Получаю, что OK, 0 тестов выполнено. Хотя раньше всё работало.

А проблема в том, что в Google сломали такой способ запуска ПАРАМЕТРИЗИРОВАННЫХ тестов. Не параметризированные работают по-прежнему.

https://issuetracker.google.com/issues/321752267

Судя по приоритетам и важности, исправления будем ждать долго.
👍6
Последние 2 пункта
👍13
Если вы ловите исключение java.lang.IllegalAccessError: class com.google.protobuf.GeneratedMessageV3 tried to access method 'boolean com.google.protobuf.CodedInputStream.shouldDiscardUnknownFields()' (com.google.protobuf.GeneratedMessageV3 is in unnamed module of loader java.net.URLClassLoader @4cd1c1dc; com.google.protobuf.CodedInputStream is in unnamed module of loader 'app')

то это не вы дурак. Это опять всё сломали в Андирод 15. Причём ещё в дев превью.

https://github.com/protocolbuffers/protobuf/issues/19371
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Решил я посмотреть итоги года в Я.Музыке, пока ждал жену. А там рядом кружок танцев для детей и десяток мам ждут своих. Я не знал, что итоги будут с музыкой, которая у меня была на полную громкость. Ткнул в кнопку и как оно включилось.

Наверное не надо в фон 18+ ставить из прослушанного. И не надо по умолчанию звук включать.
👍9🤡6
This media is not supported in your browser
VIEW IN TELEGRAM
Вот хочу освоить ЯП со встроенной поддержкой создания GUI. Решил взять Flutter, потому что стильно, модно, молодёжно. Написал программу, которая разбирает экран Android на элементы: https://gitea.myachin.xyz/umnik/android-ui-viewer

Недавно вернулся к автотестам на проекте и потребовалось улучшить программу:
- поддерживать несколько подключенных устройств
- обновлять экран без необходимости перезапуска программы

Поправил код, создал бранч https://gitea.myachin.xyz/umnik/android-ui-viewer/src/branch/new-features Меня уже устраивает, как он работает. Но не нравится, что вьюхи у меня списком, надо бы дерево.

Разобрался, как разбирать деревья, как их строить. Смотрю, что во Флаттер есть РОДНОГО для отрисовки деревьев. Рекомендуется использовать TreeSliver https://api.flutter.dev/flutter/widgets/TreeSliver-class.html

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

Продолжение в комментарии.
👍4
ГОТОВО ДЛЯ РАБОТЫ! https://github.com/flutter/flutter/issues?q=is%3Aopen+label%3Aframework+label%3Ap1%2Cp2+-label%3Ateam-accessibility+label%3A%22has+reproducible+steps%22+-label%3A%22workaround+available%22+-label%3A%22waiting+for+PR+to+land+%28fixed%29%22+-label%3Aplatform-ios+-label%3Aplatform-web+-label%3Aplatform-android
Почти тысяча багов первого и второго приоритета на Flutter, для которых есть шаги воспроизведения, нет (не предложено) обходных решений, которые воспроизводятся на любой платформе, а не на конкретных, для которых нет фикса и при этом они не относятся к accessibility
👍10
Обновил приложение для разбора экрана Android для тех, кто пишет не на Espresso и не на Appium. Ну или кому просто интересно посмотреть на структуру приложения.

Изменения (не то, чтобы вы знали, что было в прошлый раз):
- Фьючеры и асинхронность
- Может быть подключено сколько угодно устройств, начиная с ни одного - эти ситуации обрабатываются
- Отдельная кнопка для перечитывания экрана заново
- Имитация дерева вьюх. Сделаю нормальное дерево, когда Google баг исправит: https://t.me/mydaybug/501
👍3
Screencast_20250210_192541.webm
1.7 MB
Подлянки от РуСтора:
- Если не хочешь ничего устанавливать из списка рекомендаций - запрос всё равно будет каждый раз при новом запуске. Ну, может после десятка-двадцатка-сотни раз уйдёт, но я не дождался
- Тротлинг загрузок! Негоже открывать приложение больше Х раз - ловишь блокировку. Теперь надо ждать, пока с меня ограничение не снимут

Вам запрещено запускать приложение, просто вдумайтесь в это.
🤡4
Ну, падение исправили, придраться не могу
👍6
О локализационном тестировании. В оригинале Discard и Cancel, так что переведено правильно, как бы, но нам очевидно, что неправильно.

Проблема в том, что для русского и других языков здесь нужен другой строковой ресурс, а не общий. То есть, к примеру, в приложении есть куча этих discard и cancel и для них есть ресурс R.string.discard и R.string.cancel. И есть переводы этих ресурсов на десятки языков. С точки зрения разработчика всё хорошо, потому что на его языковой группе всё хорошо работает.

Но плохо для некоторых других языковых групп. Чтобы это исправить, нужно завести новые ресурсы типа R.string.delete_dialog_{discard,cancel}. И для языковой группы разработчика тут будут те же самые слова (и с его точки зрения это бесполезная работа, потому он её и не делает), а вот для нашей тут будут «Да» и «Нет».

В итоге в крупных проектах с разными языками получается куча дублирующих ресурсов и становится даже не понятно, так нужно или это ошибка. Возникает желание "одинаковые" слова слить в один ресурс.
👍2
Забавно получается
👍5
Очень-очень плохой пуш или вообще просто джоба сработала. Нельзя переобуваться! И даже до снегопадов, которые сейчас пошли, нельзя было. См. правило о среднесуточной температуре.
👍6
Media is too big
VIEW IN TELEGRAM
Странное поведение этого вашего BDUI: все вьюхи прыгают. Я сначала подумал, что это у меня давление поднялось и проблема в моём восприятии. Но нет, это Яндекс что-то сделал
Нельзя читать документацию на GitHub, он обижается. Я не скачиваю, ничего подобного. Просто смотрю документацию, которая выложена в одном репозитории. Каждая глава - отдельная страница.
🤡4
Скидка в 0 слишком мало. Ждём, когда скидка будет +500 рублей к старой цене.
👍3