Скачать 221.25 Kb.
|
Университет ИТМО Лабораторная работа №4 по дисциплине «Тестирование ПО» Выполнил: студент 3-го курса группы 3125 Припадчев Артём Санкт-Петербург 2015 Постановка задачи
Вариант 5: Twitter
Исходные коды package twitterTestPack; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.io.File; import org.openqa.selenium.By; import org.openqa.selenium.Dimension; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.junit.*; import io.appium.java_client.AppiumDriver; import io.appium.java_client.TouchAction; import io.appium.java_client.android.AndroidDriver; public class startApp { private AppiumDriver driver; WebElement element; @Before public void setUp() throws MalformedURLException{ File classpathRoot = new File(System.getProperty("user.dir")); File appDir = new File(classpathRoot, "/Twitter"); File app = new File(appDir, "com.twitter.android-2.apk"); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); //Name of mobile web browser to automate. Should be an empty string if automating an app instead. capabilities.setCapability("platformName", "Android"); capabilities.setCapability(CapabilityType.VERSION, "4.2.2"); capabilities.setCapability("deviceName", "192.168.202.101:5555"); capabilities.setCapability("app", app.getAbsolutePath()); capabilities.setCapability("appPackage", "com.twitter.android"); capabilities.setCapability("appActivity", ".StartActivity"); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @After public void aftertest() { driver.quit(); } @Test public void installLargeWidget() throws Exception { System.out.println("Starting test " + new Object(){}.getClass().getEnclosingMethod().getName()); driver.navigate().back(); element = driver.findElement(By.name("Apps")); element.click(); element = driver.findElement(By.name("Widgets")); element.click(); boolean exit = false; while(!exit) { element = null; try { element = driver.findElement(By.name("Twitter (large)")); } catch (Exception ex){} if(element==null) { Dimension size = driver.manage().window().getSize(); int startx = (int) (size.width * 0.8); int endx = (int) (size.width * 0.20); int starty = size.height / 2; driver.swipe(startx, starty, endx, starty, 1000); } else exit = true; } TouchAction action = new TouchAction(driver); action.longPress(element).release().perform(); System.out.println("Ending test " + new Object(){}.getClass().getEnclosingMethod().getName()); } @Test public void invalid_LogIn() throws Exception { System.out.println("Starting test " + new Object(){}.getClass().getEnclosingMethod().getName()); element = driver.findElement(By.name("Log in")); element.click(); List textFieldsList = driver.findElementsByClassName("android.widget.EditText"); textFieldsList.get(0).sendKeys("[email protected]"); textFieldsList.get(1).sendKeys("123456"); element = driver.findElement(By.name("Log in")); element.click(); Thread.sleep(3000); try { element = driver.findElement(By.name("Log in")); Assert.assertNotNull(element); } catch(Exception e){ Assert.fail(); } System.out.println("Ending test " + new Object(){}.getClass().getEnclosingMethod().getName()); } } package twitterTestPack; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.io.File; import org.openqa.selenium.By; import org.openqa.selenium.Dimension; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.junit.*; import io.appium.java_client.AppiumDriver; import io.appium.java_client.TouchAction; import io.appium.java_client.android.AndroidDriver; public class LogIn { private AppiumDriver driver; WebElement element; @Before public void setUp() throws MalformedURLException{ File classpathRoot = new File(System.getProperty("user.dir")); File appDir = new File(classpathRoot, "/Twitter"); File app = new File(appDir, "com.twitter.android-2.apk"); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); //Name of mobile web browser to automate. Should be an empty string if automating an app instead. capabilities.setCapability("platformName", "Android"); capabilities.setCapability(CapabilityType.VERSION, "4.2.2"); capabilities.setCapability("deviceName", "192.168.202.101:5555"); capabilities.setCapability("app", app.getAbsolutePath()); capabilities.setCapability("appPackage", "com.twitter.android"); capabilities.setCapability("appActivity", ".StartActivity"); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @After public void aftertest() { driver.quit(); } @Test public void valid_LogIn() throws Exception { System.out.println("Starting test " + new Object(){}.getClass().getEnclosingMethod().getName()); element = driver.findElement(By.name("Log in")); element.click(); List textFieldsList = driver.findElementsByClassName("android.widget.EditText"); textFieldsList.get(0).sendKeys("[email protected]"); textFieldsList.get(1).sendKeys("*********"); element = driver.findElement(By.name("Log in")); element.click(); Thread.sleep(3000); try { element = driver.findElement(By.name("Log in")); Assert.assertNull(element); } catch(Exception e){ } System.out.println("Ending test " + new Object(){}.getClass().getEnclosingMethod().getName()); } } package twitterTestPack; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.io.File; import org.openqa.selenium.By; import org.openqa.selenium.Dimension; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.junit.*; import io.appium.java_client.AppiumDriver; import io.appium.java_client.TouchAction; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.*; public class SearchTests { private AppiumDriver driver; WebElement element; @Before public void setUp() throws MalformedURLException{ File classpathRoot = new File(System.getProperty("user.dir")); File appDir = new File(classpathRoot, "/Twitter"); File app = new File(appDir, "com.twitter.android-2.apk"); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); //Name of mobile web browser to automate. Should be an empty string if automating an app instead. capabilities.setCapability("platformName", "Android"); capabilities.setCapability(CapabilityType.VERSION, "4.2.2"); capabilities.setCapability("deviceName", "192.168.202.101:5555"); capabilities.setCapability("app", app.getAbsolutePath()); capabilities.setCapability("appPackage", "com.twitter.android"); capabilities.setCapability("appActivity", ".StartActivity"); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); try{ driver.findElement(By.name("Don't allow")).click(); } catch(Exception e){} } //@After public void aftertest() { driver.quit(); } @Test public void getSearchResults() throws Exception { driver.findElement(By.name("Search")).click(); element = driver.findElement(By.name("Search Twitter")); element.sendKeys("text \n"); Thread.sleep(3000); element = driver.findElement(By.name("All Tweets")); Assert.assertNotNull(element); } } package twitterTestPack; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.io.File; import org.openqa.selenium.By; import org.openqa.selenium.Dimension; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.junit.*; import io.appium.java_client.AppiumDriver; import io.appium.java_client.TouchAction; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.*; public class LogOut { private AppiumDriver driver; WebElement element; @Before public void setUp() throws MalformedURLException{ File classpathRoot = new File(System.getProperty("user.dir")); File appDir = new File(classpathRoot, "/Twitter"); File app = new File(appDir, "com.twitter.android-2.apk"); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); //Name of mobile web browser to automate. Should be an empty string if automating an app instead. capabilities.setCapability("platformName", "Android"); capabilities.setCapability(CapabilityType.VERSION, "4.2.2"); capabilities.setCapability("deviceName", "192.168.202.101:5555"); capabilities.setCapability("app", app.getAbsolutePath()); capabilities.setCapability("appPackage", "com.twitter.android"); capabilities.setCapability("appActivity", ".StartActivity"); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); try{ driver.findElement(By.name("Don't allow")).click(); } catch(Exception e){} } //@After public void aftertest() { driver.quit(); } @Test public void logOut() throws Exception { driver.findElement(By.name("More")).click(); driver.findElement(By.name("Settings")).click(); driver.findElement(By.name("@ArtemVirused")).click(); driver.findElement(By.name("Log out")).click(); driver.findElement(By.name("OK")).click(); //Thread.sleep(5000); try{ element = driver.findElement(By.name("Sign up")); System.out.println("ОК"); Assert.assertNotNull(element); } catch(Exception e){ Assert.fail(); } } //@Test public void writeTweet() throws Exception { element = driver.findElement(By.name("What's happening?")); element.click(); element = driver.findElement(By.name("What's happening?")); element.click(); element.sendKeys("TestTweet"); Thread.sleep(1000); } } package twitterTestPack; import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) @SuiteClasses({ startApp.class, LogIn.class, SearchTests.class, LogOut.class }) public class AllTests { } |
![]() |
Лабораторная работа 1 4 лабораторная работа 2 13 лабораторная работа... Интернете разнообразную информацию – описательную, графическую, картографическую и пр. При разработке сайтов необходимо уметь работать... |
![]() |
Лабораторная работа №9 59 Лабораторная работа №10 72 Лабораторная... Рабочая тетрадь для выполнения лабораторных работ по мдк. 03. 01. «Техническое обслуживание и ремонт компьютерных систем и комплексов»... |
![]() |
Лабораторная работа №3 по дисциплине «Тестирование по» Разработать и описать 4 тестовых сценария для тестирования сайта, согласно вашему варианту. Обязательно проверить форму входа, поисковые... |
![]() |
Dmitry Murzak qa enginer, qa lead Местоположение Тестирование по, Разработка тест-кейсов, Ручное тестирование, Регрессионное тестирование, Тестирование методом свободного поиска,... |
![]() |
Методические указания для студентов по выполнению лабораторных работ... Лабораторная работа 4, 5 Исследование регистров, счетчиков и дешифраторов Лабораторная работа 6, 7 Исследование генератора псевдослучайной... |
![]() |
Лабораторная работа №10. Изучение принципа действия и функциональной... Лабораторная работа № Изучение принципов построения системы автоматической подстройки частоты (апч) радиолокационной станции |
![]() |
Лабораторная работа №1 «Создание общих ресурсов и управление ими» Лабораторная работа №6-7 «Изучение типов серверов, их настройка и конфигурирование» |
![]() |
Лабораторная работа № Лабораторная работа №1. Изучение основных возможностей программного продукта Яндекс. Сервер. Установка окружения, установка и настройка... |
![]() |
Лабораторная работа №27 Лабораторная работа №28 Контрольные работы... Пм «Сборка монтаж (демонтаж) элементов судовых конструкций, корпусов, устройств и систем металлических судов» |
![]() |
Методические указания к выполнению лабораторных работ по дисциплине радиолокационные системы Лабораторная работа №1 «Изучение принципов построения штатной радиолокационной киа» |
![]() |
Методические указания к лабораторным работам по дисциплине «Технологии... Лабораторная работа 2 Составление календарного плана разработки портала вуза 16 |
![]() |
Лабораторная работа №9 Данная лабораторная работа оформляется в виде файла word с расширением файла docx или doc и прикрепляется в виде ссылки на файл к... |
![]() |
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа... «Проектирование систем реального времени» для студентов специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем... |
![]() |
Комплекс лабораторных работ по дисциплине «Выч системы, сети и телекоммуникации»... При соединении Computer-Hub/Switch (карта-хаб/свитч) используется следующая схема |
![]() |
Лабораторная работа №3 по дисциплине: «Операционные системы» Зарегистрироваться в системе. Изучить правила входа в систему и завершения работы (команды login, logout, passwd, exit, shutdown,... |
![]() |
Лабораторная работа «Построение контуров изображения с использованием... Ивших на уроках математики понятие о математических кривых и графиках функций. Данная лабораторная работа может быть использована... |
Поиск |