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 Меня уже устраивает, как он работает. Но не нравится, что вьюхи у меня списком, надо бы дерево.
Разобрался, как разбирать деревья, как их строить. Смотрю, что во Флаттер есть РОДНОГО для отрисовки деревьев. Рекомендуется использовать
Три дня я, прошу прощения, проебался с ним. Я чувствовал себя идиотом. Я читал документацию, читал примеры из официальной статьи, но не мог победить баг - при прокрутке списка он не прокручивается, а просто исчезает сверху, см. видео (заодно видно, какие красивости добавил)
Продолжение в комментарии.
Недавно вернулся к автотестам на проекте и потребовалось улучшить программу:
- поддерживать несколько подключенных устройств
- обновлять экран без необходимости перезапуска программы
Поправил код, создал бранч https://gitea.myachin.xyz/umnik/android-ui-viewer/src/branch/new-features Меня уже устраивает, как он работает. Но не нравится, что вьюхи у меня списком, надо бы дерево.
Разобрался, как разбирать деревья, как их строить. Смотрю, что во Флаттер есть РОДНОГО для отрисовки деревьев. Рекомендуется использовать
TreeSliver
https://api.flutter.dev/flutter/widgets/TreeSliver-class.htmlТри дня я, прошу прощения, проебался с ним. Я чувствовал себя идиотом. Я читал документацию, читал примеры из официальной статьи, но не мог победить баг - при прокрутке списка он не прокручивается, а просто исчезает сверху, см. видео (заодно видно, какие красивости добавил)
Продолжение в комментарии.
👍4
ГОТОВО ДЛЯ РАБОТЫ!
Почти тысяча багов первого и второго приоритета на Flutter, для которых есть шаги воспроизведения, нет (не предложено) обходных решений, которые воспроизводятся на любой платформе, а не на конкретных, для которых нет фикса и при этом они не относятся к accessibility
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
Изменения (не то, чтобы вы знали, что было в прошлый раз):
- Фьючеры и асинхронность
- Может быть подключено сколько угодно устройств, начиная с ни одного - эти ситуации обрабатываются
- Отдельная кнопка для перечитывания экрана заново
- Имитация дерева вьюх. Сделаю нормальное дерево, когда Google баг исправит: https://t.me/mydaybug/501
Telegram
Мой баг дня (записки тестировщика)
Вот хочу освоить ЯП со встроенной поддержкой создания GUI. Решил взять Flutter, потому что стильно, модно, молодёжно. Написал программу, которая разбирает экран Android на элементы: https://gitea.myachin.xyz/umnik/android-ui-viewer
Недавно вернулся к автотестам…
Недавно вернулся к автотестам…
👍3
Screencast_20250210_192541.webm
1.7 MB
Подлянки от РуСтора:
- Если не хочешь ничего устанавливать из списка рекомендаций - запрос всё равно будет каждый раз при новом запуске. Ну, может после десятка-двадцатка-сотни раз уйдёт, но я не дождался
- Тротлинг загрузок! Негоже открывать приложение больше Х раз - ловишь блокировку. Теперь надо ждать, пока с меня ограничение не снимут
Вам запрещено запускать приложение, просто вдумайтесь в это.
- Если не хочешь ничего устанавливать из списка рекомендаций - запрос всё равно будет каждый раз при новом запуске. Ну, может после десятка-двадцатка-сотни раз уйдёт, но я не дождался
- Тротлинг загрузок! Негоже открывать приложение больше Х раз - ловишь блокировку. Теперь надо ждать, пока с меня ограничение не снимут
Вам запрещено запускать приложение, просто вдумайтесь в это.
🤡4
О локализационном тестировании. В оригинале Discard и Cancel, так что переведено правильно, как бы, но нам очевидно, что неправильно.
Проблема в том, что для русского и других языков здесь нужен другой строковой ресурс, а не общий. То есть, к примеру, в приложении есть куча этих discard и cancel и для них есть ресурс R.string.discard и R.string.cancel. И есть переводы этих ресурсов на десятки языков. С точки зрения разработчика всё хорошо, потому что на его языковой группе всё хорошо работает.
Но плохо для некоторых других языковых групп. Чтобы это исправить, нужно завести новые ресурсы типа R.string.delete_dialog_{discard,cancel}. И для языковой группы разработчика тут будут те же самые слова (и с его точки зрения это бесполезная работа, потому он её и не делает), а вот для нашей тут будут «Да» и «Нет».
В итоге в крупных проектах с разными языками получается куча дублирующих ресурсов и становится даже не понятно, так нужно или это ошибка. Возникает желание "одинаковые" слова слить в один ресурс.
Проблема в том, что для русского и других языков здесь нужен другой строковой ресурс, а не общий. То есть, к примеру, в приложении есть куча этих discard и cancel и для них есть ресурс R.string.discard и R.string.cancel. И есть переводы этих ресурсов на десятки языков. С точки зрения разработчика всё хорошо, потому что на его языковой группе всё хорошо работает.
Но плохо для некоторых других языковых групп. Чтобы это исправить, нужно завести новые ресурсы типа R.string.delete_dialog_{discard,cancel}. И для языковой группы разработчика тут будут те же самые слова (и с его точки зрения это бесполезная работа, потому он её и не делает), а вот для нашей тут будут «Да» и «Нет».
В итоге в крупных проектах с разными языками получается куча дублирующих ресурсов и становится даже не понятно, так нужно или это ошибка. Возникает желание "одинаковые" слова слить в один ресурс.
👍2
Мой баг дня (записки тестировщика)
Вот хочу освоить ЯП со встроенной поддержкой создания GUI. Решил взять Flutter, потому что стильно, модно, молодёжно. Написал программу, которая разбирает экран Android на элементы: https://gitea.myachin.xyz/umnik/android-ui-viewer Недавно вернулся к автотестам…
https://github.com/flutter/flutter/pull/167921 штош, время пришло
GitHub
Fix the SliverTree scrolling rendering issue. by yiiim · Pull Request #167921 · flutter/flutter
Fixes: #153149
Pre-launch Checklist
I read the Contributor Guide and followed the process outlined there for submitting PRs.
I read the Tree Hygiene wiki page, which explains my responsibilities...
Pre-launch Checklist
I read the Contributor Guide and followed the process outlined there for submitting PRs.
I read the Tree Hygiene wiki page, which explains my responsibilities...
Media is too big
VIEW IN TELEGRAM
Странное поведение этого вашего BDUI: все вьюхи прыгают. Я сначала подумал, что это у меня давление поднялось и проблема в моём восприятии. Но нет, это Яндекс что-то сделал
https://docs.doqa.app/user-guide/cases.html#%D0%B7%D0%B0%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B8-%D1%82%D0%B5%D1%81%D1%82-%D0%BA%D0%B5%D0%B8%D1%81%D0%B0
> цифра 10
> цифра 11
Ага. И буква "Документация TMS DoQA".
> цифра 10
> цифра 11
Ага. И буква "Документация TMS DoQA".
docs.doqa.app
Тест-кейсы | Документация TMS DoQA
DoQA TMS
👍1
Под майские праздники по некоторых около-Z каналам прокатились перепосты перепалки Клима Жукова с неназванными (Мятежник Джек, кажется, но это не точно) блоггерами, которая касалась того, что на этом фото у красноармейца нет звезды на пилотке. Если что, то это фото (это и отражённое по вертикали, почему-то) было на плакатах в Москве весь май и, вроде, до сих пор не убрали
Далее в комментариях
Далее в комментариях
Несколько лет назад была шутка, что сделай интерфейс для идиота и только идиот сможет им пользоваться.
Случайно наткнулся на ветку на автомобильном форуме, когда гуглил совсем другие вещи (Гугл ищет всё хуже и хуже, но другие - ещё хуже Гугла) и немножко ошалел: https://myterracan.ru/forum/index.php?topic=19479.0
1. У людей автоматическая коробка передач
2. Люди паркуют машину на уклоне
Ну, собственно, что такого? Жми P, поднимай ручник (если он не электронный). Колёса только разверни в правильную сторону.
Но вы почитайте форум. Люди:
1. Паркуют машину, оставляя её в D
2. Не используют ручник вообще
3. Колёса выворачиваю так, что машина выезжает на дорогу
И ещё рассуждают, что вот было бы здорово, если бы машина не позволяла быть идиотом.
Сначала я хотел написать рассуждение о том, что при проектировании пользовательских сценариев нужно отталкиваться, что будут те, которые один шарик сломают, другой потеряют. Но чёт передумал. Потому что читаю и в голове "ЧЕГО БЛИН ЧЕГО БЛИН ЧЕГО!?!?!? МАШИНА ЕДЕТ ЕСЛИ ВКЛЮЧЁН РЕЖИМ ЕХАТЬ?!?!? ВОТ ЭТО ДА!"
Подгорело, простите.
Случайно наткнулся на ветку на автомобильном форуме, когда гуглил совсем другие вещи (Гугл ищет всё хуже и хуже, но другие - ещё хуже Гугла) и немножко ошалел: 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
Это лишь первая часть и она о том, зачем вообще нужен национальный мессенджер.
Приглашаю в комментарии с вопросами и оскорблениями, если таковые будут.
Это лишь первая часть и она о том, зачем вообще нужен национальный мессенджер.
Приглашаю в комментарии с вопросами и оскорблениями, если таковые будут.
Скучный бложик тестировщика
Средство связи MAX: моё мнение — Скучный бложик тестировщика
Часть 1: зачем вообще национальный мессенджер Несколько дней назад у себя в задротском бложике я написал, что нам, россиянам, [необходим...
👍5👎2
Друг переслал. Хорошо ложиться в то, что хочу написать позже КОНКРЕТНО о Max. В данном случае это не шпион, а просто очень ленивый код. Они дёргают API, проверяя, подключена ли камера, чтобы быть готовыми к звонку. Это обращение перехватывается драйвером Касперского (что, на самом деле, правильно для этого типа ПО) и пользователь видит предупреждение.
То есть камера не используется, а просто получают ответ, есть ли она или нет.
Проблема здесь в том, что конкретно VK — это маленькая инди компания, разработчики которой пишут вот так, как пишут, понимать надо. Вместо того, чтобы проверять доступность камеры только при видеозвонке, они делают это по таймеру.
Даже если бы они проверяли доступность просто на старте программы, это и то было бы лучше. Да, USB камеру могут выдернуть, но в реальности люди таким практически не занимаются и в худшем случае просто показали бы заглушку "нет сигнала, проверьте камеру".
То есть камера не используется, а просто получают ответ, есть ли она или нет.
Проблема здесь в том, что конкретно VK — это маленькая инди компания, разработчики которой пишут вот так, как пишут, понимать надо. Вместо того, чтобы проверять доступность камеры только при видеозвонке, они делают это по таймеру.
Даже если бы они проверяли доступность просто на старте программы, это и то было бы лучше. Да, USB камеру могут выдернуть, но в реальности люди таким практически не занимаются и в худшем случае просто показали бы заглушку "нет сигнала, проверьте камеру".
🤡6👍4