Appium после pushFile нет файла на девайсе

Всем привет! На девайс закидываю файл через код, но после выполнения pushFile, на девайсе нет файла, который я пушаю


Может не везде можно закинуть.

Попробуйте эту статью глянуть

1 лайк

Попробовал запушить на реальном устройстве, всё получилось) Спасибо)

1 лайк

Оказывается, всё загружается) Смотрел не туда

И немного переделал код, теперь универсально загружает на все девайсы и эмуляторы)

@SneakyThrows
    @Step("Загружаем картинку на девайс")
    public void uploadFileToDevice() {
        File file = new File(MainChatPage.class.getClassLoader().getResource("files/test.jpg").toURI());
        if(file.exists()) {
            if (isAndroid()) {
                ((AndroidDriver) driver).pushFile("/storage/emulated/0/DCIM/test.jpg", file);
            } else if (isIOS()) {
                ((IOSDriver) driver).pushFile("/private/var/mobile/Media/DCIM/IMG_0001.JPG", file);
            }
        }
    }

1 лайк

@Vladislav_Sobol может знаете, есть ли универсальный метод выбора изображения на Android, когда нажимаем кнопку upload? А то у многих девайсов отличается интерфейс

Если вы имеете ввиду тест типа

  1. В приложении нажать кнопку “Upload”
  2. Открывается бибилиотека на девайсе и тут вам уже нужно взаимодействовать не со своей аппкой, а с интерфесом девайса ?

Универсально способа пожалуй нет. У нас на проекте такой проблемы не возникало потомучто девайсы были одинаковые или почти одинаковые. Думаю и у вас если вы делаете локальную ферму девайсов будут одиноаковые ну или несколько разных девайсов, в самом худшем случае напишите IF … ELSE…
@pbezpal5

1 лайк

Спасибо)

Здравствуйте. Столкнулся с похожей проблемой, только в iOS. Цель - загрузить несколько файлов (.doc, .pdf, .xls) на устройство (iphone 11) в папку “Загрузки” и затем открывать их из тестируемого приложения. В remotePath уже что только не указывал - от “@com.apple.DocumentsApp:Загрузки/file.doc” до банального “file.doc”. Также попробовал указать путь из Вашего примера ("/private/var/mobile/Media/DCIM/file.doc") - все безрезультатно, в “Загрузках” файл не появляется. Пробовал менять “Загрузки” на “Download” и “Downloads” - без изменений.
Единственный раз удалось запушить файл когда указал в качестве контейнера bundleID тестируемого приложения (pushFile("@com.app.under.test:documents/file.doc"). Но файл можно увидеть только из Finder’а, на самом девайсе его не видно.
Не подскажете, что я не так делаю?