SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
Автоматизация Тестирования
  Мобильных Приложений
      Андрей Дзыня
Andrii Dzynia
Test Engineer/Consultant/Trainer



                @adzynia




         http://adzynia.com
Сегодня

Почему я начал заниматься автоматизацией
мобильных приложений?


  Какие есть инструменты?


Какие проблемы решены, а какие нет?
Мой опыт
Кто у нас в зале?
Особенность мобильной
     разработки?
Типы приложений?
Web

Native

Hybrid

OpenGL

Flash & Flex

Widgets
• Скорость

• Дизайн

• Возможности платформы

• Кроссплатформенность
Автоматизация

     UI

    API
 Integration
    Unit
Какие бывают роботы?
Инструменты



Multiplatform tools
                       UI Automation, iPhone       Android WebDriver,
   Native tools       WebDriver, NativeDriver,    NativeDriver, Robotium,
                      Frank, TAF, KIF, calabash          calabash



  Record’n’play
Дорого и ненадежно
Device Anywhere
Бесплатно и ненадежно
  @Test
   public void testFindInROI() throws Exception {
    JButtons frame = new JButtons();
    Screen scr = new Screen();
        Match m = scr.wait("test-res/network.png", 10);
        scr.setRect(new Rectangle(m.x-9, m.y-10, m.w+10, m.h+11));
        Match m2 = scr.doFind("test-res/network.png");
        assertEquals(m, m2);
        frame.dispose();
    }




https://github.com/sikuli/sikuli
Не очень дорого но и не нужно


                  M-eux
Бесплатно

но могло быть и лучше
Keep It Functional
@implementation KIFTestScenario (EXAdditions)

+ (id)scenarioToLogIn;
{
KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription:@"Test that a
user can successfully log in."];
[scenario addStep:[KIFTestStep stepToReset]];
[scenario addStepsFromArray:[KIFTestStep stepsToGoToLoginPage]];
[scenario addStep:[KIFTestStep stepToEnterText:@"user@example.com"
intoViewWithAccessibilityLabel:@"Login User Name"]];
[scenario addStep:[KIFTestStep stepToTapViewWithAccessibilityLabel:@"Log In"]];
// Verify that the login succeeded
[scenario addStep:[KIFTestStep
stepToWaitForTappableViewWithAccessibilityLabel:@"Welcome"]];

return scenario; }

@end
                                                https://github.com/square/KIF
UI Automation
Код UI Automation
// create a new account
table.cells().firstWithName("twitter").tap();
mainWindow = app.mainWindow();
table = mainWindow.tableViews()[0];

userName = table.cells().firstWithName("user name");
userName.textFields()[0].setValue("mrfoobar");
finish = table.cells().firstWithName("finish");

finish.tap();
https://github.com/alexvollmer/tuneup_js
test("my test", function(target, app) { {

    mainWindow = app.mainWindow();
    tableViews = mainWindow.tableViews();
    assertEquals(1, tableViews.length);
    table = tableViews[0];

    assertEquals("First Name",
    table.groups()[0].staticTexts()[0].name());
    assertEquals("Last Name",
    table.groups()[1].staticTexts()[0].name());

    assertEquals("Fred", table.cells()[0].name());
    assertEquals("Flintstone", table.cells()[1].name());
}
Jasmine
describe("Hello World App", function() {{
      var target = UIATarget.localTarget();
      function getLabel() { {
      return target.frontMostApp().
      mainWindow().staticTexts()[0].value(); }

      it("should display "Hello World !" in the label after pressing
      the "Click Me :)" button",
      function() { target.frontMostApp().
      mainWindow().buttons()["Click Me :)"].tap();

      expect(getLabel()).toEqual("Hello World !"); });
});
Jasmine
https://github.com/pivotal/jasmine-iphone
https://github.com/mczenko/UIAutomation-
jasmine-iphone
https://github.com/shaune/jasmine-ios-
acceptance-tests
https://github.com/jhaynie/iphonesim
https://github.com/robholland/WaxSim
iOS Native Driver Java Test
  public void testNativeDriver() throws Exception {
    WebDriver driver = new IosNativeDriver();
    driver.manage().timeouts().implicitlyWait(10,
    TimeUnit.SECONDS);

      // Type user name
      WebElement userName =
      driver.findElement(By.placeholder("User Name"));
      userName.clear();
      userName.sendKeys("NativeDriver");
  }

http://code.google.com/p/nativedriver
Not maintained
http://code.google.com/p/nativedriver

Some updates
https://github.com/sonixlabs/nativedriver
https://github.com/leandog/nativedriver

Ruby API
https://github.com/jarib/nativedriver-rb
EPAM-Mobile-TAF




https://github.com/EPAM-Systems/EPAM-Mobile-TAF
TAF Java Code
@BeforeClass
public static void beforeAll() {
         logger = TAFLoggerFactory.
         getLogger(ProjectExampleSmokeTestSet.class);
         setUpAllTests();
}

@Test(timeout = test_timeout)
@TestFixture(username=test_desktop_user, password=test_desktop_pass)
public void isAuthenticateLogin() {
    expecteds = AppModel.HomeScreen.getScreenModel();
    actuals = ScreenFactory.getInstance().getLoginScreen(). login(username,
    password).getScreenModel();

    Assert.assertArrayEquals(expecteds, actuals);
}
Behavior Driven
Feature: Various scenarios that exercise different parts
of Frank

Scenario: Scrolling to the bottom of the table

Given I launch the app
When I touch "Larry Stooge"
And I touch "User Roles"
Then I should not see "Returns"
When I scroll to the bottom of the table
Then I should see "Returns"
Step Definition


When /^I touch the "([^"]*)" nav bar button$/
do |mark|
 touch( "navigationButton marked:'#{mark}'" )
end
Frameworks

https://github.com/robholland/icuke
https://github.com/moredip/Frank
https://github.com/calabash/calabash-ios
http://cukes.info/
https://github.com/cucumber/cucumber-jvm
https://github.com/baalexander/Mother-May-UI
BDD is Behavior Driven
 not Test Steps Driven
Jenkins




https://wiki.jenkins-ci.org/display/JENKINS/iOS+Device+Connector+Plugin
Android Testing




http://developer.android.com/tools/testing/testing_android.html
Using Android SDK

Нажатия на View
• TouchUtils.tapView(view)

Нажатия на кнопки
• getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_MENU)

Ввод текста
• sendKey(“some text”)
Activity Test
@UiThreadTest
public void testAdd() {
    MainActivity main = (MainActivity) getActivity();
    EditText val1Edit = (EditText) main.findViewById(R.id.EditText1);
    val1Edit.setText("3");

     EditText val2Edit = (EditText) main.findViewById(R.id.EditText2);
    val2Edit.setText("4");

    Button addButton = (Button) main.findViewById(R.id.ButtonAdd);
    addButton.performClick();

    TextView resultText = (TextView) main.findViewById(R.id.Result);
    assertEquals("Result incorrect", resultText.getText(), "7");
}
В чем проблема?


                        Очень часто
Нужно знать структуру
                        приходится добавлять
кода приложения
                        Thread.sleep(3000)

Большие приложения
                        Тесты выполняются
автоматизировать
                        очень долго
очень сложно
Robotium API
getCurrentActivity()
clickOnButton(String regex)
clickInList(int line)
enterText(int index, String text)
searchText(String regex)
waitForText(), waitForActivity(), waitForView()
clickOnMenuItem(String text)
goBack(), goBackToActivity(String name)
Robotium
public void testPreferenceIsSaved() throws Exception {
       solo.sendKey(Solo.MENU);
       solo.clickOnText("Preferences");
       solo.clickOnText("Edit File Extensions");
       Assert.assertTrue(solo.searchText("rtf"));

      solo.clickOnText("txt");
      solo.clearEditText(2);
      solo.enterText(2, "robotium");
      solo.clickOnButton("Save");
      solo.goBack();
      solo.clickOnText("Edit File Extensions");
      Assert.assertTrue(solo.searchText("application/rob
otium")); }
                                 http://code.google.com/p/robotium/
Robotium with WebView
private ExtSolo solo;

public void setUp() throws Exception {
    super.setUp();
    solo = new ExtSolo(getInstrumentation(), getActivity(),
    this.getClass().getCanonicalName(), getName());
}

public void test() {
    solo.clickOnHtmlElement(“userName”);
    solo.enterTextIntoHtmlElement(“User”, ”userName”);
    solo.htmlGoBack();
}
                              http://docs.testdroid.com/_pages/extsolo.html
Robotium выводы


Автоматические                              jUnit 3
ожидания                         Работает только с
Автоматический поиск            однопроцессными
View                               приложениями
Автоматическое             Требует базовое Activity
переключение на Activity               для работы
Сам принимает решения,
например scroll
Запуск тестов in Parallel или in Cloud




http://testdroid.com/product/testdroid-server


                                           http://testdroid.com/product/testdroid-cloud
Jenkins




   https://wiki.jenkins-ci.org/display/JENKINS/Android+Emulator+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Building+an+Android+app+and+test+project
Helper Tools
http://developer.android.com/tools/help/hierar
chy-viewer.html
http://developer.android.com/tools/help/monk
ey.html
https://github.com/robomorphine/testrunner
Android Native Driver Java Test
    private AndroidNativeDriver driver;
    @Override
    protected void setUp() {
                 driver = getDriver();
    }

    @Override
    protected void tearDown() {
                 driver.quit();
    }

    protected AndroidNativeDriver getDriver() {
                return new AndroidNativeDriverBuilder().withDefaultServer().build();
    }

    private void startListViewActivity() {
                  driver.startActivity("com.google.android.testing.nativedriver." + "simplelayouts.ListViewActivity");
    }

    public void testClickListItems_scrollsGradually() {
                  startListViewActivity();
                  for (String state : states) {
                  driver.findElement(AndroidNativeBy.text(state)).click();
    }}
                                                                             http://code.google.com/p/nativedriver
https://github.com/alfredz/android-nativedriver
ANDROID UI API
UiScrollable settingsItem = new
UiScrollable(new UiSelector()
.className("android.widget.ListView"));

UiObject about =
settingsItem.getChildByText(new UiSelector()
.className("android.widget.LinearLayout"),
"About tablet");
about.click()
           http://developer.android.com/tools/testing/testing_ui.html
          http://developer.android.com/tools/help/uiautomator/index.html
Monkey Runner Python
device = MonkeyRunner.waitForConnection()
package = 'com.example.android.notepad'
device.wake()

device.shell("am start -a android.intent.action.INSERT -t
vnd.android.cursor.dir/contact -e name 'Vasya Pupkin' -e phone 555-
1111")

device.startActivity(component="com.android.contacts/.TwelveKeyDialer")

device.installPackage('d:NotePadTraining.apk')

device.press('KEYCODE_MENU', MonkeyDevice.DOWN_AND_UP)
device.type("asdsadsad")

  http://developer.android.com/tools/help/monkeyrunner_concepts.html
Monkey Runner Extension
def testViewFactory_TextView(self):
    attrs = {'class': 'android.widget.EditText', 'text:mText':
    'Button with ID'}
    view = View.factory(attrs, None, -1)
    self.assertTrue(isinstance(view, EditText))




https://github.com/dtmilano/AndroidViewClient
Other Android Tools
http://developer.android.com/tools/help/monkey.html
https://github.com/calabash/calabash-android

https://github.com/eing/moet
http://www.ranorex.com/mobile-automation-
testing/android-test-automation.html

https://github.com/kaeppler/calculon
https://github.com/pivotal/robolectric

https://www.lesspainful.com/
Demo
For Web Applications
Selenium WebDriver
public void testGoogle() throws Exception {

        WebDriver driver =
        new AndroidDriver()          or IPhoneDriver();
        driver.get("http://www.google.com");

        WebElement element =
        driver.findElement(By.name("q"));

        element.sendKeys("Cheese!");
        element.submit();

        driver.quit();
}
Сегодня узнали

Какие есть инструменты для UI
автоматизации тестирования:
• iOS приложений
• Android приложений
Какие стоит использовать, а какие нет
http://adzynia.com




   @adzynia


  me@adzynia.com

Más contenido relacionado

La actualidad más candente

SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложений
Alexander Khozya
 
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
solit
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qa
ISsoft
 
Mobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerryMobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerry
QA Club Kiev
 
Способы оптимизации ручного тестирования веб-сайтов в мобильных браузерах
Способы оптимизации ручного тестирования веб-сайтов в мобильных браузерахСпособы оптимизации ручного тестирования веб-сайтов в мобильных браузерах
Способы оптимизации ручного тестирования веб-сайтов в мобильных браузерах
SQALab
 

La actualidad más candente (20)

Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)
 
До зеленых человечков: исследовательское тестирование мобильных приложений
До зеленых человечков: исследовательское тестирование мобильных приложенийДо зеленых человечков: исследовательское тестирование мобильных приложений
До зеленых человечков: исследовательское тестирование мобильных приложений
 
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
 
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложений
 
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
 
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
 
Эффективное тестирование сайта на мобильных устройствах
Эффективное тестирование сайта на мобильных устройствахЭффективное тестирование сайта на мобильных устройствах
Эффективное тестирование сайта на мобильных устройствах
 
Тестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appiumТестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appium
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qa
 
Поиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложениеПоиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложение
 
Mobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerryMobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerry
 
Михаил Левин: Автоматизация в мобильном тестировании
Михаил Левин: Автоматизация в мобильном тестированииМихаил Левин: Автоматизация в мобильном тестировании
Михаил Левин: Автоматизация в мобильном тестировании
 
Mobile Automation based on Appium
Mobile Automation based on AppiumMobile Automation based on Appium
Mobile Automation based on Appium
 
Тестирование iOS приложений. С чего начать?
Тестирование iOS приложений. С чего начать?Тестирование iOS приложений. С чего начать?
Тестирование iOS приложений. С чего начать?
 
Виртуализация и автоматизация тестирования мобильных приложений
Виртуализация и автоматизация тестирования мобильных приложенийВиртуализация и автоматизация тестирования мобильных приложений
Виртуализация и автоматизация тестирования мобильных приложений
 
Андрей Стахиевич - Appium Mobile Automation Tool
Андрей Стахиевич - Appium Mobile Automation ToolАндрей Стахиевич - Appium Mobile Automation Tool
Андрей Стахиевич - Appium Mobile Automation Tool
 
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The Scenes
 
Способы оптимизации ручного тестирования веб-сайтов в мобильных браузерах
Способы оптимизации ручного тестирования веб-сайтов в мобильных браузерахСпособы оптимизации ручного тестирования веб-сайтов в мобильных браузерах
Способы оптимизации ручного тестирования веб-сайтов в мобильных браузерах
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 

Destacado

Beratungsstellen090924
Beratungsstellen090924Beratungsstellen090924
Beratungsstellen090924
Werner Drizhal
 
Presentación accio3 formación y servicios tic
Presentación accio3 formación y servicios ticPresentación accio3 formación y servicios tic
Presentación accio3 formación y servicios tic
Lucía Alonso Pérez
 

Destacado (20)

Лучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователиЛучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователи
 
Mobile testing. Tips and tricks
Mobile testing. Tips and tricksMobile testing. Tips and tricks
Mobile testing. Tips and tricks
 
Разработка фреймворка на Python для автоматизации тестирования STB боксов
Разработка фреймворка на Python для автоматизации тестирования STB боксовРазработка фреймворка на Python для автоматизации тестирования STB боксов
Разработка фреймворка на Python для автоматизации тестирования STB боксов
 
QA Fes 2016. Яна Кокряшкіна. Визначення автоматизованого тестового покриття д...
QA Fes 2016. Яна Кокряшкіна. Визначення автоматизованого тестового покриття д...QA Fes 2016. Яна Кокряшкіна. Визначення автоматизованого тестового покриття д...
QA Fes 2016. Яна Кокряшкіна. Визначення автоматизованого тестового покриття д...
 
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
 
Безопасность мобильных приложений. Что тестировать?
Безопасность мобильных приложений. Что тестировать?Безопасность мобильных приложений. Что тестировать?
Безопасность мобильных приложений. Что тестировать?
 
ESG Strategies for the Sustainable Investor
ESG Strategies for the Sustainable InvestorESG Strategies for the Sustainable Investor
ESG Strategies for the Sustainable Investor
 
6_1Citizen_PUO_E perusahaan
6_1Citizen_PUO_E perusahaan6_1Citizen_PUO_E perusahaan
6_1Citizen_PUO_E perusahaan
 
Ez marcius-2016 hírek
Ez marcius-2016 hírekEz marcius-2016 hírek
Ez marcius-2016 hírek
 
Beratungsstellen090924
Beratungsstellen090924Beratungsstellen090924
Beratungsstellen090924
 
Revista espacios marketing 2015
Revista espacios marketing 2015Revista espacios marketing 2015
Revista espacios marketing 2015
 
O podjetju Z-Wave Slovenija
O podjetju Z-Wave SlovenijaO podjetju Z-Wave Slovenija
O podjetju Z-Wave Slovenija
 
STEM Grant Application
STEM Grant ApplicationSTEM Grant Application
STEM Grant Application
 
Presentación accio3 formación y servicios tic
Presentación accio3 formación y servicios ticPresentación accio3 formación y servicios tic
Presentación accio3 formación y servicios tic
 
Short Workshop Social Communication, Viral e Social Video 20.02.13.
Short Workshop Social Communication, Viral e Social Video 20.02.13.Short Workshop Social Communication, Viral e Social Video 20.02.13.
Short Workshop Social Communication, Viral e Social Video 20.02.13.
 
Quiz Prelims - XINO Intra 2015
Quiz Prelims - XINO Intra 2015Quiz Prelims - XINO Intra 2015
Quiz Prelims - XINO Intra 2015
 
Pioneer Systems Telcoma Swing gate
Pioneer Systems Telcoma Swing gatePioneer Systems Telcoma Swing gate
Pioneer Systems Telcoma Swing gate
 
Ajedrez virtual educativo actual 2013
Ajedrez virtual educativo actual 2013Ajedrez virtual educativo actual 2013
Ajedrez virtual educativo actual 2013
 
Tesis134
Tesis134Tesis134
Tesis134
 
Proliant Technical
Proliant TechnicalProliant Technical
Proliant Technical
 

Similar a Mobile automation uamobile

Java осень 2012 лекция 5
Java осень 2012 лекция 5Java осень 2012 лекция 5
Java осень 2012 лекция 5
Technopark
 
Школа-Студия разработки приложений для iOS. 5 лекция. Разное
Школа-Студия разработки приложений для iOS. 5 лекция. РазноеШкола-Студия разработки приложений для iOS. 5 лекция. Разное
Школа-Студия разработки приложений для iOS. 5 лекция. Разное
Глеб Тарасов
 
Selenium 2.0: обзор новых возможностей
Selenium 2.0: обзор новых возможностейSelenium 2.0: обзор новых возможностей
Selenium 2.0: обзор новых возможностей
Paul Stashevsky
 
iPhone Unit Testing (Google tool Box)
iPhone Unit Testing (Google tool Box)iPhone Unit Testing (Google tool Box)
iPhone Unit Testing (Google tool Box)
Yandex
 
вебинар - функциональное тестирование с использованием Selenium 2 и TestNG
вебинар - функциональное тестирование с использованием Selenium 2 и TestNGвебинар - функциональное тестирование с использованием Selenium 2 и TestNG
вебинар - функциональное тестирование с использованием Selenium 2 и TestNG
Andrey Rebrov
 
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
Igor Khrol
 

Similar a Mobile automation uamobile (20)

End-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализацияEnd-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализация
 
Java осень 2012 лекция 5
Java осень 2012 лекция 5Java осень 2012 лекция 5
Java осень 2012 лекция 5
 
Школа-Студия разработки приложений для iOS. 5 лекция. Разное
Школа-Студия разработки приложений для iOS. 5 лекция. РазноеШкола-Студия разработки приложений для iOS. 5 лекция. Разное
Школа-Студия разработки приложений для iOS. 5 лекция. Разное
 
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
 
Selenium 2.0: обзор новых возможностей
Selenium 2.0: обзор новых возможностейSelenium 2.0: обзор новых возможностей
Selenium 2.0: обзор новых возможностей
 
Автоматизация UI тестирования под Windows и Windows Phone
Автоматизация UI тестирования под Windows и Windows PhoneАвтоматизация UI тестирования под Windows и Windows Phone
Автоматизация UI тестирования под Windows и Windows Phone
 
iPhone Unit Testing (Google tool Box)
iPhone Unit Testing (Google tool Box)iPhone Unit Testing (Google tool Box)
iPhone Unit Testing (Google tool Box)
 
Зачем нужен JavaScript в iOS-приложениях. Евгений Дымов
 Зачем нужен JavaScript в iOS-приложениях. Евгений Дымов Зачем нужен JavaScript в iOS-приложениях. Евгений Дымов
Зачем нужен JavaScript в iOS-приложениях. Евгений Дымов
 
вебинар - функциональное тестирование с использованием Selenium 2 и TestNG
вебинар - функциональное тестирование с использованием Selenium 2 и TestNGвебинар - функциональное тестирование с использованием Selenium 2 и TestNG
вебинар - функциональное тестирование с использованием Selenium 2 и TestNG
 
Автоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюАвтоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решению
 
Gwt jug basic
Gwt jug basicGwt jug basic
Gwt jug basic
 
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
 
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.
 
RoboGuice
RoboGuiceRoboGuice
RoboGuice
 
Froglogic Squish
Froglogic Squish Froglogic Squish
Froglogic Squish
 
Руководство по приготовлению бутербродов из Selenium
Руководство по приготовлению бутербродов из SeleniumРуководство по приготовлению бутербродов из Selenium
Руководство по приготовлению бутербродов из Selenium
 
Automation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAutomation Functional Testing in Agile Projects
Automation Functional Testing in Agile Projects
 
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPI
 
Приемочные тесты на огурце
Приемочные тесты на огурцеПриемочные тесты на огурце
Приемочные тесты на огурце
 

Más de UA Mobile

Владимир Кириллов-TCP-Performance for-Mobile-Applications
Владимир Кириллов-TCP-Performance for-Mobile-ApplicationsВладимир Кириллов-TCP-Performance for-Mobile-Applications
Владимир Кириллов-TCP-Performance for-Mobile-Applications
UA Mobile
 
Денис Лебедев-Управление зависимостями с помощью CocoaPods
Денис Лебедев-Управление зависимостями с помощью CocoaPodsДенис Лебедев-Управление зависимостями с помощью CocoaPods
Денис Лебедев-Управление зависимостями с помощью CocoaPods
UA Mobile
 
Дмитрий Малеев-Мобильная Геймификация или как вырабатывать-привычки
Дмитрий Малеев-Мобильная Геймификация или как вырабатывать-привычкиДмитрий Малеев-Мобильная Геймификация или как вырабатывать-привычки
Дмитрий Малеев-Мобильная Геймификация или как вырабатывать-привычки
UA Mobile
 
Александр Терещук - Memory Analyzer Tool and memory optimization tips in Android
Александр Терещук - Memory Analyzer Tool and memory optimization tips in AndroidАлександр Терещук - Memory Analyzer Tool and memory optimization tips in Android
Александр Терещук - Memory Analyzer Tool and memory optimization tips in Android
UA Mobile
 
Максим Щеглов - Google Cloud Messaging for Android
Максим Щеглов - Google Cloud Messaging for AndroidМаксим Щеглов - Google Cloud Messaging for Android
Максим Щеглов - Google Cloud Messaging for Android
UA Mobile
 
Александр Додатко - Работа с датами в ObjectiveC и SQLite
Александр Додатко - Работа с датами в ObjectiveC и SQLiteАлександр Додатко - Работа с датами в ObjectiveC и SQLite
Александр Додатко - Работа с датами в ObjectiveC и SQLite
UA Mobile
 
Сергей Арнаут - Stream yourself with Android
Сергей Арнаут - Stream yourself with AndroidСергей Арнаут - Stream yourself with Android
Сергей Арнаут - Stream yourself with Android
UA Mobile
 
Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт
Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опытМихаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт
Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт
UA Mobile
 
Дмитрий Вовк - Learn iOS Game Optimization. Ultimate Guide
Дмитрий Вовк - Learn iOS Game Optimization. Ultimate GuideДмитрий Вовк - Learn iOS Game Optimization. Ultimate Guide
Дмитрий Вовк - Learn iOS Game Optimization. Ultimate Guide
UA Mobile
 
Павел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузерыПавел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузеры
UA Mobile
 
Вадим Розов- Разработка под Blackberry. Подводные грабли
Вадим Розов- Разработка под Blackberry. Подводные граблиВадим Розов- Разработка под Blackberry. Подводные грабли
Вадим Розов- Разработка под Blackberry. Подводные грабли
UA Mobile
 
Олег Апостол - Плюсы и минусы различных тач-платформ глазами веб-разработчика
Олег Апостол - Плюсы и минусы различных тач-платформ глазами веб-разработчикаОлег Апостол - Плюсы и минусы различных тач-платформ глазами веб-разработчика
Олег Апостол - Плюсы и минусы различных тач-платформ глазами веб-разработчика
UA Mobile
 
Евгений Галкин-Рекламные возможности Google для продвижения мобильных приложений
Евгений Галкин-Рекламные возможности Google для продвижения мобильных приложенийЕвгений Галкин-Рекламные возможности Google для продвижения мобильных приложений
Евгений Галкин-Рекламные возможности Google для продвижения мобильных приложений
UA Mobile
 
Алексей Лельчук - От аутсорсинга к продуктам: трансформация компании и ментал...
Алексей Лельчук - От аутсорсинга к продуктам: трансформация компании и ментал...Алексей Лельчук - От аутсорсинга к продуктам: трансформация компании и ментал...
Алексей Лельчук - От аутсорсинга к продуктам: трансформация компании и ментал...
UA Mobile
 
Tdd objective c
Tdd objective cTdd objective c
Tdd objective c
UA Mobile
 

Más de UA Mobile (15)

Владимир Кириллов-TCP-Performance for-Mobile-Applications
Владимир Кириллов-TCP-Performance for-Mobile-ApplicationsВладимир Кириллов-TCP-Performance for-Mobile-Applications
Владимир Кириллов-TCP-Performance for-Mobile-Applications
 
Денис Лебедев-Управление зависимостями с помощью CocoaPods
Денис Лебедев-Управление зависимостями с помощью CocoaPodsДенис Лебедев-Управление зависимостями с помощью CocoaPods
Денис Лебедев-Управление зависимостями с помощью CocoaPods
 
Дмитрий Малеев-Мобильная Геймификация или как вырабатывать-привычки
Дмитрий Малеев-Мобильная Геймификация или как вырабатывать-привычкиДмитрий Малеев-Мобильная Геймификация или как вырабатывать-привычки
Дмитрий Малеев-Мобильная Геймификация или как вырабатывать-привычки
 
Александр Терещук - Memory Analyzer Tool and memory optimization tips in Android
Александр Терещук - Memory Analyzer Tool and memory optimization tips in AndroidАлександр Терещук - Memory Analyzer Tool and memory optimization tips in Android
Александр Терещук - Memory Analyzer Tool and memory optimization tips in Android
 
Максим Щеглов - Google Cloud Messaging for Android
Максим Щеглов - Google Cloud Messaging for AndroidМаксим Щеглов - Google Cloud Messaging for Android
Максим Щеглов - Google Cloud Messaging for Android
 
Александр Додатко - Работа с датами в ObjectiveC и SQLite
Александр Додатко - Работа с датами в ObjectiveC и SQLiteАлександр Додатко - Работа с датами в ObjectiveC и SQLite
Александр Додатко - Работа с датами в ObjectiveC и SQLite
 
Сергей Арнаут - Stream yourself with Android
Сергей Арнаут - Stream yourself with AndroidСергей Арнаут - Stream yourself with Android
Сергей Арнаут - Stream yourself with Android
 
Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт
Михаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опытМихаил Галушко -  Разработка WinRT приложений для Windows 8: реальный опыт
Михаил Галушко - Разработка WinRT приложений для Windows 8: реальный опыт
 
Дмитрий Вовк - Learn iOS Game Optimization. Ultimate Guide
Дмитрий Вовк - Learn iOS Game Optimization. Ultimate GuideДмитрий Вовк - Learn iOS Game Optimization. Ultimate Guide
Дмитрий Вовк - Learn iOS Game Optimization. Ultimate Guide
 
Павел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузерыПавел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузеры
 
Вадим Розов- Разработка под Blackberry. Подводные грабли
Вадим Розов- Разработка под Blackberry. Подводные граблиВадим Розов- Разработка под Blackberry. Подводные грабли
Вадим Розов- Разработка под Blackberry. Подводные грабли
 
Олег Апостол - Плюсы и минусы различных тач-платформ глазами веб-разработчика
Олег Апостол - Плюсы и минусы различных тач-платформ глазами веб-разработчикаОлег Апостол - Плюсы и минусы различных тач-платформ глазами веб-разработчика
Олег Апостол - Плюсы и минусы различных тач-платформ глазами веб-разработчика
 
Евгений Галкин-Рекламные возможности Google для продвижения мобильных приложений
Евгений Галкин-Рекламные возможности Google для продвижения мобильных приложенийЕвгений Галкин-Рекламные возможности Google для продвижения мобильных приложений
Евгений Галкин-Рекламные возможности Google для продвижения мобильных приложений
 
Алексей Лельчук - От аутсорсинга к продуктам: трансформация компании и ментал...
Алексей Лельчук - От аутсорсинга к продуктам: трансформация компании и ментал...Алексей Лельчук - От аутсорсинга к продуктам: трансформация компании и ментал...
Алексей Лельчук - От аутсорсинга к продуктам: трансформация компании и ментал...
 
Tdd objective c
Tdd objective cTdd objective c
Tdd objective c
 

Mobile automation uamobile