Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

UIAutomator: performance testing, API<16, скриншоты

screenshot
Теги: #<Tag:0x00007f7b68c4faa0>

(Andrey Kharkov) #1

Здравствуйте. Подскажите пожалуйста:

1. Можно ли с помощью UiAutomator сделать Перформенс тестирование под андроид?

2. Как запустить UiAutomator тест на эмуляторе с API <16?

3. Как сделать скриншот в UiAutomator?

Заранее большое спасибо.


Performance testing на Android! Возможно ли это автоматизировать??
Performance testing на Android! Возможно ли это автоматизировать??
(Oleksandr Pylkevych) #2

Отвечаю по третьему пункту: http://developer.android.com/tools/help/uiautomator/UiDevice.html#takeScreenshot(java.io.File).


(Andrey Kharkov) #3

Спасибо за ответ, но если можно то кусок кода в студию и какие настройки андроидного эмулятора нужно установить чтобы это работало.


(Oleksandr Pylkevych) #4

Прошу прощения, только сейчас увидел. Если актуально еще, кусок кода:

 import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.UnsupportedEncodingException;
    
    import com.android.uiautomator.core.UiObjectNotFoundException;
    import com.android.uiautomator.testrunner.UiAutomatorTestCase;
    
    public class TakeScreenshot extends UiAutomatorTestCase{
        public void test() throws UiObjectNotFoundException, FileNotFoundException, UnsupportedEncodingException {
            File path = new File("/sdcard/filename.png");
            getUiDevice().takeScreenshot(path);
            }
    }

Я запускаю на реальном устройстве.


(Oleksandr Pylkevych) #5

И как вы собираетесь запускать uiautomator тест на эмуляторе с API <16? Там отсутствует фрейворк на самом девайсе, не запустите Вы. Почему бы Вам в таком случае не использовать Robotium? Там также присутствует метод takeScreenshot().

Can I take screenshots from inside of Robotium?
Yes you can. Use takeScreenshot() to save a screenshot in “/sdcard/Robotium-Screenshots/”. Observe that this functionality requires write permission (android.permission.WRITE_EXTERNAL_STORAGE) in the AndroidManifest.xml of the application under test.


(Dmitry Cheremushkin) #6

К сожалению, никак. uiautomator появился в API 16. Раньше его просто не было – соответственно и тесты работать не будут.


В качестве альтернативы можете посмотреть в сторону Robotium, Selendroid или monkeyrunner.