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

Связь: @MyachinDA
Download Telegram
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
Под майские праздники по некоторых около-Z каналам прокатились перепосты перепалки Клима Жукова с неназванными (Мятежник Джек, кажется, но это не точно) блоггерами, которая касалась того, что на этом фото у красноармейца нет звезды на пилотке. Если что, то это фото (это и отражённое по вертикали, почему-то) было на плакатах в Москве весь май и, вроде, до сих пор не убрали

Далее в комментариях
Несколько лет назад была шутка, что сделай интерфейс для идиота и только идиот сможет им пользоваться.

Случайно наткнулся на ветку на автомобильном форуме, когда гуглил совсем другие вещи (Гугл ищет всё хуже и хуже, но другие - ещё хуже Гугла) и немножко ошалел: https://myterracan.ru/forum/index.php?topic=19479.0

1. У людей автоматическая коробка передач
2. Люди паркуют машину на уклоне

Ну, собственно, что такого? Жми P, поднимай ручник (если он не электронный). Колёса только разверни в правильную сторону.

Но вы почитайте форум. Люди:
1. Паркуют машину, оставляя её в D
2. Не используют ручник вообще
3. Колёса выворачиваю так, что машина выезжает на дорогу

И ещё рассуждают, что вот было бы здорово, если бы машина не позволяла быть идиотом.

Сначала я хотел написать рассуждение о том, что при проектировании пользовательских сценариев нужно отталкиваться, что будут те, которые один шарик сломают, другой потеряют. Но чёт передумал. Потому что читаю и в голове "ЧЕГО БЛИН ЧЕГО БЛИН ЧЕГО!?!?!? МАШИНА ЕДЕТ ЕСЛИ ВКЛЮЧЁН РЕЖИМ ЕХАТЬ?!?!? ВОТ ЭТО ДА!"

Подгорело, простите.
👍10👎1
Вокруг Макса (средства общения) чёт уже столько собралось новостей, что решил добавить ещё своего: https://text.tchncs.de/umnik/sredstvo-sviazi-max-moio-mnenie

Это лишь первая часть и она о том, зачем вообще нужен национальный мессенджер.

Приглашаю в комментарии с вопросами и оскорблениями, если таковые будут.
👍5👎2
Друг переслал. Хорошо ложиться в то, что хочу написать позже КОНКРЕТНО о Max. В данном случае это не шпион, а просто очень ленивый код. Они дёргают API, проверяя, подключена ли камера, чтобы быть готовыми к звонку. Это обращение перехватывается драйвером Касперского (что, на самом деле, правильно для этого типа ПО) и пользователь видит предупреждение.

То есть камера не используется, а просто получают ответ, есть ли она или нет.

Проблема здесь в том, что конкретно VK — это маленькая инди компания, разработчики которой пишут вот так, как пишут, понимать надо. Вместо того, чтобы проверять доступность камеры только при видеозвонке, они делают это по таймеру.

Даже если бы они проверяли доступность просто на старте программы, это и то было бы лучше. Да, USB камеру могут выдернуть, но в реальности люди таким практически не занимаются и в худшем случае просто показали бы заглушку "нет сигнала, проверьте камеру".
🤡6👍4
Forwarded from Абу
Проверяют просто, что жив-здоров, переживают за тебя. Это нормально.
👍4