├── .gitignore ├── CourseLandingPage.png ├── README.md ├── pom.xml ├── src ├── main │ └── resources │ │ ├── config.properties │ │ └── log4j2.xml └── test │ ├── java │ └── com │ │ └── qa │ │ ├── BaseTest.java │ │ ├── MenuPage.java │ │ ├── listeners │ │ └── TestListener.java │ │ ├── pages │ │ ├── LoginPage.java │ │ ├── ProductDetailsPage.java │ │ ├── ProductsPage.java │ │ └── SettingsPage.java │ │ ├── reports │ │ └── ExtentReport.java │ │ ├── tests │ │ ├── LoginTests.java │ │ └── ProductTests.java │ │ └── utils │ │ └── TestUtils.java │ └── resources │ ├── app │ ├── Android.SauceLabs.Mobile.Sample.app.2.2.1.apk │ ├── Android.SauceLabs.Mobile.Sample.app.2.7.1.apk │ └── SwagLabsMobileApp.app │ │ ├── AntDesign.ttf │ │ ├── AppIcon20x20@2x.png │ │ ├── AppIcon20x20@3x.png │ │ ├── AppIcon29x29@2x.png │ │ ├── AppIcon29x29@3x.png │ │ ├── AppIcon40x40@2x.png │ │ ├── AppIcon40x40@3x.png │ │ ├── AppIcon60x60@2x.png │ │ ├── AppIcon60x60@3x.png │ │ ├── Assets.car │ │ ├── Base.lproj │ │ └── LaunchScreen.nib │ │ ├── Entypo.ttf │ │ ├── EvilIcons.ttf │ │ ├── Feather.ttf │ │ ├── FontAwesome.ttf │ │ ├── FontAwesome5_Brands.ttf │ │ ├── FontAwesome5_Regular.ttf │ │ ├── FontAwesome5_Solid.ttf │ │ ├── Fontisto.ttf │ │ ├── Foundation.ttf │ │ ├── Frameworks │ │ ├── libswiftCore.dylib │ │ ├── libswiftCoreFoundation.dylib │ │ ├── libswiftCoreGraphics.dylib │ │ ├── libswiftCoreImage.dylib │ │ ├── libswiftCoreLocation.dylib │ │ ├── libswiftDarwin.dylib │ │ ├── libswiftDispatch.dylib │ │ ├── libswiftFoundation.dylib │ │ ├── libswiftMetal.dylib │ │ ├── libswiftObjectiveC.dylib │ │ ├── libswiftQuartzCore.dylib │ │ ├── libswiftUIKit.dylib │ │ └── libswiftos.dylib │ │ ├── Info.plist │ │ ├── Ionicons.ttf │ │ ├── MaterialCommunityIcons.ttf │ │ ├── MaterialIcons.ttf │ │ ├── MuseoSans-100.otf │ │ ├── MuseoSans-100Italic.otf │ │ ├── MuseoSans-300.otf │ │ ├── MuseoSans-300Italic.otf │ │ ├── MuseoSans-700Italic.otf │ │ ├── MuseoSans-900Italic.otf │ │ ├── MuseoSans_500.otf │ │ ├── MuseoSans_500_Italic.otf │ │ ├── MuseoSans_700.otf │ │ ├── MuseoSans_900.otf │ │ ├── Octicons.ttf │ │ ├── PkgInfo │ │ ├── SimpleLineIcons.ttf │ │ ├── SwagLabsMobileApp │ │ ├── Zocial.ttf │ │ ├── _CodeSignature │ │ └── CodeResources │ │ ├── assets │ │ ├── node_modules │ │ │ ├── react-native-ratings │ │ │ │ └── src │ │ │ │ │ └── images │ │ │ │ │ ├── airbnb-star-selected.png │ │ │ │ │ ├── airbnb-star.png │ │ │ │ │ ├── bell.png │ │ │ │ │ ├── heart.png │ │ │ │ │ ├── rocket.png │ │ │ │ │ └── star.png │ │ │ ├── react-native-vector-icons │ │ │ │ └── glyphmaps │ │ │ │ │ ├── AntDesign.json │ │ │ │ │ ├── Entypo.json │ │ │ │ │ ├── EvilIcons.json │ │ │ │ │ ├── Feather.json │ │ │ │ │ ├── FontAwesome.json │ │ │ │ │ ├── Foundation.json │ │ │ │ │ ├── Ionicons.json │ │ │ │ │ ├── MaterialCommunityIcons.json │ │ │ │ │ ├── MaterialIcons.json │ │ │ │ │ ├── Octicons.json │ │ │ │ │ ├── SimpleLineIcons.json │ │ │ │ │ └── Zocial.json │ │ │ └── react-navigation-stack │ │ │ │ └── lib │ │ │ │ └── module │ │ │ │ └── views │ │ │ │ └── assets │ │ │ │ ├── back-icon-mask.png │ │ │ │ ├── back-icon.png │ │ │ │ ├── back-icon@2x.png │ │ │ │ └── back-icon@3x.png │ │ └── src │ │ │ ├── img │ │ │ ├── arrow-left.png │ │ │ ├── bike-light.jpg │ │ │ ├── bolt-shirt.jpg │ │ │ ├── filter-button.png │ │ │ ├── footer-swagbot.png │ │ │ ├── login-bot.png │ │ │ ├── menu-button.png │ │ │ ├── menu-cart.png │ │ │ ├── menu-close.png │ │ │ ├── pony-express.png │ │ │ ├── red-onesie.jpg │ │ │ ├── red-tatt.jpg │ │ │ ├── sauce-backpack.jpg │ │ │ ├── sauce-bolt.png │ │ │ ├── sauce-pullover.jpg │ │ │ ├── sl-404.jpg │ │ │ ├── surfing-sauce.jpg │ │ │ ├── swag-labs-logo.png │ │ │ ├── toggle-grid.png │ │ │ └── toggle-row.png │ │ │ └── js │ │ │ └── app.json │ │ └── main.jsbundle │ ├── data │ └── loginUsers.json │ └── strings │ └── strings.xml └── testng.xml /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.nar 17 | *.ear 18 | *.zip 19 | *.tar.gz 20 | *.rar 21 | 22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 23 | hs_err_pid* 24 | .classpath 25 | .project 26 | .settings 27 | Screenshots 28 | target 29 | test-output 30 | videos 31 | .DS_Store 32 | .idea/ 33 | .zprofile 34 | *.html 35 | *.iml 36 | logs -------------------------------------------------------------------------------- /CourseLandingPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/CourseLandingPage.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # appium-pageobjectmodel 2 | Appium mobile test automation framework with Page Object Model design using Java + Maven + TestNG. 3 | Framework follows many of the industry best practices and supports Android and iOS in a single code base. 4 | 5 | **Step by step instructions to build this framework from scratch is in this Highest Rated Udemy course. 6 | Enroll today at the minimal rate of INR 499/ $14.99. 7 | Link with coupon code: https://www.udemy.com/course/the-complete-appium-course-for-ios-and-android/?couponCode=APR2024** 8 | 9 | ![One of the most comprehensive Appium course ever created](/CourseLandingPage.png) 10 | 11 | Technologies/Tools used in building the framework 12 | ================================================= 13 | - Eclipse - IDE 14 | - Appium - Mobile Automation library 15 | - Maven - Build automation tool 16 | - Java - Programming language 17 | - TestNG - Test Management library 18 | - Log4J - Logging framework 19 | - Extent Reports - Reporting framework 20 | - JSON/Excel - Test Data 21 | - XML - Static text 22 | - GitHub - Version control 23 | - Jenkins - CI/CD 24 | 25 | Framework implements below best practices 26 | ========================================= 27 | - Code reusability 28 | - Code readability 29 | - Scalable automation (demonstrated using multiple test classes) 30 | - Uses explicit waits 31 | - Abstraction layer for UI commands like click, sendkeys, etc. 32 | - Parameterization using TestNG XML and config.properties 33 | - Alternate Design approach [Without using inheritance] 34 | - Exception handling [using Try/Catch and TestNG Listener] 35 | - Abstraction layer for test data 36 | - Abstraction layer for static text 37 | - Supports iOS and Android 38 | - Demonstrates how to define UI elements that are common across pages (e.g. menu bar, side bar, etc.) 39 | - How to recover from test failure/ how to write fail safe test cases 40 | - Scrolling for both Android and iOS (using touchaction, uiScrollable, mobile:scroll) 41 | - Demonstrates how to effectively capture Screenshots/Videos 42 | - Supports parallel execution on multiple real Android and iOS devices 43 | - Integrated with Log4J2 Logging framework (supports basic as well as parallel logging) 44 | - Integrated with Extent Reporting framework (supports parallel, screenshots, logging test steps) 45 | 46 | #AppiumTutorials #PageObjectModel #TestNG 47 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | TDDFramework 5 | TDDFramework 6 | 0.0.1-SNAPSHOT 7 | 8 | 9 | 10 | org.apache.maven.plugins 11 | maven-compiler-plugin 12 | 3.13.0 13 | 14 | 21 15 | 21 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | io.appium 24 | java-client 25 | 9.2.2 26 | 27 | 28 | 29 | org.testng 30 | testng 31 | 7.9.0 32 | compile 33 | 34 | 35 | 36 | org.json 37 | json 38 | 20240303 39 | 40 | 41 | 42 | org.apache.logging.log4j 43 | log4j-core 44 | 2.23.1 45 | 46 | 47 | 48 | org.apache.logging.log4j 49 | log4j-api 50 | 2.23.1 51 | 52 | 53 | 54 | com.aventstack 55 | extentreports 56 | 5.1.1 57 | 58 | 59 | 60 | commons-codec 61 | commons-codec 62 | 1.16.1 63 | 64 | 65 | 66 | commons-io 67 | commons-io 68 | 2.16.0 69 | 70 | 71 | -------------------------------------------------------------------------------- /src/main/resources/config.properties: -------------------------------------------------------------------------------- 1 | appiumURL=http://127.0.0.1:4723 2 | androidAutomationName=UiAutomator2 3 | androidAppPackage=com.swaglabsmobileapp 4 | androidAppActivity=com.swaglabsmobileapp.SplashActivity 5 | androidAppLocation=/app/Android.SauceLabs.Mobile.Sample.app.2.7.1.apk 6 | iOSAutomationName=XCUITest 7 | iOSBundleId=com.saucelabs.SwagLabsMobileApp 8 | iOSAppLocation=/app/SwagLabsMobileApp.app -------------------------------------------------------------------------------- /src/main/resources/log4j2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | [${ctx:ROUTINGKEY} %-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %c{1}:%L - %m%n 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/test/java/com/qa/BaseTest.java: -------------------------------------------------------------------------------- 1 | package com.qa; 2 | 3 | import com.aventstack.extentreports.Status; 4 | import com.qa.reports.ExtentReport; 5 | import com.qa.utils.TestUtils; 6 | import io.appium.java_client.AppiumBy; 7 | import io.appium.java_client.AppiumDriver; 8 | import io.appium.java_client.InteractsWithApps; 9 | import io.appium.java_client.android.AndroidDriver; 10 | import io.appium.java_client.ios.IOSDriver; 11 | import io.appium.java_client.pagefactory.AppiumFieldDecorator; 12 | import io.appium.java_client.screenrecording.CanRecordScreen; 13 | import io.appium.java_client.service.local.AppiumDriverLocalService; 14 | import io.appium.java_client.service.local.AppiumServiceBuilder; 15 | import io.appium.java_client.service.local.flags.GeneralServerFlag; 16 | import org.apache.commons.codec.binary.Base64; 17 | import org.apache.logging.log4j.ThreadContext; 18 | import org.openqa.selenium.WebElement; 19 | import org.openqa.selenium.remote.DesiredCapabilities; 20 | import org.openqa.selenium.support.PageFactory; 21 | import org.openqa.selenium.support.ui.ExpectedConditions; 22 | import org.openqa.selenium.support.ui.WebDriverWait; 23 | import org.testng.ITestResult; 24 | import org.testng.annotations.*; 25 | 26 | import java.io.File; 27 | import java.io.FileOutputStream; 28 | import java.io.IOException; 29 | import java.io.InputStream; 30 | import java.net.ServerSocket; 31 | import java.net.URL; 32 | import java.time.Duration; 33 | import java.util.HashMap; 34 | import java.util.Map; 35 | import java.util.Properties; 36 | 37 | public class BaseTest { 38 | protected static ThreadLocal driver = new ThreadLocal(); 39 | protected static ThreadLocal props = new ThreadLocal(); 40 | protected static ThreadLocal > strings = new ThreadLocal>(); 41 | protected static ThreadLocal platform = new ThreadLocal(); 42 | protected static ThreadLocal dateTime = new ThreadLocal(); 43 | protected static ThreadLocal deviceName = new ThreadLocal(); 44 | private static AppiumDriverLocalService server; 45 | TestUtils utils = new TestUtils(); 46 | 47 | public AppiumDriver getDriver() { 48 | return driver.get(); 49 | } 50 | 51 | public void setDriver(AppiumDriver driver2) { 52 | driver.set(driver2); 53 | } 54 | 55 | public Properties getProps() { 56 | return props.get(); 57 | } 58 | 59 | public void setProps(Properties props2) { 60 | props.set(props2); 61 | } 62 | 63 | public HashMap getStrings() { 64 | return strings.get(); 65 | } 66 | 67 | public void setStrings(HashMap strings2) { 68 | strings.set(strings2); 69 | } 70 | 71 | public String getPlatform() { 72 | return platform.get(); 73 | } 74 | 75 | public void setPlatform(String platform2) { 76 | platform.set(platform2); 77 | } 78 | 79 | public String getDateTime() { 80 | return dateTime.get(); 81 | } 82 | 83 | public void setDateTime(String dateTime2) { 84 | dateTime.set(dateTime2); 85 | } 86 | 87 | public String getDeviceName() { 88 | return deviceName.get(); 89 | } 90 | 91 | public void setDeviceName(String deviceName2) { 92 | deviceName.set(deviceName2); 93 | } 94 | 95 | public BaseTest() { 96 | /* 97 | In Appium java client versions 9.x.x and later, passing a null driver at the beginning of execution is not 98 | permitted, unlike in previous versions. To resolve this issue, comment out the line below and move it into 99 | the constructor of each page object class. This ensures that the driver is initialized before the BaseTest 100 | constructor is called, preventing it from being null. 101 | // PageFactory.initElements(new AppiumFieldDecorator(getDriver()), this); 102 | */ 103 | } 104 | 105 | @BeforeMethod 106 | public void beforeMethod() { 107 | ((CanRecordScreen) getDriver()).startRecordingScreen(); 108 | } 109 | 110 | //stop video capturing and create *.mp4 file 111 | @AfterMethod 112 | public synchronized void afterMethod(ITestResult result) throws Exception { 113 | String media = ((CanRecordScreen) getDriver()).stopRecordingScreen(); 114 | 115 | Map params = result.getTestContext().getCurrentXmlTest().getAllParameters(); 116 | String dirPath = "videos" + File.separator + params.get("platformName") + "_" + params.get("deviceName") 117 | + File.separator + getDateTime() + File.separator + result.getTestClass().getRealClass().getSimpleName(); 118 | 119 | File videoDir = new File(dirPath); 120 | 121 | synchronized(videoDir){ 122 | if(!videoDir.exists()) { 123 | videoDir.mkdirs(); 124 | } 125 | } 126 | FileOutputStream stream = null; 127 | try { 128 | stream = new FileOutputStream(videoDir + File.separator + result.getName() + ".mp4"); 129 | stream.write(Base64.decodeBase64(media)); 130 | stream.close(); 131 | utils.log().info("video path: " + videoDir + File.separator + result.getName() + ".mp4"); 132 | } catch (Exception e) { 133 | utils.log().error("error during video capture" + e.toString()); 134 | } finally { 135 | if(stream != null) { 136 | stream.close(); 137 | } 138 | } 139 | } 140 | 141 | @BeforeSuite 142 | public void beforeSuite() throws Exception, Exception { 143 | ThreadContext.put("ROUTINGKEY", "ServerLogs"); 144 | // server = getAppiumService(); // -> If using Mac, uncomment this statement and comment below statement 145 | server = getAppiumServerDefault(); // -> If using Windows, uncomment this statement and comment above statement 146 | if(!checkIfAppiumServerIsRunnning(4723)) { 147 | server.start(); 148 | server.clearOutPutStreams(); // -> Comment this if you want to see server logs in the console 149 | utils.log().info("Appium server started"); 150 | } else { 151 | utils.log().info("Appium server already running"); 152 | } 153 | } 154 | 155 | public boolean checkIfAppiumServerIsRunnning(int port) throws Exception { 156 | boolean isAppiumServerRunning = false; 157 | ServerSocket socket; 158 | try { 159 | socket = new ServerSocket(port); 160 | socket.close(); 161 | } catch (IOException e) { 162 | System.out.println("1"); 163 | isAppiumServerRunning = true; 164 | } finally { 165 | socket = null; 166 | } 167 | return isAppiumServerRunning; 168 | } 169 | 170 | @AfterSuite (alwaysRun = true) 171 | public void afterSuite() { 172 | if(server.isRunning()){ 173 | server.stop(); 174 | utils.log().info("Appium server stopped"); 175 | } 176 | } 177 | 178 | // for Windows 179 | public AppiumDriverLocalService getAppiumServerDefault() { 180 | return AppiumDriverLocalService.buildDefaultService(); 181 | } 182 | 183 | // for Mac. Update the paths as per your Mac setup 184 | public AppiumDriverLocalService getAppiumService() { 185 | HashMap environment = new HashMap(); 186 | environment.put("PATH", "enter_your_path_here" + System.getenv("PATH")); 187 | environment.put("ANDROID_HOME", "enter_android_home_path"); 188 | return AppiumDriverLocalService.buildService(new AppiumServiceBuilder() 189 | .usingDriverExecutable(new File("/usr/local/bin/node")) 190 | .withAppiumJS(new File("/usr/local/lib/node_modules/appium/build/lib/main.js")) 191 | .usingPort(4723) 192 | .withArgument(GeneralServerFlag.SESSION_OVERRIDE) 193 | // .withArgument(() -> "--allow-insecure","chromedriver_autodownload") 194 | .withEnvironment(environment) 195 | .withLogFile(new File("ServerLogs/server.log"))); 196 | } 197 | 198 | @Parameters({"emulator", "platformName", "udid", "deviceName", "systemPort", 199 | "chromeDriverPort", "wdaLocalPort", "webkitDebugProxyPort"}) 200 | @BeforeTest 201 | public void beforeTest(@Optional("androidOnly")String emulator, String platformName, String udid, String deviceName, 202 | @Optional("androidOnly")String systemPort, @Optional("androidOnly")String chromeDriverPort, 203 | @Optional("iOSOnly")String wdaLocalPort, @Optional("iOSOnly")String webkitDebugProxyPort) throws Exception { 204 | setDateTime(utils.dateTime()); 205 | setPlatform(platformName); 206 | setDeviceName(deviceName); 207 | URL url; 208 | InputStream inputStream = null; 209 | InputStream stringsis = null; 210 | Properties props = new Properties(); 211 | AppiumDriver driver; 212 | 213 | String strFile = "logs" + File.separator + platformName + "_" + deviceName; 214 | File logFile = new File(strFile); 215 | if (!logFile.exists()) { 216 | logFile.mkdirs(); 217 | } 218 | //route logs to separate file for each thread 219 | ThreadContext.put("ROUTINGKEY", strFile); 220 | utils.log().info("log path: " + strFile); 221 | 222 | try { 223 | props = new Properties(); 224 | String propFileName = "config.properties"; 225 | String xmlFileName = "strings/strings.xml"; 226 | 227 | utils.log().info("load " + propFileName); 228 | inputStream = getClass().getClassLoader().getResourceAsStream(propFileName); 229 | props.load(inputStream); 230 | setProps(props); 231 | 232 | utils.log().info("load " + xmlFileName); 233 | stringsis = getClass().getClassLoader().getResourceAsStream(xmlFileName); 234 | setStrings(utils.parseStringXML(stringsis)); 235 | 236 | DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); 237 | desiredCapabilities.setCapability("platformName", platformName); 238 | desiredCapabilities.setCapability("deviceName", deviceName); 239 | desiredCapabilities.setCapability("udid", udid); 240 | url = new URL(props.getProperty("appiumURL")); 241 | 242 | switch(platformName) { 243 | case "Android": 244 | desiredCapabilities.setCapability("automationName", props.getProperty("androidAutomationName")); 245 | desiredCapabilities.setCapability("appPackage", props.getProperty("androidAppPackage")); 246 | desiredCapabilities.setCapability("appActivity", props.getProperty("androidAppActivity")); 247 | if(emulator.equalsIgnoreCase("true")) { 248 | desiredCapabilities.setCapability("avd", deviceName); 249 | desiredCapabilities.setCapability("avdLaunchTimeout", 120000); 250 | } 251 | desiredCapabilities.setCapability("systemPort", systemPort); 252 | desiredCapabilities.setCapability("chromeDriverPort", chromeDriverPort); 253 | String androidAppUrl = System.getProperty("user.dir") + File.separator + "src" + File.separator + "test" 254 | + File.separator + "resources" + File.separator + "app" + File.separator + "Android.SauceLabs.Mobile.Sample.app.2.7.1.apk"; 255 | // String androidAppUrl = getClass().getResource(props.getProperty("androidAppLocation")).getFile(); 256 | utils.log().info("appUrl is" + androidAppUrl); 257 | desiredCapabilities.setCapability("app", androidAppUrl); 258 | 259 | driver = new AndroidDriver(url, desiredCapabilities); 260 | break; 261 | case "iOS": 262 | desiredCapabilities.setCapability("automationName", props.getProperty("iOSAutomationName")); 263 | String iOSAppUrl = System.getProperty("user.dir") + File.separator + "src" + File.separator + "test" 264 | + File.separator + "resources" + File.separator + "app" + File.separator + "SwagLabsMobileApp.app"; 265 | // String iOSAppUrl = getClass().getResource(props.getProperty("iOSAppLocation")).getFile(); 266 | utils.log().info("appUrl is" + iOSAppUrl); 267 | desiredCapabilities.setCapability("bundleId", props.getProperty("iOSBundleId")); 268 | desiredCapabilities.setCapability("wdaLocalPort", wdaLocalPort); 269 | desiredCapabilities.setCapability("webkitDebugProxyPort", webkitDebugProxyPort); 270 | desiredCapabilities.setCapability("app", iOSAppUrl); 271 | 272 | driver = new IOSDriver(url, desiredCapabilities); 273 | break; 274 | default: 275 | throw new Exception("Invalid platform! - " + platformName); 276 | } 277 | setDriver(driver); 278 | utils.log().info("driver initialized: " + driver); 279 | } catch (Exception e) { 280 | utils.log().fatal("driver initialization failure. ABORT!!!\n" + e.toString()); 281 | throw e; 282 | } finally { 283 | if(inputStream != null) { 284 | inputStream.close(); 285 | } 286 | if(stringsis != null) { 287 | stringsis.close(); 288 | } 289 | } 290 | } 291 | 292 | public void waitForVisibility(WebElement e) { 293 | WebDriverWait wait = new WebDriverWait(getDriver(), Duration.ofSeconds(TestUtils.WAIT)); 294 | wait.until(ExpectedConditions.visibilityOf(e)); 295 | } 296 | 297 | /* public void waitForVisibility(WebElement e){ 298 | Wait wait = new FluentWait(getDriver()) 299 | .withTimeout(Duration.ofSeconds(30)) 300 | .pollingEvery(Duration.ofSeconds(5)) 301 | .ignoring(NoSuchElementException.class); 302 | wait.until(ExpectedConditions.visibilityOf(e)); 303 | }*/ 304 | 305 | public void clear(WebElement e) { 306 | waitForVisibility(e); 307 | e.clear(); 308 | } 309 | 310 | public void click(WebElement e) { 311 | waitForVisibility(e); 312 | e.click(); 313 | } 314 | 315 | public void click(WebElement e, String msg) { 316 | waitForVisibility(e); 317 | utils.log().info(msg); 318 | ExtentReport.getTest().log(Status.INFO, msg); 319 | e.click(); 320 | } 321 | 322 | public void sendKeys(WebElement e, String txt) { 323 | waitForVisibility(e); 324 | e.sendKeys(txt); 325 | } 326 | 327 | public void sendKeys(WebElement e, String txt, String msg) { 328 | waitForVisibility(e); 329 | utils.log().info(msg); 330 | ExtentReport.getTest().log(Status.INFO, msg); 331 | e.sendKeys(txt); 332 | } 333 | 334 | public String getAttribute(WebElement e, String attribute) { 335 | waitForVisibility(e); 336 | return e.getAttribute(attribute); 337 | } 338 | 339 | public String getText(WebElement e, String msg) { 340 | String txt = null; 341 | switch(getPlatform()) { 342 | case "Android": 343 | txt = getAttribute(e, "text"); 344 | break; 345 | case "iOS": 346 | txt = getAttribute(e, "label"); 347 | break; 348 | } 349 | utils.log().info(msg + txt); 350 | ExtentReport.getTest().log(Status.INFO, msg + txt); 351 | return txt; 352 | } 353 | 354 | public void closeApp() { 355 | switch(getPlatform()){ 356 | case "Android": 357 | ((InteractsWithApps) getDriver()).terminateApp(getProps().getProperty("androidAppPackage")); 358 | break; 359 | case "iOS": 360 | ((InteractsWithApps) getDriver()).terminateApp(getProps().getProperty("iOSBundleId")); 361 | } 362 | } 363 | 364 | public void launchApp() { 365 | switch(getPlatform()){ 366 | case "Android": 367 | ((InteractsWithApps) getDriver()).activateApp(getProps().getProperty("androidAppPackage")); 368 | break; 369 | case "iOS": 370 | ((InteractsWithApps) getDriver()).activateApp(getProps().getProperty("iOSBundleId")); 371 | } 372 | } 373 | 374 | public WebElement scrollToElement() { 375 | return getDriver().findElement(AppiumBy.androidUIAutomator( 376 | "new UiScrollable(new UiSelector()" + ".scrollable(true)).scrollIntoView(" 377 | + "new UiSelector().description(\"test-Price\"));")); 378 | } 379 | 380 | public void iOSScrollToElement() { 381 | // RemoteWebElement element = (RemoteWebElement)getDriver().findElement(By.name("test-ADD TO CART")); 382 | // String elementID = element.getId(); 383 | HashMap scrollObject = new HashMap(); 384 | // scrollObject.put("element", elementID); 385 | scrollObject.put("direction", "down"); 386 | // scrollObject.put("predicateString", "label == 'ADD TO CART'"); 387 | // scrollObject.put("name", "test-ADD TO CART"); 388 | // scrollObject.put("toVisible", "sdfnjksdnfkld"); 389 | getDriver().executeScript("mobile:scroll", scrollObject); 390 | } 391 | 392 | @AfterTest (alwaysRun = true) 393 | public void afterTest() { 394 | if(getDriver() != null){ 395 | getDriver().quit(); 396 | } 397 | } 398 | } 399 | -------------------------------------------------------------------------------- /src/test/java/com/qa/MenuPage.java: -------------------------------------------------------------------------------- 1 | package com.qa; 2 | 3 | import com.qa.pages.SettingsPage; 4 | import com.qa.utils.TestUtils; 5 | import io.appium.java_client.pagefactory.AndroidFindBy; 6 | import io.appium.java_client.pagefactory.AppiumFieldDecorator; 7 | import io.appium.java_client.pagefactory.iOSXCUITFindBy; 8 | import org.openqa.selenium.WebElement; 9 | import org.openqa.selenium.support.PageFactory; 10 | 11 | public class MenuPage extends BaseTest { 12 | TestUtils utils = new TestUtils(); 13 | 14 | @AndroidFindBy (xpath="//android.view.ViewGroup[@content-desc=\"test-Menu\"]/android.view.ViewGroup/android.widget.ImageView\n" + 15 | "") 16 | @iOSXCUITFindBy (xpath="//XCUIElementTypeOther[@name=\"test-Menu\"]/XCUIElementTypeOther") 17 | private WebElement settingsBtn; 18 | 19 | public MenuPage(){ 20 | PageFactory.initElements(new AppiumFieldDecorator(getDriver()), this); 21 | } 22 | 23 | public SettingsPage pressSettingsBtn() { 24 | click(settingsBtn, "press Settings button"); 25 | return new SettingsPage(); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/test/java/com/qa/listeners/TestListener.java: -------------------------------------------------------------------------------- 1 | package com.qa.listeners; 2 | 3 | import com.aventstack.extentreports.MediaEntityBuilder; 4 | import com.aventstack.extentreports.Status; 5 | import com.qa.BaseTest; 6 | import com.qa.reports.ExtentReport; 7 | import com.qa.utils.TestUtils; 8 | import org.apache.commons.codec.binary.Base64; 9 | import org.apache.commons.io.FileUtils; 10 | import org.openqa.selenium.OutputType; 11 | import org.testng.ITestContext; 12 | import org.testng.ITestListener; 13 | import org.testng.ITestResult; 14 | import org.testng.Reporter; 15 | 16 | import java.io.File; 17 | import java.io.IOException; 18 | import java.io.PrintWriter; 19 | import java.io.StringWriter; 20 | import java.nio.charset.StandardCharsets; 21 | import java.util.HashMap; 22 | import java.util.Map; 23 | 24 | public class TestListener implements ITestListener { 25 | TestUtils utils = new TestUtils(); 26 | 27 | public void onTestFailure(ITestResult result) { 28 | if(result.getThrowable() != null) { 29 | StringWriter sw = new StringWriter(); 30 | PrintWriter pw = new PrintWriter(sw); 31 | result.getThrowable().printStackTrace(pw); 32 | utils.log().error(sw.toString()); 33 | } 34 | 35 | BaseTest base = new BaseTest(); 36 | File file = base.getDriver().getScreenshotAs(OutputType.FILE); 37 | 38 | byte[] encoded = null; 39 | try { 40 | encoded = Base64.encodeBase64(FileUtils.readFileToByteArray(file)); 41 | } catch (IOException e1) { 42 | // TODO Auto-generated catch block 43 | e1.printStackTrace(); 44 | } 45 | 46 | Map params = new HashMap(); 47 | params = result.getTestContext().getCurrentXmlTest().getAllParameters(); 48 | 49 | String imagePath = "Screenshots" + File.separator + params.get("platformName") 50 | + "_" + params.get("deviceName") + File.separator + base.getDateTime() + File.separator 51 | + result.getTestClass().getRealClass().getSimpleName() + File.separator + result.getName() + ".png"; 52 | 53 | String completeImagePath = System.getProperty("user.dir") + File.separator + imagePath; 54 | 55 | try { 56 | FileUtils.copyFile(file, new File(imagePath)); 57 | Reporter.log("This is the sample screenshot"); 58 | Reporter.log(" "); 59 | } catch (IOException e) { 60 | // TODO Auto-generated catch block 61 | e.printStackTrace(); 62 | } 63 | ExtentReport.getTest().fail("Test Failed", 64 | MediaEntityBuilder.createScreenCaptureFromPath(completeImagePath).build()); 65 | ExtentReport.getTest().fail("Test Failed", 66 | MediaEntityBuilder.createScreenCaptureFromBase64String(new String(encoded, StandardCharsets.US_ASCII)).build()); 67 | ExtentReport.getTest().fail(result.getThrowable()); 68 | } 69 | 70 | @Override 71 | public void onTestStart(ITestResult result) { 72 | BaseTest base = new BaseTest(); 73 | ExtentReport.startTest(result.getName(), result.getMethod().getDescription()) 74 | .assignCategory(base.getPlatform() + "_" + base.getDeviceName()) 75 | .assignAuthor("Omprakash"); 76 | } 77 | 78 | @Override 79 | public void onTestSuccess(ITestResult result) { 80 | ExtentReport.getTest().log(Status.PASS, "Test Passed"); 81 | 82 | } 83 | 84 | @Override 85 | public void onTestSkipped(ITestResult result) { 86 | ExtentReport.getTest().log(Status.SKIP, "Test Skipped"); 87 | 88 | } 89 | 90 | @Override 91 | public void onTestFailedButWithinSuccessPercentage(ITestResult result) { 92 | // TODO Auto-generated method stub 93 | 94 | } 95 | 96 | @Override 97 | public void onStart(ITestContext context) { 98 | // TODO Auto-generated method stub 99 | 100 | } 101 | 102 | @Override 103 | public void onFinish(ITestContext context) { 104 | ExtentReport.getReporter().flush(); 105 | } 106 | 107 | } 108 | -------------------------------------------------------------------------------- /src/test/java/com/qa/pages/LoginPage.java: -------------------------------------------------------------------------------- 1 | package com.qa.pages; 2 | 3 | import com.qa.BaseTest; 4 | import com.qa.utils.TestUtils; 5 | import io.appium.java_client.pagefactory.AndroidFindBy; 6 | import io.appium.java_client.pagefactory.AppiumFieldDecorator; 7 | import io.appium.java_client.pagefactory.iOSXCUITFindBy; 8 | import org.openqa.selenium.WebElement; 9 | import org.openqa.selenium.support.PageFactory; 10 | 11 | public class LoginPage extends BaseTest { 12 | TestUtils utils = new TestUtils(); 13 | @AndroidFindBy (accessibility = "test-Username") 14 | @iOSXCUITFindBy (id = "test-Username") 15 | private WebElement usernameTxtFld; 16 | 17 | @AndroidFindBy (accessibility = "test-Password") 18 | @iOSXCUITFindBy (id = "test-Password") 19 | private WebElement passwordTxtFld; 20 | 21 | @AndroidFindBy (accessibility = "test-LOGIN") 22 | @iOSXCUITFindBy (id = "test-LOGIN") 23 | private WebElement loginBtn; 24 | 25 | @AndroidFindBy (xpath = "//android.view.ViewGroup[@content-desc=\"test-Error message\"]/android.widget.TextView") 26 | @iOSXCUITFindBy (xpath = "//XCUIElementTypeOther[@name=\"test-Error message\"]/child::XCUIElementTypeStaticText") 27 | private WebElement errTxt; 28 | 29 | public LoginPage(){ 30 | PageFactory.initElements(new AppiumFieldDecorator(getDriver()), this); 31 | } 32 | 33 | public LoginPage enterUserName(String username) { 34 | clear(usernameTxtFld); 35 | sendKeys(usernameTxtFld, username, "login with " + username); 36 | return this; 37 | } 38 | 39 | public LoginPage enterPassword(String password) { 40 | clear(passwordTxtFld); 41 | sendKeys(passwordTxtFld, password, "password is " + password); 42 | return this; 43 | } 44 | 45 | public ProductsPage pressLoginBtn() { 46 | click(loginBtn, "press login button"); 47 | return new ProductsPage(); 48 | } 49 | 50 | public ProductsPage login(String username, String password) { 51 | enterUserName(username); 52 | enterPassword(password); 53 | return pressLoginBtn(); 54 | } 55 | 56 | public String getErrTxt() { 57 | String err = getText(errTxt, "error text is - "); 58 | return err; 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /src/test/java/com/qa/pages/ProductDetailsPage.java: -------------------------------------------------------------------------------- 1 | package com.qa.pages; 2 | 3 | import com.qa.MenuPage; 4 | import com.qa.utils.TestUtils; 5 | import io.appium.java_client.pagefactory.AndroidFindBy; 6 | import io.appium.java_client.pagefactory.AppiumFieldDecorator; 7 | import io.appium.java_client.pagefactory.iOSXCUITFindBy; 8 | import org.openqa.selenium.WebElement; 9 | import org.openqa.selenium.support.PageFactory; 10 | 11 | public class ProductDetailsPage extends MenuPage { 12 | TestUtils utils = new TestUtils(); 13 | 14 | @AndroidFindBy (xpath = "//android.view.ViewGroup[@content-desc=\"test-Description\"]/android.widget.TextView[1]\n" + 15 | "") 16 | @iOSXCUITFindBy (xpath = "//XCUIElementTypeOther[@name=\"test-Description\"]/child::XCUIElementTypeStaticText[1]") 17 | private WebElement SLBTitle; 18 | 19 | @AndroidFindBy (xpath = "//android.view.ViewGroup[@content-desc=\"test-Description\"]/android.widget.TextView[2]" 20 | + "") 21 | @iOSXCUITFindBy (xpath = "//XCUIElementTypeOther[@name=\"test-Description\"]/child::XCUIElementTypeStaticText[2]") 22 | private WebElement SLBTxt; 23 | 24 | // @AndroidFindBy (accessibility = "test-Price") private MobileElement SLBPrice; 25 | 26 | @AndroidFindBy (accessibility = "test-BACK TO PRODUCTS") 27 | @iOSXCUITFindBy (id = "test-BACK TO PRODUCTS") 28 | private WebElement backToProductsBtn; 29 | 30 | @iOSXCUITFindBy (id = "test-ADD TO CART") private WebElement addToCartBtn; 31 | 32 | public ProductDetailsPage(){ 33 | PageFactory.initElements(new AppiumFieldDecorator(getDriver()), this); 34 | } 35 | 36 | public String getSLBTitle() { 37 | String title = getText(SLBTitle, "title is - "); 38 | return title; 39 | } 40 | 41 | public String getSLBTxt() { 42 | String txt = getText(SLBTxt, "txt is - "); 43 | return txt; 44 | } 45 | 46 | /* 47 | * public String getSLBPrice() { String price = getText(SLBPrice); 48 | * utils.log("price is - " + price); return price; } 49 | */ 50 | 51 | public String scrollToSLBPriceAndGetSLBPrice() { 52 | return getText(scrollToElement(), ""); 53 | } 54 | 55 | public void scrollPage() { 56 | iOSScrollToElement(); 57 | } 58 | 59 | public Boolean isAddToCartBtnDisplayed() { 60 | return addToCartBtn.isDisplayed(); 61 | } 62 | 63 | public ProductsPage pressBackToProductsBtn() { 64 | click(backToProductsBtn, "navigate back to products page"); 65 | return new ProductsPage(); 66 | } 67 | 68 | } 69 | -------------------------------------------------------------------------------- /src/test/java/com/qa/pages/ProductsPage.java: -------------------------------------------------------------------------------- 1 | package com.qa.pages; 2 | 3 | import com.qa.MenuPage; 4 | import com.qa.utils.TestUtils; 5 | import io.appium.java_client.pagefactory.AndroidFindBy; 6 | import io.appium.java_client.pagefactory.AppiumFieldDecorator; 7 | import io.appium.java_client.pagefactory.iOSXCUITFindBy; 8 | import org.openqa.selenium.WebElement; 9 | import org.openqa.selenium.support.PageFactory; 10 | 11 | public class ProductsPage extends MenuPage { 12 | TestUtils utils = new TestUtils(); 13 | 14 | // @AndroidFindBy (xpath = "//android.widget.ScrollView[@content-desc=\"test-PRODUCTS\"]/preceding-sibling::android.view.ViewGroup/android.widget.TextView") 15 | @AndroidFindBy (xpath = "//android.widget.TextView[@text='PRODUCTS']") 16 | @iOSXCUITFindBy (xpath ="//XCUIElementTypeOther[@name=\"test-Toggle\"]/parent::*[1]/preceding-sibling::*[1]") 17 | private WebElement productTitleTxt; 18 | 19 | @AndroidFindBy (xpath = "(//android.widget.TextView[@content-desc=\"test-Item title\"])[1]") 20 | @iOSXCUITFindBy (xpath = "(//XCUIElementTypeStaticText[@name=\"test-Item title\"])[1]") 21 | private WebElement SLBTitle; 22 | 23 | @AndroidFindBy (xpath = "(//android.widget.TextView[@content-desc=\"test-Price\"])[1]") 24 | @iOSXCUITFindBy (xpath = "(//XCUIElementTypeStaticText[@name=\"test-Price\"])[1]") 25 | private WebElement SLBPrice; 26 | 27 | public ProductsPage(){ 28 | PageFactory.initElements(new AppiumFieldDecorator(getDriver()), this); 29 | } 30 | 31 | public String getTitle() { 32 | String title = getText(productTitleTxt, "product page title is - "); 33 | return title; 34 | } 35 | 36 | public String getSLBTitle() { 37 | String title = getText(SLBTitle, "title is - "); 38 | return title; 39 | } 40 | 41 | public String getSLBPrice() { 42 | String price = getText(SLBPrice, "price is - "); 43 | return price; 44 | } 45 | 46 | public ProductDetailsPage pressSLBTitle() { 47 | click(SLBTitle, "press SLB tile link"); 48 | return new ProductDetailsPage(); 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/test/java/com/qa/pages/SettingsPage.java: -------------------------------------------------------------------------------- 1 | package com.qa.pages; 2 | 3 | import com.qa.BaseTest; 4 | import com.qa.utils.TestUtils; 5 | import io.appium.java_client.pagefactory.AndroidFindBy; 6 | import io.appium.java_client.pagefactory.AppiumFieldDecorator; 7 | import io.appium.java_client.pagefactory.iOSXCUITFindBy; 8 | import org.openqa.selenium.WebElement; 9 | import org.openqa.selenium.support.PageFactory; 10 | 11 | public class SettingsPage extends BaseTest { 12 | TestUtils utils = new TestUtils(); 13 | 14 | @AndroidFindBy (accessibility="test-LOGOUT") 15 | @iOSXCUITFindBy (id = "test-LOGOUT") 16 | private WebElement logoutBtn; 17 | 18 | public SettingsPage(){ 19 | PageFactory.initElements(new AppiumFieldDecorator(getDriver()), this); 20 | } 21 | 22 | public LoginPage pressLogoutBtn() { 23 | click(logoutBtn, "press Logout button"); 24 | return new LoginPage(); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/test/java/com/qa/reports/ExtentReport.java: -------------------------------------------------------------------------------- 1 | package com.qa.reports; 2 | 3 | import com.aventstack.extentreports.ExtentReports; 4 | import com.aventstack.extentreports.ExtentTest; 5 | import com.aventstack.extentreports.reporter.ExtentSparkReporter; 6 | import com.aventstack.extentreports.reporter.configuration.Theme; 7 | 8 | import java.util.HashMap; 9 | import java.util.Map; 10 | 11 | public class ExtentReport { 12 | static ExtentReports extent; 13 | final static String filePath = "Extent.html"; 14 | static Map extentTestMap = new HashMap(); 15 | 16 | public synchronized static ExtentReports getReporter() { 17 | if (extent == null) { 18 | ExtentSparkReporter html = new ExtentSparkReporter("Extent.html"); 19 | html.config().setDocumentTitle("Appium Framework"); 20 | html.config().setReportName("MyApp"); 21 | html.config().setTheme(Theme.DARK); 22 | extent = new ExtentReports(); 23 | extent.attachReporter(html); 24 | } 25 | 26 | return extent; 27 | } 28 | 29 | public static synchronized ExtentTest getTest() { 30 | return (ExtentTest) extentTestMap.get((int) (long) (Thread.currentThread().getId())); 31 | } 32 | 33 | public static synchronized ExtentTest startTest(String testName, String desc) { 34 | ExtentTest test = getReporter().createTest(testName, desc); 35 | extentTestMap.put((int) (long) (Thread.currentThread().getId()), test); 36 | return test; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/test/java/com/qa/tests/LoginTests.java: -------------------------------------------------------------------------------- 1 | package com.qa.tests; 2 | 3 | import com.qa.BaseTest; 4 | import com.qa.pages.LoginPage; 5 | import com.qa.pages.ProductsPage; 6 | import com.qa.utils.TestUtils; 7 | import org.json.JSONObject; 8 | import org.json.JSONTokener; 9 | import org.testng.Assert; 10 | import org.testng.annotations.*; 11 | 12 | import java.io.InputStream; 13 | import java.lang.reflect.Method; 14 | 15 | public class LoginTests extends BaseTest{ 16 | LoginPage loginPage; 17 | ProductsPage productsPage; 18 | JSONObject loginUsers; 19 | TestUtils utils = new TestUtils(); 20 | 21 | @BeforeClass 22 | public void beforeClass() throws Exception { 23 | InputStream datais = null; 24 | try { 25 | String dataFileName = "data/loginUsers.json"; 26 | datais = getClass().getClassLoader().getResourceAsStream(dataFileName); 27 | JSONTokener tokener = new JSONTokener(datais); 28 | loginUsers = new JSONObject(tokener); 29 | } catch(Exception e) { 30 | e.printStackTrace(); 31 | throw e; 32 | } finally { 33 | if(datais != null) { 34 | datais.close(); 35 | } 36 | } 37 | /* 38 | To ensure each test starts with a fresh app state, closeApp() and launchApp() have been moved to the 39 | @BeforeMethod section. 40 | // closeApp(); 41 | // launchApp(); 42 | */ 43 | } 44 | 45 | @AfterClass 46 | public void afterClass() { 47 | } 48 | 49 | @BeforeMethod 50 | public void beforeMethod(Method m) { 51 | closeApp(); 52 | launchApp(); 53 | 54 | utils.log().info("\n" + "****** starting test:" + m.getName() + "******" + "\n"); 55 | loginPage = new LoginPage(); 56 | } 57 | 58 | @AfterMethod 59 | public void afterMethod() { 60 | } 61 | 62 | @Test 63 | public void invalidUserName() { 64 | loginPage.enterUserName(loginUsers.getJSONObject("invalidUser").getString("username")); 65 | loginPage.enterPassword(loginUsers.getJSONObject("invalidUser").getString("password")); 66 | loginPage.pressLoginBtn(); 67 | 68 | String actualErrTxt = loginPage.getErrTxt(); 69 | String expectedErrTxt = getStrings().get("err_invalid_username_or_password"); 70 | 71 | Assert.assertEquals(actualErrTxt, expectedErrTxt); 72 | } 73 | 74 | @Test 75 | public void invalidPassword() { 76 | loginPage.enterUserName(loginUsers.getJSONObject("invalidPassword").getString("username")); 77 | loginPage.enterPassword(loginUsers.getJSONObject("invalidPassword").getString("password")); 78 | loginPage.pressLoginBtn(); 79 | 80 | String actualErrTxt = loginPage.getErrTxt(); 81 | String expectedErrTxt = getStrings().get("err_invalid_username_or_password"); 82 | 83 | Assert.assertEquals(actualErrTxt, expectedErrTxt); 84 | } 85 | 86 | @Test 87 | public void successfulLogin() { 88 | loginPage.enterUserName(loginUsers.getJSONObject("validUser").getString("username")); 89 | loginPage.enterPassword(loginUsers.getJSONObject("validUser").getString("password")); 90 | productsPage = loginPage.pressLoginBtn(); 91 | 92 | String actualProductTitle = productsPage.getTitle(); 93 | String expectedProductTitle = getStrings().get("product_title"); 94 | 95 | Assert.assertEquals(actualProductTitle, expectedProductTitle); 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /src/test/java/com/qa/tests/ProductTests.java: -------------------------------------------------------------------------------- 1 | package com.qa.tests; 2 | 3 | import com.qa.BaseTest; 4 | import com.qa.pages.LoginPage; 5 | import com.qa.pages.ProductDetailsPage; 6 | import com.qa.pages.ProductsPage; 7 | import com.qa.pages.SettingsPage; 8 | import com.qa.utils.TestUtils; 9 | import org.json.JSONObject; 10 | import org.json.JSONTokener; 11 | import org.testng.annotations.*; 12 | import org.testng.asserts.SoftAssert; 13 | 14 | import java.io.InputStream; 15 | import java.lang.reflect.Method; 16 | 17 | public class ProductTests extends BaseTest{ 18 | LoginPage loginPage; 19 | ProductsPage productsPage; 20 | SettingsPage settingsPage; 21 | ProductDetailsPage productDetailsPage; 22 | JSONObject loginUsers; 23 | TestUtils utils = new TestUtils(); 24 | 25 | @BeforeClass 26 | public void beforeClass() throws Exception { 27 | InputStream datais = null; 28 | try { 29 | String dataFileName = "data/loginUsers.json"; 30 | datais = getClass().getClassLoader().getResourceAsStream(dataFileName); 31 | JSONTokener tokener = new JSONTokener(datais); 32 | loginUsers = new JSONObject(tokener); 33 | } catch(Exception e) { 34 | e.printStackTrace(); 35 | throw e; 36 | } finally { 37 | if(datais != null) { 38 | datais.close(); 39 | } 40 | } 41 | /* 42 | To ensure each test starts with a fresh app state, closeApp() and launchApp() have been moved to the 43 | @BeforeMethod section. 44 | // closeApp(); 45 | // launchApp(); 46 | */ 47 | } 48 | 49 | @AfterClass 50 | public void afterClass() { 51 | } 52 | 53 | @BeforeMethod 54 | public void beforeMethod(Method m) { 55 | closeApp(); 56 | launchApp(); 57 | 58 | utils.log().info("\n" + "****** starting test:" + m.getName() + "******" + "\n"); 59 | 60 | /* 61 | The following commented code was moved to individual test methods to solve the problem: 62 | java.lang.NullPointerException ... because "com.qa.reports.ExtentReport.getTest()" returns null. 63 | 64 | We also moved closeApp() and launchApp() to @BeforeMethod to give clean app state to each test method. 65 | 66 | Explanation: 67 | 68 | The error occurs because the method getTest() in ExtentReport is called before createTest() has a chance to run. 69 | In TestNG, the @BeforeMethod code runs before the onTestStart() listener method, where the createTest() of 70 | Extent Report is supposed to be called. This leads to a situation where ExtentReport has not been properly set up yet, 71 | resulting in a null value. 72 | 73 | Therefore, when the login code is executed, it tries to use this uninitialized Extent Report, leading to the 74 | null pointer exception when calling the getTest() method. This happens during UI actions, such as click(). 75 | 76 | // loginPage = new LoginPage(); 77 | // productsPage = loginPage.login(loginUsers.getJSONObject("validUser").getString("username"), 78 | // loginUsers.getJSONObject("validUser").getString("password")); 79 | */ 80 | } 81 | 82 | @AfterMethod 83 | public void afterMethod() { 84 | /* 85 | The code below is no longer needed because closeApp() and launchApp() have been moved to @BeforeMethod: 86 | // settingsPage = productsPage.pressSettingsBtn(); 87 | // loginPage = settingsPage.pressLogoutBtn(); 88 | */ 89 | } 90 | 91 | @Test 92 | public void validateProductOnProductsPage() { 93 | loginPage = new LoginPage(); 94 | productsPage = loginPage.login(loginUsers.getJSONObject("validUser").getString("username"), 95 | loginUsers.getJSONObject("validUser").getString("password")); 96 | 97 | SoftAssert sa = new SoftAssert(); 98 | 99 | String SLBTitle = productsPage.getSLBTitle(); 100 | sa.assertEquals(SLBTitle, getStrings().get("products_page_slb_title")); 101 | 102 | String SLBPrice = productsPage.getSLBPrice(); 103 | sa.assertEquals(SLBPrice, getStrings().get("products_page_slb_price")); 104 | 105 | sa.assertAll(); 106 | } 107 | 108 | @Test 109 | public void validateProductOnProductDetailsPage() { 110 | loginPage = new LoginPage(); 111 | productsPage = loginPage.login(loginUsers.getJSONObject("validUser").getString("username"), 112 | loginUsers.getJSONObject("validUser").getString("password")); 113 | 114 | SoftAssert sa = new SoftAssert(); 115 | 116 | productDetailsPage = productsPage.pressSLBTitle(); 117 | 118 | String SLBTitle = productDetailsPage.getSLBTitle(); 119 | sa.assertEquals(SLBTitle, getStrings().get("product_details_page_slb_title")); 120 | 121 | if(getPlatform().equalsIgnoreCase("Android")) { 122 | String SLBPrice = productDetailsPage.scrollToSLBPriceAndGetSLBPrice(); 123 | sa.assertEquals(SLBPrice, getStrings().get("product_details_page_slb_price")); 124 | } 125 | if(getPlatform().equalsIgnoreCase("iOS")) { 126 | String SLBTxt = productDetailsPage.getSLBTxt(); 127 | sa.assertEquals(SLBTxt, getStrings().get("product_details_page_slb_txt")); 128 | 129 | productDetailsPage.scrollPage(); 130 | sa.assertTrue(productDetailsPage.isAddToCartBtnDisplayed()); 131 | } 132 | // productsPage = productDetailsPage.pressBackToProductsBtn(); // -> Commented as this is causing stale element exception for the Settings icon 133 | 134 | sa.assertAll(); 135 | } 136 | } 137 | -------------------------------------------------------------------------------- /src/test/java/com/qa/utils/TestUtils.java: -------------------------------------------------------------------------------- 1 | package com.qa.utils; 2 | 3 | import com.qa.BaseTest; 4 | import org.apache.logging.log4j.LogManager; 5 | import org.apache.logging.log4j.Logger; 6 | import org.w3c.dom.Document; 7 | import org.w3c.dom.Element; 8 | import org.w3c.dom.Node; 9 | import org.w3c.dom.NodeList; 10 | 11 | import javax.xml.parsers.DocumentBuilder; 12 | import javax.xml.parsers.DocumentBuilderFactory; 13 | import java.io.*; 14 | import java.text.DateFormat; 15 | import java.text.SimpleDateFormat; 16 | import java.util.Date; 17 | import java.util.HashMap; 18 | 19 | public class TestUtils { 20 | public static final long WAIT = 10; 21 | 22 | public HashMap parseStringXML(InputStream file) throws Exception{ 23 | HashMap stringMap = new HashMap(); 24 | //Get Document Builder 25 | DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 26 | DocumentBuilder builder = factory.newDocumentBuilder(); 27 | 28 | //Build Document 29 | Document document = builder.parse(file); 30 | 31 | //Normalize the XML Structure; It's just too important !! 32 | document.getDocumentElement().normalize(); 33 | 34 | //Here comes the root node 35 | Element root = document.getDocumentElement(); 36 | 37 | //Get all elements 38 | NodeList nList = document.getElementsByTagName("string"); 39 | 40 | for (int temp = 0; temp < nList.getLength(); temp++) 41 | { 42 | Node node = nList.item(temp); 43 | if (node.getNodeType() == Node.ELEMENT_NODE) 44 | { 45 | Element eElement = (Element) node; 46 | // Store each element key value in map 47 | stringMap.put(eElement.getAttribute("name"), eElement.getTextContent()); 48 | } 49 | } 50 | return stringMap; 51 | } 52 | 53 | public String dateTime() { 54 | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss"); 55 | Date date = new Date(); 56 | return dateFormat.format(date); 57 | } 58 | 59 | public void log(String txt) { 60 | BaseTest base = new BaseTest(); 61 | String msg = Thread.currentThread().getId() + ":" + base.getPlatform() + ":" + base.getDeviceName() + ":" 62 | + Thread.currentThread().getStackTrace()[2].getClassName() + ":" + txt; 63 | 64 | System.out.println(msg); 65 | 66 | String strFile = "logs" + File.separator + base.getPlatform() + "_" + base.getDeviceName() 67 | + File.separator + base.getDateTime(); 68 | 69 | File logFile = new File(strFile); 70 | 71 | if (!logFile.exists()) { 72 | logFile.mkdirs(); 73 | } 74 | 75 | FileWriter fileWriter = null; 76 | try { 77 | fileWriter = new FileWriter(logFile + File.separator + "log.txt",true); 78 | } catch (IOException e) { 79 | // TODO Auto-generated catch block 80 | e.printStackTrace(); 81 | } 82 | PrintWriter printWriter = new PrintWriter(fileWriter); 83 | printWriter.println(msg); 84 | printWriter.close(); 85 | } 86 | 87 | public Logger log() { 88 | return LogManager.getLogger(Thread.currentThread().getStackTrace()[2].getClassName()); 89 | } 90 | 91 | } 92 | -------------------------------------------------------------------------------- /src/test/resources/app/Android.SauceLabs.Mobile.Sample.app.2.2.1.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/Android.SauceLabs.Mobile.Sample.app.2.2.1.apk -------------------------------------------------------------------------------- /src/test/resources/app/Android.SauceLabs.Mobile.Sample.app.2.7.1.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/Android.SauceLabs.Mobile.Sample.app.2.7.1.apk -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/AntDesign.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/AntDesign.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/AppIcon20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/AppIcon20x20@2x.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/AppIcon20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/AppIcon20x20@3x.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/AppIcon29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/AppIcon29x29@2x.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/AppIcon29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/AppIcon29x29@3x.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/AppIcon40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/AppIcon40x40@2x.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/AppIcon40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/AppIcon40x40@3x.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/AppIcon60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/AppIcon60x60@2x.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/AppIcon60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/AppIcon60x60@3x.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Assets.car: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Assets.car -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Base.lproj/LaunchScreen.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Base.lproj/LaunchScreen.nib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Entypo.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Entypo.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/EvilIcons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/EvilIcons.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Feather.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Feather.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/FontAwesome.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/FontAwesome5_Brands.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/FontAwesome5_Brands.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/FontAwesome5_Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/FontAwesome5_Regular.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/FontAwesome5_Solid.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/FontAwesome5_Solid.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Fontisto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Fontisto.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Foundation.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Foundation.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftCore.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftCore.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftCoreFoundation.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftCoreFoundation.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftCoreGraphics.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftCoreGraphics.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftCoreImage.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftCoreImage.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftCoreLocation.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftCoreLocation.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftDarwin.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftDarwin.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftDispatch.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftDispatch.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftFoundation.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftFoundation.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftMetal.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftMetal.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftObjectiveC.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftObjectiveC.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftQuartzCore.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftQuartzCore.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftUIKit.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftUIKit.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftos.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Frameworks/libswiftos.dylib -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Info.plist -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Ionicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Ionicons.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/MaterialCommunityIcons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/MaterialCommunityIcons.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/MaterialIcons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/MaterialIcons.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/MuseoSans-100.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/MuseoSans-100.otf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/MuseoSans-100Italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/MuseoSans-100Italic.otf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/MuseoSans-300.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/MuseoSans-300.otf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/MuseoSans-300Italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/MuseoSans-300Italic.otf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/MuseoSans-700Italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/MuseoSans-700Italic.otf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/MuseoSans-900Italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/MuseoSans-900Italic.otf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/MuseoSans_500.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/MuseoSans_500.otf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/MuseoSans_500_Italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/MuseoSans_500_Italic.otf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/MuseoSans_700.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/MuseoSans_700.otf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/MuseoSans_900.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/MuseoSans_900.otf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Octicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Octicons.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/SimpleLineIcons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/SimpleLineIcons.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/SwagLabsMobileApp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/SwagLabsMobileApp -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/Zocial.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/Zocial.ttf -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | AntDesign.ttf 8 | 9 | TneGhDkoD7Q01Gl8e5EScUBsgfM= 10 | 11 | AppIcon20x20@2x.png 12 | 13 | Vn9fQC6unaAr3pkWsxkm4yEjLz8= 14 | 15 | AppIcon20x20@3x.png 16 | 17 | OGQaKHg5puh3lbk0I7YL6HilIcI= 18 | 19 | AppIcon29x29@2x.png 20 | 21 | 0//hZOEFTymmiSE0mVCEdJT7zoE= 22 | 23 | AppIcon29x29@3x.png 24 | 25 | DmnHyAO1lKLoecP4nqkx5CDwo00= 26 | 27 | AppIcon40x40@2x.png 28 | 29 | zODOlcghFq0YVsH/r+R6OwuouhM= 30 | 31 | AppIcon40x40@3x.png 32 | 33 | k73LnAljYKnbGanUkF+Uh7mKEtM= 34 | 35 | AppIcon60x60@2x.png 36 | 37 | k73LnAljYKnbGanUkF+Uh7mKEtM= 38 | 39 | AppIcon60x60@3x.png 40 | 41 | IYs1eJJIvE3QyKp5ZOYijyN8JLQ= 42 | 43 | Assets.car 44 | 45 | XZgFFu7FpLx625lKCyyBVFE9dvI= 46 | 47 | Base.lproj/LaunchScreen.nib 48 | 49 | I4rS2bLRdmCHzIxaCTnwfnV/re0= 50 | 51 | Entypo.ttf 52 | 53 | R4cKZ91Qhxdl95nKqX2ochnuR8U= 54 | 55 | EvilIcons.ttf 56 | 57 | kdN36jz0dJCyVsLtCBcEp9q9rgw= 58 | 59 | Feather.ttf 60 | 61 | Um4D6mimHEpnpwsB17NF6rNJdn0= 62 | 63 | FontAwesome.ttf 64 | 65 | E7HqtlqYPHpzvHmXxHnWaUP3xss= 66 | 67 | FontAwesome5_Brands.ttf 68 | 69 | Zshu39E+Y+Dpgc6FMzXCi8LSDOw= 70 | 71 | FontAwesome5_Regular.ttf 72 | 73 | APVp99isJJekOyXcTTsyITvOoxs= 74 | 75 | FontAwesome5_Solid.ttf 76 | 77 | /483360QV5a9kk0NsNN6T/JSYYw= 78 | 79 | Fontisto.ttf 80 | 81 | wJCj7Jaj8bubYVwvPyBM4Nzc28M= 82 | 83 | Foundation.ttf 84 | 85 | SyvObHkkk6SlcWtv7C2+/olJLD8= 86 | 87 | Frameworks/libswiftCore.dylib 88 | 89 | rrAp64iPhUL40XQR7JlGMDIZaMA= 90 | 91 | Frameworks/libswiftCoreFoundation.dylib 92 | 93 | P4IT9OqWCWZ8FyecMxQHhM6h4G8= 94 | 95 | Frameworks/libswiftCoreGraphics.dylib 96 | 97 | JoDjsNQXE3z2hogOouALtjw8m/g= 98 | 99 | Frameworks/libswiftCoreImage.dylib 100 | 101 | dccNAYDUBxOzns3c+W4XRSmf1Ps= 102 | 103 | Frameworks/libswiftCoreLocation.dylib 104 | 105 | GMi1JxCYZe10XWexHCK2KQ5T2Lo= 106 | 107 | Frameworks/libswiftDarwin.dylib 108 | 109 | XJGVexKAsC220QzBQHwL6VS/whc= 110 | 111 | Frameworks/libswiftDispatch.dylib 112 | 113 | xYRhwsR1eeXatGDr8WNyVj93krw= 114 | 115 | Frameworks/libswiftFoundation.dylib 116 | 117 | WclOTQyDfPDOGEjZboBz+yfxGVQ= 118 | 119 | Frameworks/libswiftMetal.dylib 120 | 121 | q6qpoqLxtRrru4zloX0b0xHIJVw= 122 | 123 | Frameworks/libswiftObjectiveC.dylib 124 | 125 | W4v+YlroD8+v27M4zKa/3r9eqdA= 126 | 127 | Frameworks/libswiftQuartzCore.dylib 128 | 129 | OzOL7prTxnOJwhTRps72jdhagI4= 130 | 131 | Frameworks/libswiftUIKit.dylib 132 | 133 | G10/WJel9vPNJjANFC1WEM1Jno0= 134 | 135 | Frameworks/libswiftos.dylib 136 | 137 | oMpvzHAVfevcqm0jDkhUpqLzhXg= 138 | 139 | Info.plist 140 | 141 | H6KZS8tzDwAC9P/V3VmsA/0jkQE= 142 | 143 | Ionicons.ttf 144 | 145 | tSgfv6QxKavD5BLdk4z88Ld96Zk= 146 | 147 | MaterialCommunityIcons.ttf 148 | 149 | gKQx1tSYYdZVAJ6UkUCSgtJVlZE= 150 | 151 | MaterialIcons.ttf 152 | 153 | GUOAPWUnUMjsYEFfHldAHHDnLSU= 154 | 155 | MuseoSans-100.otf 156 | 157 | SdNRsPBtu6HaeHiZdvM8Ksq86Ss= 158 | 159 | MuseoSans-100Italic.otf 160 | 161 | ESJKe3z+BnNI5u9hkbmshaKO1q0= 162 | 163 | MuseoSans-300.otf 164 | 165 | c9/FzOJ8jXFuXBSNsNTWybH0ZLU= 166 | 167 | MuseoSans-300Italic.otf 168 | 169 | /TwO6YJUBpgHyA9jCtJ/5zMyFjY= 170 | 171 | MuseoSans-700Italic.otf 172 | 173 | hgPZxte1yb2kQ8KuRaRI0pie86U= 174 | 175 | MuseoSans-900Italic.otf 176 | 177 | egU6yHeVxSTIJeyGCoGEw/054ro= 178 | 179 | MuseoSans_500.otf 180 | 181 | vQzMBlZfTMQ4QhvW8QFFaBWSUDQ= 182 | 183 | MuseoSans_500_Italic.otf 184 | 185 | C9NbaFaOiMAx5KmCHraHZLlIpr8= 186 | 187 | MuseoSans_700.otf 188 | 189 | aKn9uuY+SAICCsHFuCUVx3vFOZ0= 190 | 191 | MuseoSans_900.otf 192 | 193 | wABCLrUj5DcQtJlR69I13r0XkKk= 194 | 195 | Octicons.ttf 196 | 197 | KIdYdEE1A7zAgQ6ipE3BuDEsZlo= 198 | 199 | PkgInfo 200 | 201 | n57qDP4tZfLD1rCS43W0B4LQjzE= 202 | 203 | SimpleLineIcons.ttf 204 | 205 | n/uBpaEREuKS8swyPphIa61ZdZk= 206 | 207 | Zocial.ttf 208 | 209 | C9pZx7zT05J94EfgkYdaRCi/0as= 210 | 211 | assets/node_modules/react-native-ratings/src/images/airbnb-star-selected.png 212 | 213 | hmf3UuKfPUS+rQV3VCRSlOincJU= 214 | 215 | assets/node_modules/react-native-ratings/src/images/airbnb-star.png 216 | 217 | 6+SZFOypfbZrRIyeiqg37A1ERt4= 218 | 219 | assets/node_modules/react-native-ratings/src/images/bell.png 220 | 221 | mRk2D6wOdyusOvkEInbyL3K/E6k= 222 | 223 | assets/node_modules/react-native-ratings/src/images/heart.png 224 | 225 | rhZVvqRdTKoU0IrsdqQezFd0zb8= 226 | 227 | assets/node_modules/react-native-ratings/src/images/rocket.png 228 | 229 | mqOYKD+48iI8i2r6/LHKVlm0RGw= 230 | 231 | assets/node_modules/react-native-ratings/src/images/star.png 232 | 233 | XPFaCu1j/HeeE7zoK38ulP635qc= 234 | 235 | assets/node_modules/react-native-vector-icons/glyphmaps/AntDesign.json 236 | 237 | PoJveci96zTSptK+VgCJdZJER5A= 238 | 239 | assets/node_modules/react-native-vector-icons/glyphmaps/Entypo.json 240 | 241 | vP+/QMl+LCeJCh5NxZt7W2fRTkk= 242 | 243 | assets/node_modules/react-native-vector-icons/glyphmaps/EvilIcons.json 244 | 245 | ljsW3QZD8lzjigA6/o4zfFZagqM= 246 | 247 | assets/node_modules/react-native-vector-icons/glyphmaps/Feather.json 248 | 249 | J17YV/qOIUHnMiL5l/EObl2NEe0= 250 | 251 | assets/node_modules/react-native-vector-icons/glyphmaps/FontAwesome.json 252 | 253 | ZcNOPzPLU5pQFhW2jx8wZYjmNpI= 254 | 255 | assets/node_modules/react-native-vector-icons/glyphmaps/Foundation.json 256 | 257 | Ai42gALv1dnRb0630jFu/ei9k7Y= 258 | 259 | assets/node_modules/react-native-vector-icons/glyphmaps/Ionicons.json 260 | 261 | Q4dkqfy/5CTEjaqDVu+tcyl89pI= 262 | 263 | assets/node_modules/react-native-vector-icons/glyphmaps/MaterialCommunityIcons.json 264 | 265 | 6DneEMn761Q7+VswHmzqd+aBxMM= 266 | 267 | assets/node_modules/react-native-vector-icons/glyphmaps/MaterialIcons.json 268 | 269 | GxHc1Di9GnpNWGY4KNmxzB1sGII= 270 | 271 | assets/node_modules/react-native-vector-icons/glyphmaps/Octicons.json 272 | 273 | HEfQl9CbtMlZqIFlOOz1nf+IM5A= 274 | 275 | assets/node_modules/react-native-vector-icons/glyphmaps/SimpleLineIcons.json 276 | 277 | In54DUZJuzMm9BD6rbP2iYXyRcc= 278 | 279 | assets/node_modules/react-native-vector-icons/glyphmaps/Zocial.json 280 | 281 | C5nCU3RLmwBBTeqKR7SngR16ro0= 282 | 283 | assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon-mask.png 284 | 285 | jpFiMACcZJsxxIbM+ov9qJ/Euvw= 286 | 287 | assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon.png 288 | 289 | keLOi1inJdXs0IRSKnXqyhW57Aw= 290 | 291 | assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon@2x.png 292 | 293 | rSvG8m4uPMSItIcsIF+N2tDJD8U= 294 | 295 | assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon@3x.png 296 | 297 | 8kFG8Vv7Hfrw4yVcFrhUhbHieBA= 298 | 299 | assets/src/img/arrow-left.png 300 | 301 | ol4dpl6aZAzV0NakubcaUMk0C4I= 302 | 303 | assets/src/img/bike-light.jpg 304 | 305 | WGdYc7GxGwqGVitKBOoiIocknRs= 306 | 307 | assets/src/img/bolt-shirt.jpg 308 | 309 | r3e2SEsFg9pM+ocqo+4rc9L3xas= 310 | 311 | assets/src/img/filter-button.png 312 | 313 | Cs4RSATCYi7Ap+ObuE+RGpOlJs0= 314 | 315 | assets/src/img/footer-swagbot.png 316 | 317 | M0Awp1ae5fV+kmUxjAiNgLgkS6g= 318 | 319 | assets/src/img/login-bot.png 320 | 321 | Jy7v7OzFK+bIA6BHz9U9mVLCQnA= 322 | 323 | assets/src/img/menu-button.png 324 | 325 | GaG8qu8K3cDxmeCffvmLj0twj9I= 326 | 327 | assets/src/img/menu-cart.png 328 | 329 | bvkDmdrQZE+3q6izNb0ITmRo0yU= 330 | 331 | assets/src/img/menu-close.png 332 | 333 | VAa/l7vnKmoP1UHMBsFxNdFxm70= 334 | 335 | assets/src/img/pony-express.png 336 | 337 | IqpnUEIc0jvDA5S0SJmrojLL7j4= 338 | 339 | assets/src/img/red-onesie.jpg 340 | 341 | CSkceDAsur3a+aWfpNi3lEpIEvM= 342 | 343 | assets/src/img/red-tatt.jpg 344 | 345 | kFu9aKuVUbNf2SVudA3BbvMzcRQ= 346 | 347 | assets/src/img/sauce-backpack.jpg 348 | 349 | nDYv4DNGVBhPAZWhNx5kD/AZSJY= 350 | 351 | assets/src/img/sauce-bolt.png 352 | 353 | 1OvYbLe8fkyrX7KatUNBeQtJqsk= 354 | 355 | assets/src/img/sauce-pullover.jpg 356 | 357 | KZhN+qITABIpSxDrmDIBQTO/nMU= 358 | 359 | assets/src/img/sl-404.jpg 360 | 361 | vqNNFTfPmrctHSeh7yG9u2GR+xc= 362 | 363 | assets/src/img/surfing-sauce.jpg 364 | 365 | rueOUDtNVmezKZPkXFPEMQurarE= 366 | 367 | assets/src/img/swag-labs-logo.png 368 | 369 | slWS0g3HbE64gIvqD1NnR/tNGfU= 370 | 371 | assets/src/img/toggle-grid.png 372 | 373 | 00mZSv6TVear9ezNCXxl3EDKg6Y= 374 | 375 | assets/src/img/toggle-row.png 376 | 377 | JZOh08ZEvw8nBg+jWGlcFi/+4KQ= 378 | 379 | assets/src/js/app.json 380 | 381 | 10j99k42DTSsgRL12RuK4PshzQ4= 382 | 383 | main.jsbundle 384 | 385 | F6I47n44KOA9uKirSIiN+RmphBU= 386 | 387 | 388 | files2 389 | 390 | AntDesign.ttf 391 | 392 | hash 393 | 394 | TneGhDkoD7Q01Gl8e5EScUBsgfM= 395 | 396 | hash2 397 | 398 | eVXKFBJ7MEEsEU6xPP1wK12rJl/rGIDRaV1zyqgkzeE= 399 | 400 | 401 | AppIcon20x20@2x.png 402 | 403 | hash 404 | 405 | Vn9fQC6unaAr3pkWsxkm4yEjLz8= 406 | 407 | hash2 408 | 409 | 2qJZFkUiSFcQhVeyc/KUZ+4ec5YMSa6K56enKDZFYoQ= 410 | 411 | 412 | AppIcon20x20@3x.png 413 | 414 | hash 415 | 416 | OGQaKHg5puh3lbk0I7YL6HilIcI= 417 | 418 | hash2 419 | 420 | 4/mUMBqLzTstoKMuEDirECTRihomMo0adgupbAmXoxw= 421 | 422 | 423 | AppIcon29x29@2x.png 424 | 425 | hash 426 | 427 | 0//hZOEFTymmiSE0mVCEdJT7zoE= 428 | 429 | hash2 430 | 431 | FGPf0y4PM+fLOOlsC6cVN+dYdoaVZCPbMQsApiWcJpg= 432 | 433 | 434 | AppIcon29x29@3x.png 435 | 436 | hash 437 | 438 | DmnHyAO1lKLoecP4nqkx5CDwo00= 439 | 440 | hash2 441 | 442 | L0ioidZvulcwVAppn3id0ThnVVpnUY96YH+LX37m7+I= 443 | 444 | 445 | AppIcon40x40@2x.png 446 | 447 | hash 448 | 449 | zODOlcghFq0YVsH/r+R6OwuouhM= 450 | 451 | hash2 452 | 453 | A2LaLf2+K7+4l9eJGkIY6CAvNw9fhp5tFvaIRpTYHUU= 454 | 455 | 456 | AppIcon40x40@3x.png 457 | 458 | hash 459 | 460 | k73LnAljYKnbGanUkF+Uh7mKEtM= 461 | 462 | hash2 463 | 464 | VeCl9jcWcGwvry/J8w1zJsZuRRN3TDmBgRGlunvgzWc= 465 | 466 | 467 | AppIcon60x60@2x.png 468 | 469 | hash 470 | 471 | k73LnAljYKnbGanUkF+Uh7mKEtM= 472 | 473 | hash2 474 | 475 | VeCl9jcWcGwvry/J8w1zJsZuRRN3TDmBgRGlunvgzWc= 476 | 477 | 478 | AppIcon60x60@3x.png 479 | 480 | hash 481 | 482 | IYs1eJJIvE3QyKp5ZOYijyN8JLQ= 483 | 484 | hash2 485 | 486 | cpypu/uoSMioFwVuD6p+uY3fTHzunCJ7XNv+T8ennUA= 487 | 488 | 489 | Assets.car 490 | 491 | hash 492 | 493 | XZgFFu7FpLx625lKCyyBVFE9dvI= 494 | 495 | hash2 496 | 497 | Di8dQsInPum1z/W0uAq4T3zzJQm4teVVjeWByqBFLRA= 498 | 499 | 500 | Base.lproj/LaunchScreen.nib 501 | 502 | hash 503 | 504 | I4rS2bLRdmCHzIxaCTnwfnV/re0= 505 | 506 | hash2 507 | 508 | TzmfbaFXPg8HGfZqMNjPkrDEj+56RYzmnmF3jQMDx1E= 509 | 510 | 511 | Entypo.ttf 512 | 513 | hash 514 | 515 | R4cKZ91Qhxdl95nKqX2ochnuR8U= 516 | 517 | hash2 518 | 519 | 3QhJoVkfiNp5N7I/kiQYpc7FTgdeCePMyo/rYgFvqoI= 520 | 521 | 522 | EvilIcons.ttf 523 | 524 | hash 525 | 526 | kdN36jz0dJCyVsLtCBcEp9q9rgw= 527 | 528 | hash2 529 | 530 | pcrrTTlcXjLx1aMKyzgq68Zk8brf0UkxmQfyIV5OPiY= 531 | 532 | 533 | Feather.ttf 534 | 535 | hash 536 | 537 | Um4D6mimHEpnpwsB17NF6rNJdn0= 538 | 539 | hash2 540 | 541 | RtQXlhv1OBMGa9LExQGx+R+SVg01HG18MeJ9xp7A7cc= 542 | 543 | 544 | FontAwesome.ttf 545 | 546 | hash 547 | 548 | E7HqtlqYPHpzvHmXxHnWaUP3xss= 549 | 550 | hash2 551 | 552 | qljzPyOaD7AvXHpsRcBD16msmgkzNYBmlOzW1O3A1qg= 553 | 554 | 555 | FontAwesome5_Brands.ttf 556 | 557 | hash 558 | 559 | Zshu39E+Y+Dpgc6FMzXCi8LSDOw= 560 | 561 | hash2 562 | 563 | oMFFOCrP5Zdn0Uh9ZQXzSWZbaFwohc2RtiHRQaKSsPg= 564 | 565 | 566 | FontAwesome5_Regular.ttf 567 | 568 | hash 569 | 570 | APVp99isJJekOyXcTTsyITvOoxs= 571 | 572 | hash2 573 | 574 | 8yuUopBg3+wMeXod/hETV+sdaC8aykrEuVzw9MPiv6k= 575 | 576 | 577 | FontAwesome5_Solid.ttf 578 | 579 | hash 580 | 581 | /483360QV5a9kk0NsNN6T/JSYYw= 582 | 583 | hash2 584 | 585 | Ix1ozvvGhG+3jK/KhGdAGk83HiJkGGYuiQDj1SrcAKs= 586 | 587 | 588 | Fontisto.ttf 589 | 590 | hash 591 | 592 | wJCj7Jaj8bubYVwvPyBM4Nzc28M= 593 | 594 | hash2 595 | 596 | lNq58dWxPqB2nRJKLaDQJDPzuZ1t6loHwERqdxWBAMA= 597 | 598 | 599 | Foundation.ttf 600 | 601 | hash 602 | 603 | SyvObHkkk6SlcWtv7C2+/olJLD8= 604 | 605 | hash2 606 | 607 | fh3QPdTOkLZYBSVUzXRZ3xZxZxc4mlUvpMbVal+JM+Y= 608 | 609 | 610 | Frameworks/libswiftCore.dylib 611 | 612 | hash 613 | 614 | rrAp64iPhUL40XQR7JlGMDIZaMA= 615 | 616 | hash2 617 | 618 | SVCZK2UG9ihtWggcfIn/i94g//jyC4cI73gURFdHavA= 619 | 620 | 621 | Frameworks/libswiftCoreFoundation.dylib 622 | 623 | hash 624 | 625 | P4IT9OqWCWZ8FyecMxQHhM6h4G8= 626 | 627 | hash2 628 | 629 | /wz85l+DKAaQ7/BS+77vK5X998iA4Lwz+DGJ95g4kZw= 630 | 631 | 632 | Frameworks/libswiftCoreGraphics.dylib 633 | 634 | hash 635 | 636 | JoDjsNQXE3z2hogOouALtjw8m/g= 637 | 638 | hash2 639 | 640 | 6UmJ5TyRJe3XQ2ANvUh7wapWfH50HDaC5DE8brYBB5U= 641 | 642 | 643 | Frameworks/libswiftCoreImage.dylib 644 | 645 | hash 646 | 647 | dccNAYDUBxOzns3c+W4XRSmf1Ps= 648 | 649 | hash2 650 | 651 | yd4z45rFP5ibtGizpvCVNJ3AoMhTSP9AnIyUKk/JVGc= 652 | 653 | 654 | Frameworks/libswiftCoreLocation.dylib 655 | 656 | hash 657 | 658 | GMi1JxCYZe10XWexHCK2KQ5T2Lo= 659 | 660 | hash2 661 | 662 | I430RKmMGhsrGAnn25OPS3EcLck+xsi9NrCX2HT5gTw= 663 | 664 | 665 | Frameworks/libswiftDarwin.dylib 666 | 667 | hash 668 | 669 | XJGVexKAsC220QzBQHwL6VS/whc= 670 | 671 | hash2 672 | 673 | Fy3X7nPk7IgG+lCSWKHuMHgGz6Yi56UOKe6XajzinhU= 674 | 675 | 676 | Frameworks/libswiftDispatch.dylib 677 | 678 | hash 679 | 680 | xYRhwsR1eeXatGDr8WNyVj93krw= 681 | 682 | hash2 683 | 684 | ZSH1H7EN5E4TGGB63N2+7rR7N+rDR1LBmkhABOf9RVQ= 685 | 686 | 687 | Frameworks/libswiftFoundation.dylib 688 | 689 | hash 690 | 691 | WclOTQyDfPDOGEjZboBz+yfxGVQ= 692 | 693 | hash2 694 | 695 | 6SyHvvl3dAOzLH6bFEeF41TPcUHS3iYOdFK7I0FEU6M= 696 | 697 | 698 | Frameworks/libswiftMetal.dylib 699 | 700 | hash 701 | 702 | q6qpoqLxtRrru4zloX0b0xHIJVw= 703 | 704 | hash2 705 | 706 | Y51e3klbWCwDOKopGL7Z5cieD4LriiLn9IJFA0FvLTs= 707 | 708 | 709 | Frameworks/libswiftObjectiveC.dylib 710 | 711 | hash 712 | 713 | W4v+YlroD8+v27M4zKa/3r9eqdA= 714 | 715 | hash2 716 | 717 | zLWBGbdbTQk6chVChX0c8CFwhq8ogd9K00QEU5AufEY= 718 | 719 | 720 | Frameworks/libswiftQuartzCore.dylib 721 | 722 | hash 723 | 724 | OzOL7prTxnOJwhTRps72jdhagI4= 725 | 726 | hash2 727 | 728 | zB0hL5hCB758QPCoQtMOfmCnOq42iXWoTwQdcBU2G1U= 729 | 730 | 731 | Frameworks/libswiftUIKit.dylib 732 | 733 | hash 734 | 735 | G10/WJel9vPNJjANFC1WEM1Jno0= 736 | 737 | hash2 738 | 739 | sio8OcXJb8oJVNHzTWsEzXEpJrNWpQmF06EEIQKl26k= 740 | 741 | 742 | Frameworks/libswiftos.dylib 743 | 744 | hash 745 | 746 | oMpvzHAVfevcqm0jDkhUpqLzhXg= 747 | 748 | hash2 749 | 750 | KnKo8oZ57w7czhNeCWrd3UlEmiHIpnQ5qjzRz88lPuE= 751 | 752 | 753 | Ionicons.ttf 754 | 755 | hash 756 | 757 | tSgfv6QxKavD5BLdk4z88Ld96Zk= 758 | 759 | hash2 760 | 761 | 7rACslkR31LsyqT1swN3jtf0ipsHhSYwVR6fFcxwnzM= 762 | 763 | 764 | MaterialCommunityIcons.ttf 765 | 766 | hash 767 | 768 | gKQx1tSYYdZVAJ6UkUCSgtJVlZE= 769 | 770 | hash2 771 | 772 | biEyi7cPCdqSjAM95zaIItliUKHM0qFqb0fedqPMYb0= 773 | 774 | 775 | MaterialIcons.ttf 776 | 777 | hash 778 | 779 | GUOAPWUnUMjsYEFfHldAHHDnLSU= 780 | 781 | hash2 782 | 783 | xrFho4+y/siypSIlLQPJBzVc2RvMKOGd/dpfM1q+8Fg= 784 | 785 | 786 | MuseoSans-100.otf 787 | 788 | hash 789 | 790 | SdNRsPBtu6HaeHiZdvM8Ksq86Ss= 791 | 792 | hash2 793 | 794 | aOO3+VQVZ0YF0Cm47j3rduTrxxvT3+T0+e/8gOGPtoU= 795 | 796 | 797 | MuseoSans-100Italic.otf 798 | 799 | hash 800 | 801 | ESJKe3z+BnNI5u9hkbmshaKO1q0= 802 | 803 | hash2 804 | 805 | qgHaTYlVLMDIgPf7hH9dwT4jqca4qlPiH/Gr+ckgnqU= 806 | 807 | 808 | MuseoSans-300.otf 809 | 810 | hash 811 | 812 | c9/FzOJ8jXFuXBSNsNTWybH0ZLU= 813 | 814 | hash2 815 | 816 | 7MJPQPVlzj2GP0qw/jJYxtksp5Z3akyufWj7Uv3d630= 817 | 818 | 819 | MuseoSans-300Italic.otf 820 | 821 | hash 822 | 823 | /TwO6YJUBpgHyA9jCtJ/5zMyFjY= 824 | 825 | hash2 826 | 827 | ETgHTklVQqZg8SzOEJo+Iu8sc0RIELFMG4wQ9msOi38= 828 | 829 | 830 | MuseoSans-700Italic.otf 831 | 832 | hash 833 | 834 | hgPZxte1yb2kQ8KuRaRI0pie86U= 835 | 836 | hash2 837 | 838 | 3xD4jVlHpRF9buzcntcxlwAXMVfdb4M5h6uxCyF1PX4= 839 | 840 | 841 | MuseoSans-900Italic.otf 842 | 843 | hash 844 | 845 | egU6yHeVxSTIJeyGCoGEw/054ro= 846 | 847 | hash2 848 | 849 | K0ojmRQhSr909fWh27/GNBnmdwDQexwUbity9dfSVNI= 850 | 851 | 852 | MuseoSans_500.otf 853 | 854 | hash 855 | 856 | vQzMBlZfTMQ4QhvW8QFFaBWSUDQ= 857 | 858 | hash2 859 | 860 | RkKPLFOe7Miwb+y36nTcj5Rf2asluLTKu6GqVfbZEjk= 861 | 862 | 863 | MuseoSans_500_Italic.otf 864 | 865 | hash 866 | 867 | C9NbaFaOiMAx5KmCHraHZLlIpr8= 868 | 869 | hash2 870 | 871 | H3/oPHA+WrB6XEmKyAxF1qSNFMxoU9HFucA4K2lq/vo= 872 | 873 | 874 | MuseoSans_700.otf 875 | 876 | hash 877 | 878 | aKn9uuY+SAICCsHFuCUVx3vFOZ0= 879 | 880 | hash2 881 | 882 | w2yozVVmwVbiPzjd5V76l2cnDHMt3LftkV6kSyKVYB4= 883 | 884 | 885 | MuseoSans_900.otf 886 | 887 | hash 888 | 889 | wABCLrUj5DcQtJlR69I13r0XkKk= 890 | 891 | hash2 892 | 893 | NSNzSqTlwlUl1JRwTmRf8Ir2e398d63bDWozA9CKVFo= 894 | 895 | 896 | Octicons.ttf 897 | 898 | hash 899 | 900 | KIdYdEE1A7zAgQ6ipE3BuDEsZlo= 901 | 902 | hash2 903 | 904 | ua3cE7d8ZyDNSM0Y8PSoyuWJsbkQNjDCSd5gq3Lf1r4= 905 | 906 | 907 | SimpleLineIcons.ttf 908 | 909 | hash 910 | 911 | n/uBpaEREuKS8swyPphIa61ZdZk= 912 | 913 | hash2 914 | 915 | P1Ad2wXHCCm7tRz+nKn/9X854GBFfCV7PM8l33Z/CHA= 916 | 917 | 918 | Zocial.ttf 919 | 920 | hash 921 | 922 | C9pZx7zT05J94EfgkYdaRCi/0as= 923 | 924 | hash2 925 | 926 | 17EKHr4YMOWi8I9JA7moDiwZEsDdL3O5P88r+DIhZgI= 927 | 928 | 929 | assets/node_modules/react-native-ratings/src/images/airbnb-star-selected.png 930 | 931 | hash 932 | 933 | hmf3UuKfPUS+rQV3VCRSlOincJU= 934 | 935 | hash2 936 | 937 | 0uhqbkGIEMvafcWJq5WIN7foj1Rcpj1I+kGPldGZk+M= 938 | 939 | 940 | assets/node_modules/react-native-ratings/src/images/airbnb-star.png 941 | 942 | hash 943 | 944 | 6+SZFOypfbZrRIyeiqg37A1ERt4= 945 | 946 | hash2 947 | 948 | oVsAeqR/oxXBOFSgLKve75iROK54H/Jn3f51b4ADsMg= 949 | 950 | 951 | assets/node_modules/react-native-ratings/src/images/bell.png 952 | 953 | hash 954 | 955 | mRk2D6wOdyusOvkEInbyL3K/E6k= 956 | 957 | hash2 958 | 959 | MVdJITYj1tDwle06K+p8IFp8haF5kBT3gxuzDfc9AYg= 960 | 961 | 962 | assets/node_modules/react-native-ratings/src/images/heart.png 963 | 964 | hash 965 | 966 | rhZVvqRdTKoU0IrsdqQezFd0zb8= 967 | 968 | hash2 969 | 970 | v2rfzDt3/cDiJKjdhP8ejuEJZF2q6bsySGtwzOb8AxY= 971 | 972 | 973 | assets/node_modules/react-native-ratings/src/images/rocket.png 974 | 975 | hash 976 | 977 | mqOYKD+48iI8i2r6/LHKVlm0RGw= 978 | 979 | hash2 980 | 981 | ICOGuBMxnevPKkpTB/Aa5C5FHGGdwlrVPfiIpgRfeqk= 982 | 983 | 984 | assets/node_modules/react-native-ratings/src/images/star.png 985 | 986 | hash 987 | 988 | XPFaCu1j/HeeE7zoK38ulP635qc= 989 | 990 | hash2 991 | 992 | QomdN3rBYNJR6hzK8VcKZmuxkf8KClRArNMi+Fxau5U= 993 | 994 | 995 | assets/node_modules/react-native-vector-icons/glyphmaps/AntDesign.json 996 | 997 | hash 998 | 999 | PoJveci96zTSptK+VgCJdZJER5A= 1000 | 1001 | hash2 1002 | 1003 | /K4o5ABMKk56TLGP9qpNDgFn1mwlGCKdioUTnutStos= 1004 | 1005 | 1006 | assets/node_modules/react-native-vector-icons/glyphmaps/Entypo.json 1007 | 1008 | hash 1009 | 1010 | vP+/QMl+LCeJCh5NxZt7W2fRTkk= 1011 | 1012 | hash2 1013 | 1014 | 9WMXSgpVzwfQ+b7WCRnX3lyo619xEE06qE3gfFk2v4A= 1015 | 1016 | 1017 | assets/node_modules/react-native-vector-icons/glyphmaps/EvilIcons.json 1018 | 1019 | hash 1020 | 1021 | ljsW3QZD8lzjigA6/o4zfFZagqM= 1022 | 1023 | hash2 1024 | 1025 | QS0QTL6magSjGJDdBXEYhSM0jhhJbKJTY1TRMTKLnB8= 1026 | 1027 | 1028 | assets/node_modules/react-native-vector-icons/glyphmaps/Feather.json 1029 | 1030 | hash 1031 | 1032 | J17YV/qOIUHnMiL5l/EObl2NEe0= 1033 | 1034 | hash2 1035 | 1036 | wTODHcxcyKkP3M1qrbEpYQbWABbqZAml9jrD72v8TP4= 1037 | 1038 | 1039 | assets/node_modules/react-native-vector-icons/glyphmaps/FontAwesome.json 1040 | 1041 | hash 1042 | 1043 | ZcNOPzPLU5pQFhW2jx8wZYjmNpI= 1044 | 1045 | hash2 1046 | 1047 | l8SY1ctoXtJ8rk57TurG259sjQSsHZWLcPxtvBdp6i8= 1048 | 1049 | 1050 | assets/node_modules/react-native-vector-icons/glyphmaps/Foundation.json 1051 | 1052 | hash 1053 | 1054 | Ai42gALv1dnRb0630jFu/ei9k7Y= 1055 | 1056 | hash2 1057 | 1058 | vsMuPq7HtNBlCb3u3/SWs6r2nkJhr07ifMXgnjLctUs= 1059 | 1060 | 1061 | assets/node_modules/react-native-vector-icons/glyphmaps/Ionicons.json 1062 | 1063 | hash 1064 | 1065 | Q4dkqfy/5CTEjaqDVu+tcyl89pI= 1066 | 1067 | hash2 1068 | 1069 | F5swEFKG+3/SVEAUdmY52DQ8N+0d8PYm1N1B4C75DPM= 1070 | 1071 | 1072 | assets/node_modules/react-native-vector-icons/glyphmaps/MaterialCommunityIcons.json 1073 | 1074 | hash 1075 | 1076 | 6DneEMn761Q7+VswHmzqd+aBxMM= 1077 | 1078 | hash2 1079 | 1080 | 9jx2bjcrpuWRxJoAjmAJIFOtCFUBs7rOEW7mX5BxWjg= 1081 | 1082 | 1083 | assets/node_modules/react-native-vector-icons/glyphmaps/MaterialIcons.json 1084 | 1085 | hash 1086 | 1087 | GxHc1Di9GnpNWGY4KNmxzB1sGII= 1088 | 1089 | hash2 1090 | 1091 | FE57IqkgiYbcwyhtHhchRH5UoqP4meXdTj3VWaWGC/w= 1092 | 1093 | 1094 | assets/node_modules/react-native-vector-icons/glyphmaps/Octicons.json 1095 | 1096 | hash 1097 | 1098 | HEfQl9CbtMlZqIFlOOz1nf+IM5A= 1099 | 1100 | hash2 1101 | 1102 | k1Tfyb9RtPyq/hM/bijGjh+0yn771WQ6XjQSZEsGMwg= 1103 | 1104 | 1105 | assets/node_modules/react-native-vector-icons/glyphmaps/SimpleLineIcons.json 1106 | 1107 | hash 1108 | 1109 | In54DUZJuzMm9BD6rbP2iYXyRcc= 1110 | 1111 | hash2 1112 | 1113 | NNgXY0eexBvoQ9JgEuHvBnMbMfbp7TcfBU91KUJRqGc= 1114 | 1115 | 1116 | assets/node_modules/react-native-vector-icons/glyphmaps/Zocial.json 1117 | 1118 | hash 1119 | 1120 | C5nCU3RLmwBBTeqKR7SngR16ro0= 1121 | 1122 | hash2 1123 | 1124 | MzE2mK2LBPdazLJY9iVDcGOy6FOU17HltkCa3IV7OdY= 1125 | 1126 | 1127 | assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon-mask.png 1128 | 1129 | hash 1130 | 1131 | jpFiMACcZJsxxIbM+ov9qJ/Euvw= 1132 | 1133 | hash2 1134 | 1135 | 3BOFxJPrVIOr2o/UlYerJGXuSikHgRJCsx/hu/CYWX4= 1136 | 1137 | 1138 | assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon.png 1139 | 1140 | hash 1141 | 1142 | keLOi1inJdXs0IRSKnXqyhW57Aw= 1143 | 1144 | hash2 1145 | 1146 | LN/rjlzN55dvcBL7jM5zryIpAp7iHU8VCf7RFIccbNg= 1147 | 1148 | 1149 | assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon@2x.png 1150 | 1151 | hash 1152 | 1153 | rSvG8m4uPMSItIcsIF+N2tDJD8U= 1154 | 1155 | hash2 1156 | 1157 | K3RDqaWOksoRpXW9wRWYYVpX3eMFzYznDWAmBrMCzZg= 1158 | 1159 | 1160 | assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon@3x.png 1161 | 1162 | hash 1163 | 1164 | 8kFG8Vv7Hfrw4yVcFrhUhbHieBA= 1165 | 1166 | hash2 1167 | 1168 | Pd0Hc+0n4j0leJ8wFzGzrEVa2L5aonoKG4OPicbSciU= 1169 | 1170 | 1171 | assets/src/img/arrow-left.png 1172 | 1173 | hash 1174 | 1175 | ol4dpl6aZAzV0NakubcaUMk0C4I= 1176 | 1177 | hash2 1178 | 1179 | l2GrNs40P37dq2tR9TE1NISc8wHi1QbhdkTOeOCZtSU= 1180 | 1181 | 1182 | assets/src/img/bike-light.jpg 1183 | 1184 | hash 1185 | 1186 | WGdYc7GxGwqGVitKBOoiIocknRs= 1187 | 1188 | hash2 1189 | 1190 | DFj2O0epbc87hrlVSvjzpq/DYiMkleSmo5Fvp/D9ako= 1191 | 1192 | 1193 | assets/src/img/bolt-shirt.jpg 1194 | 1195 | hash 1196 | 1197 | r3e2SEsFg9pM+ocqo+4rc9L3xas= 1198 | 1199 | hash2 1200 | 1201 | y2ZEEBxoKnSYFx8nHjtjpbklzDN7hhezt1rPAzPEnQo= 1202 | 1203 | 1204 | assets/src/img/filter-button.png 1205 | 1206 | hash 1207 | 1208 | Cs4RSATCYi7Ap+ObuE+RGpOlJs0= 1209 | 1210 | hash2 1211 | 1212 | OyNy7MSxfoaBmozRxwJQLeRKrfvkJyw3oVSriuy+CTE= 1213 | 1214 | 1215 | assets/src/img/footer-swagbot.png 1216 | 1217 | hash 1218 | 1219 | M0Awp1ae5fV+kmUxjAiNgLgkS6g= 1220 | 1221 | hash2 1222 | 1223 | W5U7hZGfBlVm7MqaU/AqPoMuayfKg64FRRK/IklhX7k= 1224 | 1225 | 1226 | assets/src/img/login-bot.png 1227 | 1228 | hash 1229 | 1230 | Jy7v7OzFK+bIA6BHz9U9mVLCQnA= 1231 | 1232 | hash2 1233 | 1234 | gC6FcZ9JOTh/bY0v5uNcdR5M8bSfeNgtyPxScqaQ5Ik= 1235 | 1236 | 1237 | assets/src/img/menu-button.png 1238 | 1239 | hash 1240 | 1241 | GaG8qu8K3cDxmeCffvmLj0twj9I= 1242 | 1243 | hash2 1244 | 1245 | CbjNO+Id2KRepDk0Wm2Gm7hUGKkXg1ojVFwRnKSl2fg= 1246 | 1247 | 1248 | assets/src/img/menu-cart.png 1249 | 1250 | hash 1251 | 1252 | bvkDmdrQZE+3q6izNb0ITmRo0yU= 1253 | 1254 | hash2 1255 | 1256 | sOJCnhmFoGci2Q+LxSIIt/l5N4keMkVTMTucLWBI1Gg= 1257 | 1258 | 1259 | assets/src/img/menu-close.png 1260 | 1261 | hash 1262 | 1263 | VAa/l7vnKmoP1UHMBsFxNdFxm70= 1264 | 1265 | hash2 1266 | 1267 | +ALWjxIxfnz3soR1kiQTOKfMkiizKRNEpbhlNJN7v3Q= 1268 | 1269 | 1270 | assets/src/img/pony-express.png 1271 | 1272 | hash 1273 | 1274 | IqpnUEIc0jvDA5S0SJmrojLL7j4= 1275 | 1276 | hash2 1277 | 1278 | mb0o8163eMdPZcD2YBrDW/WSg4dRqbOqUVkDAxB9rAA= 1279 | 1280 | 1281 | assets/src/img/red-onesie.jpg 1282 | 1283 | hash 1284 | 1285 | CSkceDAsur3a+aWfpNi3lEpIEvM= 1286 | 1287 | hash2 1288 | 1289 | FEljws84pEwwnxpNNrgjZ5DzbTsVlY7C3td9v43k/CM= 1290 | 1291 | 1292 | assets/src/img/red-tatt.jpg 1293 | 1294 | hash 1295 | 1296 | kFu9aKuVUbNf2SVudA3BbvMzcRQ= 1297 | 1298 | hash2 1299 | 1300 | jxWIpLOmV+CwRWH67pIxKxSheGSQiFfkBEMZQhuUWCc= 1301 | 1302 | 1303 | assets/src/img/sauce-backpack.jpg 1304 | 1305 | hash 1306 | 1307 | nDYv4DNGVBhPAZWhNx5kD/AZSJY= 1308 | 1309 | hash2 1310 | 1311 | ualHAddYBaEBR5WDsDel1hjTQbSfn7cb3ivu6uxQg9k= 1312 | 1313 | 1314 | assets/src/img/sauce-bolt.png 1315 | 1316 | hash 1317 | 1318 | 1OvYbLe8fkyrX7KatUNBeQtJqsk= 1319 | 1320 | hash2 1321 | 1322 | KlRKvzhqAnIyoGYAj3ibkQ0D3AW5lPOFzdJLBw5VWWs= 1323 | 1324 | 1325 | assets/src/img/sauce-pullover.jpg 1326 | 1327 | hash 1328 | 1329 | KZhN+qITABIpSxDrmDIBQTO/nMU= 1330 | 1331 | hash2 1332 | 1333 | UIhTkfK750f1XA2gTv6zLcmNYlZeDySjJlUZj1CVq1s= 1334 | 1335 | 1336 | assets/src/img/sl-404.jpg 1337 | 1338 | hash 1339 | 1340 | vqNNFTfPmrctHSeh7yG9u2GR+xc= 1341 | 1342 | hash2 1343 | 1344 | mInVl7kRi0dM+X+3Gi6gu+sSq/KaGKIWVQUG6TTG0Nk= 1345 | 1346 | 1347 | assets/src/img/surfing-sauce.jpg 1348 | 1349 | hash 1350 | 1351 | rueOUDtNVmezKZPkXFPEMQurarE= 1352 | 1353 | hash2 1354 | 1355 | r3wReV4ZhpSgOpnCu2dRDgWhQUKAYiXwnG6i3D2HtyI= 1356 | 1357 | 1358 | assets/src/img/swag-labs-logo.png 1359 | 1360 | hash 1361 | 1362 | slWS0g3HbE64gIvqD1NnR/tNGfU= 1363 | 1364 | hash2 1365 | 1366 | +2UJabqp9MC+l37JENLllmSt13Q/kASYjczcOqcg51U= 1367 | 1368 | 1369 | assets/src/img/toggle-grid.png 1370 | 1371 | hash 1372 | 1373 | 00mZSv6TVear9ezNCXxl3EDKg6Y= 1374 | 1375 | hash2 1376 | 1377 | MxC8nfciDDUutOdBpBKfmAKz822u30qWWomC7iDK8nU= 1378 | 1379 | 1380 | assets/src/img/toggle-row.png 1381 | 1382 | hash 1383 | 1384 | JZOh08ZEvw8nBg+jWGlcFi/+4KQ= 1385 | 1386 | hash2 1387 | 1388 | 3O0lDD2wj33PgWWO0lPKsPAc5ru/IOuzc5M8A/Plou0= 1389 | 1390 | 1391 | assets/src/js/app.json 1392 | 1393 | hash 1394 | 1395 | 10j99k42DTSsgRL12RuK4PshzQ4= 1396 | 1397 | hash2 1398 | 1399 | 37G14w8tJTdTQf2wc0GDa8Wb7ZxrxhPdEw89rspRh/I= 1400 | 1401 | 1402 | main.jsbundle 1403 | 1404 | hash 1405 | 1406 | F6I47n44KOA9uKirSIiN+RmphBU= 1407 | 1408 | hash2 1409 | 1410 | 74WUBxlA/UIer/FmExafRnfjfHzayY22ThW0aT3H0Ko= 1411 | 1412 | 1413 | 1414 | rules 1415 | 1416 | ^.* 1417 | 1418 | ^.*\.lproj/ 1419 | 1420 | optional 1421 | 1422 | weight 1423 | 1000 1424 | 1425 | ^.*\.lproj/locversion.plist$ 1426 | 1427 | omit 1428 | 1429 | weight 1430 | 1100 1431 | 1432 | ^Base\.lproj/ 1433 | 1434 | weight 1435 | 1010 1436 | 1437 | ^version.plist$ 1438 | 1439 | 1440 | rules2 1441 | 1442 | .*\.dSYM($|/) 1443 | 1444 | weight 1445 | 11 1446 | 1447 | ^(.*/)?\.DS_Store$ 1448 | 1449 | omit 1450 | 1451 | weight 1452 | 2000 1453 | 1454 | ^.* 1455 | 1456 | ^.*\.lproj/ 1457 | 1458 | optional 1459 | 1460 | weight 1461 | 1000 1462 | 1463 | ^.*\.lproj/locversion.plist$ 1464 | 1465 | omit 1466 | 1467 | weight 1468 | 1100 1469 | 1470 | ^Base\.lproj/ 1471 | 1472 | weight 1473 | 1010 1474 | 1475 | ^Info\.plist$ 1476 | 1477 | omit 1478 | 1479 | weight 1480 | 20 1481 | 1482 | ^PkgInfo$ 1483 | 1484 | omit 1485 | 1486 | weight 1487 | 20 1488 | 1489 | ^embedded\.provisionprofile$ 1490 | 1491 | weight 1492 | 20 1493 | 1494 | ^version\.plist$ 1495 | 1496 | weight 1497 | 20 1498 | 1499 | 1500 | 1501 | 1502 | -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-ratings/src/images/airbnb-star-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-ratings/src/images/airbnb-star-selected.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-ratings/src/images/airbnb-star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-ratings/src/images/airbnb-star.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-ratings/src/images/bell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-ratings/src/images/bell.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-ratings/src/images/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-ratings/src/images/heart.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-ratings/src/images/rocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-ratings/src/images/rocket.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-ratings/src/images/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-ratings/src/images/star.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-vector-icons/glyphmaps/AntDesign.json: -------------------------------------------------------------------------------- 1 | { 2 | "stepforward": 58880, 3 | "stepbackward": 58881, 4 | "forward": 58882, 5 | "banckward": 58883, 6 | "caretright": 58884, 7 | "caretleft": 58885, 8 | "caretdown": 58886, 9 | "caretup": 58887, 10 | "rightcircle": 58888, 11 | "leftcircle": 58889, 12 | "upcircle": 58890, 13 | "downcircle": 58891, 14 | "rightcircleo": 58892, 15 | "leftcircleo": 58893, 16 | "upcircleo": 58894, 17 | "downcircleo": 58895, 18 | "verticleleft": 58896, 19 | "verticleright": 58897, 20 | "back": 58898, 21 | "retweet": 58899, 22 | "shrink": 58900, 23 | "arrowsalt": 58901, 24 | "doubleright": 58903, 25 | "doubleleft": 58904, 26 | "arrowdown": 58905, 27 | "arrowup": 58906, 28 | "arrowright": 58907, 29 | "arrowleft": 58908, 30 | "down": 58909, 31 | "up": 58910, 32 | "right": 58911, 33 | "left": 58912, 34 | "minussquareo": 58913, 35 | "minuscircle": 58914, 36 | "minuscircleo": 58915, 37 | "minus": 58916, 38 | "pluscircleo": 58917, 39 | "pluscircle": 58918, 40 | "plus": 58919, 41 | "infocirlce": 58920, 42 | "infocirlceo": 58921, 43 | "info": 58922, 44 | "exclamation": 58923, 45 | "exclamationcircle": 58924, 46 | "exclamationcircleo": 58925, 47 | "closecircle": 58926, 48 | "closecircleo": 58927, 49 | "checkcircle": 58928, 50 | "checkcircleo": 58929, 51 | "check": 58930, 52 | "close": 58931, 53 | "customerservice": 58932, 54 | "creditcard": 58933, 55 | "codesquareo": 58934, 56 | "book": 58935, 57 | "barschart": 58936, 58 | "bars": 58937, 59 | "question": 58938, 60 | "questioncircle": 58939, 61 | "questioncircleo": 58940, 62 | "pause": 58941, 63 | "pausecircle": 58942, 64 | "pausecircleo": 58943, 65 | "clockcircle": 58944, 66 | "clockcircleo": 58945, 67 | "swap": 58946, 68 | "swapleft": 58947, 69 | "swapright": 58948, 70 | "plussquareo": 58949, 71 | "frown": 58950, 72 | "menufold": 58968, 73 | "mail": 58969, 74 | "link": 58971, 75 | "areachart": 58972, 76 | "linechart": 58973, 77 | "home": 58974, 78 | "laptop": 58975, 79 | "star": 58976, 80 | "staro": 58977, 81 | "filter": 58979, 82 | "meho": 58982, 83 | "meh": 58983, 84 | "shoppingcart": 58984, 85 | "save": 58985, 86 | "user": 58986, 87 | "videocamera": 58987, 88 | "totop": 58988, 89 | "team": 58989, 90 | "sharealt": 58993, 91 | "setting": 58994, 92 | "picture": 58996, 93 | "phone": 58997, 94 | "paperclip": 58998, 95 | "notification": 58999, 96 | "menuunfold": 59001, 97 | "inbox": 59002, 98 | "lock": 59003, 99 | "qrcode": 59004, 100 | "tags": 59005, 101 | "tagso": 59006, 102 | "cloudo": 59007, 103 | "cloud": 59008, 104 | "cloudupload": 59009, 105 | "clouddownload": 59010, 106 | "clouddownloado": 59011, 107 | "clouduploado": 59012, 108 | "enviroment": 59013, 109 | "enviromento": 59014, 110 | "eye": 59015, 111 | "eyeo": 59016, 112 | "camera": 59017, 113 | "camerao": 59018, 114 | "windows": 59019, 115 | "export2": 59024, 116 | "export": 59025, 117 | "circledowno": 59027, 118 | "circledown": 59028, 119 | "hdd": 59034, 120 | "ie": 59035, 121 | "delete": 59039, 122 | "enter": 59040, 123 | "pushpino": 59041, 124 | "pushpin": 59042, 125 | "heart": 59043, 126 | "hearto": 59044, 127 | "smile-circle": 59047, 128 | "smileo": 59048, 129 | "frowno": 59049, 130 | "calculator": 59050, 131 | "chrome": 59052, 132 | "github": 59053, 133 | "iconfontdesktop": 59060, 134 | "caretcircleoup": 59061, 135 | "upload": 59062, 136 | "download": 59063, 137 | "piechart": 59064, 138 | "lock1": 59065, 139 | "unlock": 59066, 140 | "windowso": 59068, 141 | "dotchart": 59069, 142 | "barchart": 59070, 143 | "codesquare": 59071, 144 | "plussquare": 59072, 145 | "minussquare": 59073, 146 | "closesquare": 59074, 147 | "closesquareo": 59075, 148 | "checksquare": 59076, 149 | "checksquareo": 59077, 150 | "fastbackward": 59078, 151 | "fastforward": 59079, 152 | "upsquare": 59080, 153 | "downsquare": 59081, 154 | "leftsquare": 59082, 155 | "rightsquare": 59083, 156 | "rightsquareo": 59084, 157 | "leftsquareo": 59085, 158 | "down-square-o": 59086, 159 | "up-square-o": 59087, 160 | "play": 59088, 161 | "playcircleo": 59089, 162 | "tag": 59090, 163 | "tago": 59091, 164 | "addfile": 59664, 165 | "folder1": 58978, 166 | "file1": 58980, 167 | "switcher": 59667, 168 | "addfolder": 59668, 169 | "folderopen": 59033, 170 | "search1": 58992, 171 | "ellipsis1": 58951, 172 | "calendar": 59067, 173 | "filetext1": 59032, 174 | "copy1": 58952, 175 | "jpgfile1": 59036, 176 | "pdffile1": 59059, 177 | "exclefile1": 59056, 178 | "pptfile1": 59057, 179 | "unknowfile1": 59055, 180 | "wordfile1": 59058, 181 | "dingding": 59683, 182 | "dingding-o": 59685, 183 | "mobile1": 59000, 184 | "tablet1": 58990, 185 | "bells": 58958, 186 | "disconnect": 58959, 187 | "database": 58960, 188 | "barcode": 58962, 189 | "hourglass": 58963, 190 | "key": 58964, 191 | "flag": 58965, 192 | "layout": 58966, 193 | "printer": 58995, 194 | "USB": 59095, 195 | "skin": 59096, 196 | "tool": 59097, 197 | "car": 59100, 198 | "addusergroup": 59101, 199 | "carryout": 59103, 200 | "deleteuser": 59104, 201 | "deleteusergroup": 59105, 202 | "man": 59106, 203 | "isv": 59107, 204 | "gift": 59108, 205 | "idcard": 59109, 206 | "medicinebox": 59110, 207 | "redenvelopes": 59111, 208 | "rest": 59112, 209 | "Safety": 59114, 210 | "wallet": 59115, 211 | "woman": 59116, 212 | "adduser": 59117, 213 | "bank": 59118, 214 | "Trophy": 59119, 215 | "loading1": 59054, 216 | "loading2": 58957, 217 | "like2": 59037, 218 | "dislike2": 59038, 219 | "like1": 58956, 220 | "dislike1": 58955, 221 | "bulb1": 58953, 222 | "rocket1": 59663, 223 | "select1": 58954, 224 | "apple1": 59020, 225 | "apple-o": 59092, 226 | "android1": 59704, 227 | "android": 59021, 228 | "aliwangwang-o1": 59023, 229 | "aliwangwang": 59022, 230 | "pay-circle1": 59045, 231 | "pay-circle-o1": 59046, 232 | "poweroff": 59093, 233 | "trademark": 58961, 234 | "find": 59099, 235 | "copyright": 59102, 236 | "sound": 59113, 237 | "earth": 59121, 238 | "wifi": 59094, 239 | "sync": 59098, 240 | "login": 58967, 241 | "logout": 58970, 242 | "reload1": 58902, 243 | "message1": 59051, 244 | "shake": 59727, 245 | "API": 59729, 246 | "appstore-o": 59029, 247 | "appstore1": 59030, 248 | "scan1": 59031, 249 | "exception1": 58981, 250 | "contacts": 59120, 251 | "solution1": 58991, 252 | "fork": 59122, 253 | "edit": 59026, 254 | "form": 59798, 255 | "warning": 59799, 256 | "table": 59800, 257 | "profile": 59801, 258 | "dashboard": 59802, 259 | "indent-left": 59814, 260 | "indent-right": 59815, 261 | "menu-unfold": 59820, 262 | "menu-fold": 59821, 263 | "antdesign": 59826, 264 | "alipay-square": 59827, 265 | "codepen-circle": 59828, 266 | "google": 59829, 267 | "amazon": 59830, 268 | "codepen": 59831, 269 | "facebook-square": 59832, 270 | "dropbox": 59833, 271 | "googleplus": 59834, 272 | "linkedin-square": 59835, 273 | "medium-monogram": 59836, 274 | "gitlab": 59837, 275 | "medium-wordmark": 59838, 276 | "QQ": 59839, 277 | "skype": 59840, 278 | "taobao-square": 59841, 279 | "alipay-circle": 59842, 280 | "youtube": 59843, 281 | "wechat": 59844, 282 | "twitter": 59845, 283 | "weibo": 59846, 284 | "HTML": 59847, 285 | "taobao-circle": 59123, 286 | "weibo-circle": 59124, 287 | "weibo-square": 59125, 288 | "CodeSandbox": 59860, 289 | "aliyun": 59892, 290 | "zhihu": 59139, 291 | "behance": 59143, 292 | "dribbble": 59145, 293 | "dribbble-square": 59146, 294 | "behance-square": 59144, 295 | "file-markdown": 59140, 296 | "instagram": 59147, 297 | "yuque": 59148, 298 | "slack": 59141, 299 | "slack-square": 59142 300 | } -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-vector-icons/glyphmaps/Entypo.json: -------------------------------------------------------------------------------- 1 | { 2 | "500px": 61696, 3 | "500px-with-circle": 61697, 4 | "add-to-list": 61698, 5 | "add-user": 61699, 6 | "address": 61700, 7 | "adjust": 61701, 8 | "air": 61702, 9 | "aircraft": 61703, 10 | "aircraft-landing": 61704, 11 | "aircraft-take-off": 61705, 12 | "align-bottom": 61706, 13 | "align-horizontal-middle": 61707, 14 | "align-left": 61708, 15 | "align-right": 61709, 16 | "align-top": 61710, 17 | "align-vertical-middle": 61711, 18 | "app-store": 61712, 19 | "archive": 61713, 20 | "area-graph": 61714, 21 | "arrow-bold-down": 61715, 22 | "arrow-bold-left": 61716, 23 | "arrow-bold-right": 61717, 24 | "arrow-bold-up": 61718, 25 | "arrow-down": 61719, 26 | "arrow-left": 61720, 27 | "arrow-long-down": 61721, 28 | "arrow-long-left": 61722, 29 | "arrow-long-right": 61723, 30 | "arrow-long-up": 61724, 31 | "arrow-right": 61725, 32 | "arrow-up": 61726, 33 | "arrow-with-circle-down": 61727, 34 | "arrow-with-circle-left": 61728, 35 | "arrow-with-circle-right": 61729, 36 | "arrow-with-circle-up": 61730, 37 | "attachment": 61731, 38 | "awareness-ribbon": 61732, 39 | "back": 61733, 40 | "back-in-time": 61734, 41 | "baidu": 61735, 42 | "bar-graph": 61736, 43 | "basecamp": 61737, 44 | "battery": 61738, 45 | "beamed-note": 61739, 46 | "behance": 61740, 47 | "bell": 61741, 48 | "blackboard": 61742, 49 | "block": 61743, 50 | "book": 61744, 51 | "bookmark": 61745, 52 | "bookmarks": 61746, 53 | "bowl": 61747, 54 | "box": 61748, 55 | "briefcase": 61749, 56 | "browser": 61750, 57 | "brush": 61751, 58 | "bucket": 61752, 59 | "bug": 61753, 60 | "cake": 61754, 61 | "calculator": 61755, 62 | "calendar": 61756, 63 | "camera": 61757, 64 | "ccw": 61758, 65 | "chat": 61759, 66 | "check": 61760, 67 | "chevron-down": 61761, 68 | "chevron-left": 61762, 69 | "chevron-right": 61763, 70 | "chevron-small-down": 61764, 71 | "chevron-small-left": 61765, 72 | "chevron-small-right": 61766, 73 | "chevron-small-up": 61767, 74 | "chevron-thin-down": 61768, 75 | "chevron-thin-left": 61769, 76 | "chevron-thin-right": 61770, 77 | "chevron-thin-up": 61771, 78 | "chevron-up": 61772, 79 | "chevron-with-circle-down": 61773, 80 | "chevron-with-circle-left": 61774, 81 | "chevron-with-circle-right": 61775, 82 | "chevron-with-circle-up": 61776, 83 | "circle": 61777, 84 | "circle-with-cross": 61778, 85 | "circle-with-minus": 61779, 86 | "circle-with-plus": 61780, 87 | "circular-graph": 61781, 88 | "clapperboard": 61782, 89 | "classic-computer": 61783, 90 | "clipboard": 61784, 91 | "clock": 61785, 92 | "cloud": 61786, 93 | "code": 61787, 94 | "cog": 61788, 95 | "colours": 61789, 96 | "compass": 61790, 97 | "controller-fast-backward": 61791, 98 | "controller-fast-forward": 61792, 99 | "controller-jump-to-start": 61793, 100 | "controller-next": 61794, 101 | "controller-paus": 61795, 102 | "controller-play": 61796, 103 | "controller-record": 61797, 104 | "controller-stop": 61798, 105 | "controller-volume": 61799, 106 | "copy": 61800, 107 | "creative-cloud": 61801, 108 | "creative-commons": 61802, 109 | "creative-commons-attribution": 61803, 110 | "creative-commons-noderivs": 61804, 111 | "creative-commons-noncommercial-eu": 61805, 112 | "creative-commons-noncommercial-us": 61806, 113 | "creative-commons-public-domain": 61807, 114 | "creative-commons-remix": 61808, 115 | "creative-commons-share": 61809, 116 | "creative-commons-sharealike": 61810, 117 | "credit": 61811, 118 | "credit-card": 61812, 119 | "crop": 61813, 120 | "cross": 61814, 121 | "cup": 61815, 122 | "cw": 61816, 123 | "cycle": 61817, 124 | "database": 61818, 125 | "dial-pad": 61819, 126 | "direction": 61820, 127 | "document": 61821, 128 | "document-landscape": 61822, 129 | "documents": 61823, 130 | "dot-single": 61824, 131 | "dots-three-horizontal": 61825, 132 | "dots-three-vertical": 61826, 133 | "dots-two-horizontal": 61827, 134 | "dots-two-vertical": 61828, 135 | "download": 61829, 136 | "dribbble": 61830, 137 | "dribbble-with-circle": 61831, 138 | "drink": 61832, 139 | "drive": 61833, 140 | "drop": 61834, 141 | "dropbox": 61835, 142 | "edit": 61836, 143 | "email": 61837, 144 | "emoji-flirt": 61838, 145 | "emoji-happy": 61839, 146 | "emoji-neutral": 61840, 147 | "emoji-sad": 61841, 148 | "erase": 61842, 149 | "eraser": 61843, 150 | "evernote": 61844, 151 | "export": 61845, 152 | "eye": 61846, 153 | "eye-with-line": 61847, 154 | "facebook": 61848, 155 | "facebook-with-circle": 61849, 156 | "feather": 61850, 157 | "fingerprint": 61851, 158 | "flag": 61852, 159 | "flash": 61853, 160 | "flashlight": 61854, 161 | "flat-brush": 61855, 162 | "flattr": 61856, 163 | "flickr": 61857, 164 | "flickr-with-circle": 61858, 165 | "flow-branch": 61859, 166 | "flow-cascade": 61860, 167 | "flow-line": 61861, 168 | "flow-parallel": 61862, 169 | "flow-tree": 61863, 170 | "flower": 61864, 171 | "folder": 61865, 172 | "folder-images": 61866, 173 | "folder-music": 61867, 174 | "folder-video": 61868, 175 | "forward": 61869, 176 | "foursquare": 61870, 177 | "funnel": 61871, 178 | "game-controller": 61872, 179 | "gauge": 61873, 180 | "github": 61874, 181 | "github-with-circle": 61875, 182 | "globe": 61876, 183 | "google-": 61877, 184 | "google--with-circle": 61878, 185 | "google-drive": 61879, 186 | "google-hangouts": 61880, 187 | "google-play": 61881, 188 | "graduation-cap": 61882, 189 | "grid": 61883, 190 | "grooveshark": 61884, 191 | "hair-cross": 61885, 192 | "hand": 61886, 193 | "heart": 61887, 194 | "heart-outlined": 61888, 195 | "help": 61889, 196 | "help-with-circle": 61890, 197 | "home": 61891, 198 | "hour-glass": 61892, 199 | "houzz": 61893, 200 | "icloud": 61894, 201 | "image": 61895, 202 | "image-inverted": 61896, 203 | "images": 61897, 204 | "inbox": 61898, 205 | "infinity": 61899, 206 | "info": 61900, 207 | "info-with-circle": 61901, 208 | "instagram": 61902, 209 | "instagram-with-circle": 61903, 210 | "install": 61904, 211 | "key": 61905, 212 | "keyboard": 61906, 213 | "lab-flask": 61907, 214 | "landline": 61908, 215 | "language": 61909, 216 | "laptop": 61910, 217 | "lastfm": 61911, 218 | "lastfm-with-circle": 61912, 219 | "layers": 61913, 220 | "leaf": 61914, 221 | "level-down": 61915, 222 | "level-up": 61916, 223 | "lifebuoy": 61917, 224 | "light-bulb": 61918, 225 | "light-down": 61919, 226 | "light-up": 61920, 227 | "line-graph": 61921, 228 | "link": 61922, 229 | "linkedin": 61923, 230 | "linkedin-with-circle": 61924, 231 | "list": 61925, 232 | "location": 61926, 233 | "location-pin": 61927, 234 | "lock": 61928, 235 | "lock-open": 61929, 236 | "log-out": 61930, 237 | "login": 61931, 238 | "loop": 61932, 239 | "magnet": 61933, 240 | "magnifying-glass": 61934, 241 | "mail": 61935, 242 | "mail-with-circle": 61936, 243 | "man": 61937, 244 | "map": 61938, 245 | "mask": 61939, 246 | "medal": 61940, 247 | "medium": 61941, 248 | "medium-with-circle": 61942, 249 | "megaphone": 61943, 250 | "menu": 61944, 251 | "merge": 61945, 252 | "message": 61946, 253 | "mic": 61947, 254 | "minus": 61948, 255 | "mixi": 61949, 256 | "mobile": 61950, 257 | "modern-mic": 61951, 258 | "moon": 61952, 259 | "mouse": 61953, 260 | "mouse-pointer": 61954, 261 | "music": 61955, 262 | "network": 61956, 263 | "new": 61957, 264 | "new-message": 61958, 265 | "news": 61959, 266 | "newsletter": 61960, 267 | "note": 61961, 268 | "notification": 61962, 269 | "notifications-off": 61963, 270 | "old-mobile": 61964, 271 | "old-phone": 61965, 272 | "onedrive": 61966, 273 | "open-book": 61967, 274 | "palette": 61968, 275 | "paper-plane": 61969, 276 | "paypal": 61970, 277 | "pencil": 61971, 278 | "phone": 61972, 279 | "picasa": 61973, 280 | "pie-chart": 61974, 281 | "pin": 61975, 282 | "pinterest": 61976, 283 | "pinterest-with-circle": 61977, 284 | "plus": 61978, 285 | "popup": 61979, 286 | "power-plug": 61980, 287 | "price-ribbon": 61981, 288 | "price-tag": 61982, 289 | "print": 61983, 290 | "progress-empty": 61984, 291 | "progress-full": 61985, 292 | "progress-one": 61986, 293 | "progress-two": 61987, 294 | "publish": 61988, 295 | "qq": 61989, 296 | "qq-with-circle": 61990, 297 | "quote": 61991, 298 | "radio": 61992, 299 | "raft": 61993, 300 | "raft-with-circle": 61994, 301 | "rainbow": 61995, 302 | "rdio": 61996, 303 | "rdio-with-circle": 61997, 304 | "remove-user": 61998, 305 | "renren": 61999, 306 | "reply": 62000, 307 | "reply-all": 62001, 308 | "resize-100-": 62002, 309 | "resize-full-screen": 62003, 310 | "retweet": 62004, 311 | "rocket": 62005, 312 | "round-brush": 62006, 313 | "rss": 62007, 314 | "ruler": 62008, 315 | "save": 62009, 316 | "scissors": 62010, 317 | "scribd": 62011, 318 | "select-arrows": 62012, 319 | "share": 62013, 320 | "share-alternative": 62014, 321 | "shareable": 62015, 322 | "shield": 62016, 323 | "shop": 62017, 324 | "shopping-bag": 62018, 325 | "shopping-basket": 62019, 326 | "shopping-cart": 62020, 327 | "shuffle": 62021, 328 | "signal": 62022, 329 | "sina-weibo": 62023, 330 | "skype": 62024, 331 | "skype-with-circle": 62025, 332 | "slideshare": 62026, 333 | "smashing": 62027, 334 | "sound": 62028, 335 | "sound-mix": 62029, 336 | "sound-mute": 62030, 337 | "soundcloud": 62031, 338 | "sports-club": 62032, 339 | "spotify": 62033, 340 | "spotify-with-circle": 62034, 341 | "spreadsheet": 62035, 342 | "squared-cross": 62036, 343 | "squared-minus": 62037, 344 | "squared-plus": 62038, 345 | "star": 62039, 346 | "star-outlined": 62040, 347 | "stopwatch": 62041, 348 | "stumbleupon": 62042, 349 | "stumbleupon-with-circle": 62043, 350 | "suitcase": 62044, 351 | "swap": 62045, 352 | "swarm": 62046, 353 | "sweden": 62047, 354 | "switch": 62048, 355 | "tablet": 62049, 356 | "tablet-mobile-combo": 62050, 357 | "tag": 62051, 358 | "text": 62052, 359 | "text-document": 62053, 360 | "text-document-inverted": 62054, 361 | "thermometer": 62055, 362 | "thumbs-down": 62056, 363 | "thumbs-up": 62057, 364 | "thunder-cloud": 62058, 365 | "ticket": 62059, 366 | "time-slot": 62060, 367 | "tools": 62061, 368 | "traffic-cone": 62062, 369 | "trash": 62063, 370 | "tree": 62064, 371 | "triangle-down": 62065, 372 | "triangle-left": 62066, 373 | "triangle-right": 62067, 374 | "triangle-up": 62068, 375 | "tripadvisor": 62069, 376 | "trophy": 62070, 377 | "tumblr": 62071, 378 | "tumblr-with-circle": 62072, 379 | "tv": 62073, 380 | "twitter": 62074, 381 | "twitter-with-circle": 62075, 382 | "typing": 62076, 383 | "uninstall": 62077, 384 | "unread": 62078, 385 | "untag": 62079, 386 | "upload": 62080, 387 | "upload-to-cloud": 62081, 388 | "user": 62082, 389 | "users": 62083, 390 | "v-card": 62084, 391 | "video": 62085, 392 | "video-camera": 62086, 393 | "vimeo": 62087, 394 | "vimeo-with-circle": 62088, 395 | "vine": 62089, 396 | "vine-with-circle": 62090, 397 | "vinyl": 62091, 398 | "vk": 62092, 399 | "vk-alternitive": 62093, 400 | "vk-with-circle": 62094, 401 | "voicemail": 62095, 402 | "wallet": 62096, 403 | "warning": 62097, 404 | "water": 62098, 405 | "windows-store": 62099, 406 | "xing": 62100, 407 | "xing-with-circle": 62101, 408 | "yelp": 62102, 409 | "youko": 62103, 410 | "youko-with-circle": 62104, 411 | "youtube": 62105, 412 | "youtube-with-circle": 62106 413 | } -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-vector-icons/glyphmaps/EvilIcons.json: -------------------------------------------------------------------------------- 1 | { 2 | "archive": 61696, 3 | "arrow-down": 61697, 4 | "arrow-left": 61698, 5 | "arrow-right": 61699, 6 | "arrow-up": 61700, 7 | "bell": 61701, 8 | "calendar": 61702, 9 | "camera": 61703, 10 | "cart": 61704, 11 | "chart": 61705, 12 | "check": 61706, 13 | "chevron-down": 61707, 14 | "chevron-left": 61708, 15 | "chevron-right": 61709, 16 | "chevron-up": 61710, 17 | "clock": 61711, 18 | "close": 61712, 19 | "close-o": 61713, 20 | "comment": 61714, 21 | "credit-card": 61715, 22 | "envelope": 61716, 23 | "exclamation": 61717, 24 | "external-link": 61718, 25 | "eye": 61719, 26 | "gear": 61720, 27 | "heart": 61721, 28 | "image": 61722, 29 | "like": 61723, 30 | "link": 61724, 31 | "location": 61725, 32 | "lock": 61726, 33 | "minus": 61727, 34 | "navicon": 61728, 35 | "paperclip": 61729, 36 | "pencil": 61730, 37 | "play": 61731, 38 | "plus": 61732, 39 | "pointer": 61733, 40 | "question": 61734, 41 | "redo": 61735, 42 | "refresh": 61736, 43 | "retweet": 61737, 44 | "sc-facebook": 61738, 45 | "sc-github": 61739, 46 | "sc-google-plus": 61740, 47 | "sc-instagram": 61741, 48 | "sc-linkedin": 61742, 49 | "sc-odnoklassniki": 61743, 50 | "sc-pinterest": 61744, 51 | "sc-skype": 61745, 52 | "sc-soundcloud": 61746, 53 | "sc-telegram": 61747, 54 | "sc-tumblr": 61748, 55 | "sc-twitter": 61749, 56 | "sc-vimeo": 61750, 57 | "sc-vk": 61751, 58 | "sc-youtube": 61752, 59 | "search": 61753, 60 | "share-apple": 61754, 61 | "share-google": 61755, 62 | "spinner": 61756, 63 | "spinner-2": 61757, 64 | "spinner-3": 61758, 65 | "star": 61759, 66 | "tag": 61760, 67 | "trash": 61761, 68 | "trophy": 61762, 69 | "undo": 61763, 70 | "unlock": 61764, 71 | "user": 61765 72 | } -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-vector-icons/glyphmaps/Feather.json: -------------------------------------------------------------------------------- 1 | { 2 | "activity": 61696, 3 | "airplay": 61697, 4 | "alert-circle": 61698, 5 | "alert-octagon": 61699, 6 | "alert-triangle": 61700, 7 | "align-center": 61701, 8 | "align-justify": 61702, 9 | "align-left": 61703, 10 | "align-right": 61704, 11 | "anchor": 61705, 12 | "aperture": 61706, 13 | "archive": 61707, 14 | "arrow-down": 61708, 15 | "arrow-down-circle": 61709, 16 | "arrow-down-left": 61710, 17 | "arrow-down-right": 61711, 18 | "arrow-left": 61712, 19 | "arrow-left-circle": 61713, 20 | "arrow-right": 61714, 21 | "arrow-right-circle": 61715, 22 | "arrow-up": 61716, 23 | "arrow-up-circle": 61717, 24 | "arrow-up-left": 61718, 25 | "arrow-up-right": 61719, 26 | "at-sign": 61720, 27 | "award": 61721, 28 | "bar-chart": 61722, 29 | "bar-chart-2": 61723, 30 | "battery": 61724, 31 | "battery-charging": 61725, 32 | "bell": 61726, 33 | "bell-off": 61727, 34 | "bluetooth": 61728, 35 | "bold": 61729, 36 | "book": 61730, 37 | "book-open": 61731, 38 | "bookmark": 61732, 39 | "box": 61733, 40 | "briefcase": 61734, 41 | "calendar": 61735, 42 | "camera": 61736, 43 | "camera-off": 61737, 44 | "cast": 61738, 45 | "check": 61739, 46 | "check-circle": 61740, 47 | "check-square": 61741, 48 | "chevron-down": 61742, 49 | "chevron-left": 61743, 50 | "chevron-right": 61744, 51 | "chevron-up": 61745, 52 | "chevrons-down": 61746, 53 | "chevrons-left": 61747, 54 | "chevrons-right": 61748, 55 | "chevrons-up": 61749, 56 | "chrome": 61750, 57 | "circle": 61751, 58 | "clipboard": 61752, 59 | "clock": 61753, 60 | "cloud": 61754, 61 | "cloud-drizzle": 61755, 62 | "cloud-lightning": 61756, 63 | "cloud-off": 61757, 64 | "cloud-rain": 61758, 65 | "cloud-snow": 61759, 66 | "code": 61760, 67 | "codepen": 61761, 68 | "codesandbox": 61762, 69 | "coffee": 61763, 70 | "columns": 61764, 71 | "command": 61765, 72 | "compass": 61766, 73 | "copy": 61767, 74 | "corner-down-left": 61768, 75 | "corner-down-right": 61769, 76 | "corner-left-down": 61770, 77 | "corner-left-up": 61771, 78 | "corner-right-down": 61772, 79 | "corner-right-up": 61773, 80 | "corner-up-left": 61774, 81 | "corner-up-right": 61775, 82 | "cpu": 61776, 83 | "credit-card": 61777, 84 | "crop": 61778, 85 | "crosshair": 61779, 86 | "database": 61780, 87 | "delete": 61781, 88 | "disc": 61782, 89 | "divide": 61783, 90 | "divide-circle": 61784, 91 | "divide-square": 61785, 92 | "dollar-sign": 61786, 93 | "download": 61787, 94 | "download-cloud": 61788, 95 | "dribbble": 61789, 96 | "droplet": 61790, 97 | "edit": 61791, 98 | "edit-2": 61792, 99 | "edit-3": 61793, 100 | "external-link": 61794, 101 | "eye": 61795, 102 | "eye-off": 61796, 103 | "facebook": 61797, 104 | "fast-forward": 61798, 105 | "feather": 61799, 106 | "figma": 61800, 107 | "file": 61801, 108 | "file-minus": 61802, 109 | "file-plus": 61803, 110 | "file-text": 61804, 111 | "film": 61805, 112 | "filter": 61806, 113 | "flag": 61807, 114 | "folder": 61808, 115 | "folder-minus": 61809, 116 | "folder-plus": 61810, 117 | "framer": 61811, 118 | "frown": 61812, 119 | "gift": 61813, 120 | "git-branch": 61814, 121 | "git-commit": 61815, 122 | "git-merge": 61816, 123 | "git-pull-request": 61817, 124 | "github": 61818, 125 | "gitlab": 61819, 126 | "globe": 61820, 127 | "grid": 61821, 128 | "hard-drive": 61822, 129 | "hash": 61823, 130 | "headphones": 61824, 131 | "heart": 61825, 132 | "help-circle": 61826, 133 | "hexagon": 61827, 134 | "home": 61828, 135 | "image": 61829, 136 | "inbox": 61830, 137 | "info": 61831, 138 | "instagram": 61832, 139 | "italic": 61833, 140 | "key": 61834, 141 | "layers": 61835, 142 | "layout": 61836, 143 | "life-buoy": 61837, 144 | "link": 61838, 145 | "link-2": 61839, 146 | "linkedin": 61840, 147 | "list": 61841, 148 | "loader": 61842, 149 | "lock": 61843, 150 | "log-in": 61844, 151 | "log-out": 61845, 152 | "mail": 61846, 153 | "map": 61847, 154 | "map-pin": 61848, 155 | "maximize": 61849, 156 | "maximize-2": 61850, 157 | "meh": 61851, 158 | "menu": 61852, 159 | "message-circle": 61853, 160 | "message-square": 61854, 161 | "mic": 61855, 162 | "mic-off": 61856, 163 | "minimize": 61857, 164 | "minimize-2": 61858, 165 | "minus": 61859, 166 | "minus-circle": 61860, 167 | "minus-square": 61861, 168 | "monitor": 61862, 169 | "moon": 61863, 170 | "more-horizontal": 61864, 171 | "more-vertical": 61865, 172 | "mouse-pointer": 61866, 173 | "move": 61867, 174 | "music": 61868, 175 | "navigation": 61869, 176 | "navigation-2": 61870, 177 | "octagon": 61871, 178 | "package": 61872, 179 | "paperclip": 61873, 180 | "pause": 61874, 181 | "pause-circle": 61875, 182 | "pen-tool": 61876, 183 | "percent": 61877, 184 | "phone": 61878, 185 | "phone-call": 61879, 186 | "phone-forwarded": 61880, 187 | "phone-incoming": 61881, 188 | "phone-missed": 61882, 189 | "phone-off": 61883, 190 | "phone-outgoing": 61884, 191 | "pie-chart": 61885, 192 | "play": 61886, 193 | "play-circle": 61887, 194 | "plus": 61888, 195 | "plus-circle": 61889, 196 | "plus-square": 61890, 197 | "pocket": 61891, 198 | "power": 61892, 199 | "printer": 61893, 200 | "radio": 61894, 201 | "refresh-ccw": 61895, 202 | "refresh-cw": 61896, 203 | "repeat": 61897, 204 | "rewind": 61898, 205 | "rotate-ccw": 61899, 206 | "rotate-cw": 61900, 207 | "rss": 61901, 208 | "save": 61902, 209 | "scissors": 61903, 210 | "search": 61904, 211 | "send": 61905, 212 | "server": 61906, 213 | "settings": 61907, 214 | "share": 61908, 215 | "share-2": 61909, 216 | "shield": 61910, 217 | "shield-off": 61911, 218 | "shopping-bag": 61912, 219 | "shopping-cart": 61913, 220 | "shuffle": 61914, 221 | "sidebar": 61915, 222 | "skip-back": 61916, 223 | "skip-forward": 61917, 224 | "slack": 61918, 225 | "slash": 61919, 226 | "sliders": 61920, 227 | "smartphone": 61921, 228 | "smile": 61922, 229 | "speaker": 61923, 230 | "square": 61924, 231 | "star": 61925, 232 | "stop-circle": 61926, 233 | "sun": 61927, 234 | "sunrise": 61928, 235 | "sunset": 61929, 236 | "tablet": 61930, 237 | "tag": 61931, 238 | "target": 61932, 239 | "terminal": 61933, 240 | "thermometer": 61934, 241 | "thumbs-down": 61935, 242 | "thumbs-up": 61936, 243 | "toggle-left": 61937, 244 | "toggle-right": 61938, 245 | "tool": 61939, 246 | "trash": 61940, 247 | "trash-2": 61941, 248 | "trello": 61942, 249 | "trending-down": 61943, 250 | "trending-up": 61944, 251 | "triangle": 61945, 252 | "truck": 61946, 253 | "tv": 61947, 254 | "twitch": 61948, 255 | "twitter": 61949, 256 | "type": 61950, 257 | "umbrella": 61951, 258 | "underline": 61952, 259 | "unlock": 61953, 260 | "upload": 61954, 261 | "upload-cloud": 61955, 262 | "user": 61956, 263 | "user-check": 61957, 264 | "user-minus": 61958, 265 | "user-plus": 61959, 266 | "user-x": 61960, 267 | "users": 61961, 268 | "video": 61962, 269 | "video-off": 61963, 270 | "voicemail": 61964, 271 | "volume": 61965, 272 | "volume-1": 61966, 273 | "volume-2": 61967, 274 | "volume-x": 61968, 275 | "watch": 61969, 276 | "wifi": 61970, 277 | "wifi-off": 61971, 278 | "wind": 61972, 279 | "x": 61973, 280 | "x-circle": 61974, 281 | "x-octagon": 61975, 282 | "x-square": 61976, 283 | "youtube": 61977, 284 | "zap": 61978, 285 | "zap-off": 61979, 286 | "zoom-in": 61980, 287 | "zoom-out": 61981 288 | } -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-vector-icons/glyphmaps/FontAwesome.json: -------------------------------------------------------------------------------- 1 | { 2 | "glass": 61440, 3 | "music": 61441, 4 | "search": 61442, 5 | "envelope-o": 61443, 6 | "heart": 61444, 7 | "star": 61445, 8 | "star-o": 61446, 9 | "user": 61447, 10 | "film": 61448, 11 | "th-large": 61449, 12 | "th": 61450, 13 | "th-list": 61451, 14 | "check": 61452, 15 | "remove": 61453, 16 | "close": 61453, 17 | "times": 61453, 18 | "search-plus": 61454, 19 | "search-minus": 61456, 20 | "power-off": 61457, 21 | "signal": 61458, 22 | "gear": 61459, 23 | "cog": 61459, 24 | "trash-o": 61460, 25 | "home": 61461, 26 | "file-o": 61462, 27 | "clock-o": 61463, 28 | "road": 61464, 29 | "download": 61465, 30 | "arrow-circle-o-down": 61466, 31 | "arrow-circle-o-up": 61467, 32 | "inbox": 61468, 33 | "play-circle-o": 61469, 34 | "rotate-right": 61470, 35 | "repeat": 61470, 36 | "refresh": 61473, 37 | "list-alt": 61474, 38 | "lock": 61475, 39 | "flag": 61476, 40 | "headphones": 61477, 41 | "volume-off": 61478, 42 | "volume-down": 61479, 43 | "volume-up": 61480, 44 | "qrcode": 61481, 45 | "barcode": 61482, 46 | "tag": 61483, 47 | "tags": 61484, 48 | "book": 61485, 49 | "bookmark": 61486, 50 | "print": 61487, 51 | "camera": 61488, 52 | "font": 61489, 53 | "bold": 61490, 54 | "italic": 61491, 55 | "text-height": 61492, 56 | "text-width": 61493, 57 | "align-left": 61494, 58 | "align-center": 61495, 59 | "align-right": 61496, 60 | "align-justify": 61497, 61 | "list": 61498, 62 | "dedent": 61499, 63 | "outdent": 61499, 64 | "indent": 61500, 65 | "video-camera": 61501, 66 | "photo": 61502, 67 | "image": 61502, 68 | "picture-o": 61502, 69 | "pencil": 61504, 70 | "map-marker": 61505, 71 | "adjust": 61506, 72 | "tint": 61507, 73 | "edit": 61508, 74 | "pencil-square-o": 61508, 75 | "share-square-o": 61509, 76 | "check-square-o": 61510, 77 | "arrows": 61511, 78 | "step-backward": 61512, 79 | "fast-backward": 61513, 80 | "backward": 61514, 81 | "play": 61515, 82 | "pause": 61516, 83 | "stop": 61517, 84 | "forward": 61518, 85 | "fast-forward": 61520, 86 | "step-forward": 61521, 87 | "eject": 61522, 88 | "chevron-left": 61523, 89 | "chevron-right": 61524, 90 | "plus-circle": 61525, 91 | "minus-circle": 61526, 92 | "times-circle": 61527, 93 | "check-circle": 61528, 94 | "question-circle": 61529, 95 | "info-circle": 61530, 96 | "crosshairs": 61531, 97 | "times-circle-o": 61532, 98 | "check-circle-o": 61533, 99 | "ban": 61534, 100 | "arrow-left": 61536, 101 | "arrow-right": 61537, 102 | "arrow-up": 61538, 103 | "arrow-down": 61539, 104 | "mail-forward": 61540, 105 | "share": 61540, 106 | "expand": 61541, 107 | "compress": 61542, 108 | "plus": 61543, 109 | "minus": 61544, 110 | "asterisk": 61545, 111 | "exclamation-circle": 61546, 112 | "gift": 61547, 113 | "leaf": 61548, 114 | "fire": 61549, 115 | "eye": 61550, 116 | "eye-slash": 61552, 117 | "warning": 61553, 118 | "exclamation-triangle": 61553, 119 | "plane": 61554, 120 | "calendar": 61555, 121 | "random": 61556, 122 | "comment": 61557, 123 | "magnet": 61558, 124 | "chevron-up": 61559, 125 | "chevron-down": 61560, 126 | "retweet": 61561, 127 | "shopping-cart": 61562, 128 | "folder": 61563, 129 | "folder-open": 61564, 130 | "arrows-v": 61565, 131 | "arrows-h": 61566, 132 | "bar-chart-o": 61568, 133 | "bar-chart": 61568, 134 | "twitter-square": 61569, 135 | "facebook-square": 61570, 136 | "camera-retro": 61571, 137 | "key": 61572, 138 | "gears": 61573, 139 | "cogs": 61573, 140 | "comments": 61574, 141 | "thumbs-o-up": 61575, 142 | "thumbs-o-down": 61576, 143 | "star-half": 61577, 144 | "heart-o": 61578, 145 | "sign-out": 61579, 146 | "linkedin-square": 61580, 147 | "thumb-tack": 61581, 148 | "external-link": 61582, 149 | "sign-in": 61584, 150 | "trophy": 61585, 151 | "github-square": 61586, 152 | "upload": 61587, 153 | "lemon-o": 61588, 154 | "phone": 61589, 155 | "square-o": 61590, 156 | "bookmark-o": 61591, 157 | "phone-square": 61592, 158 | "twitter": 61593, 159 | "facebook-f": 61594, 160 | "facebook": 61594, 161 | "github": 61595, 162 | "unlock": 61596, 163 | "credit-card": 61597, 164 | "feed": 61598, 165 | "rss": 61598, 166 | "hdd-o": 61600, 167 | "bullhorn": 61601, 168 | "bell": 61683, 169 | "certificate": 61603, 170 | "hand-o-right": 61604, 171 | "hand-o-left": 61605, 172 | "hand-o-up": 61606, 173 | "hand-o-down": 61607, 174 | "arrow-circle-left": 61608, 175 | "arrow-circle-right": 61609, 176 | "arrow-circle-up": 61610, 177 | "arrow-circle-down": 61611, 178 | "globe": 61612, 179 | "wrench": 61613, 180 | "tasks": 61614, 181 | "filter": 61616, 182 | "briefcase": 61617, 183 | "arrows-alt": 61618, 184 | "group": 61632, 185 | "users": 61632, 186 | "chain": 61633, 187 | "link": 61633, 188 | "cloud": 61634, 189 | "flask": 61635, 190 | "cut": 61636, 191 | "scissors": 61636, 192 | "copy": 61637, 193 | "files-o": 61637, 194 | "paperclip": 61638, 195 | "save": 61639, 196 | "floppy-o": 61639, 197 | "square": 61640, 198 | "navicon": 61641, 199 | "reorder": 61641, 200 | "bars": 61641, 201 | "list-ul": 61642, 202 | "list-ol": 61643, 203 | "strikethrough": 61644, 204 | "underline": 61645, 205 | "table": 61646, 206 | "magic": 61648, 207 | "truck": 61649, 208 | "pinterest": 61650, 209 | "pinterest-square": 61651, 210 | "google-plus-square": 61652, 211 | "google-plus": 61653, 212 | "money": 61654, 213 | "caret-down": 61655, 214 | "caret-up": 61656, 215 | "caret-left": 61657, 216 | "caret-right": 61658, 217 | "columns": 61659, 218 | "unsorted": 61660, 219 | "sort": 61660, 220 | "sort-down": 61661, 221 | "sort-desc": 61661, 222 | "sort-up": 61662, 223 | "sort-asc": 61662, 224 | "envelope": 61664, 225 | "linkedin": 61665, 226 | "rotate-left": 61666, 227 | "undo": 61666, 228 | "legal": 61667, 229 | "gavel": 61667, 230 | "dashboard": 61668, 231 | "tachometer": 61668, 232 | "comment-o": 61669, 233 | "comments-o": 61670, 234 | "flash": 61671, 235 | "bolt": 61671, 236 | "sitemap": 61672, 237 | "umbrella": 61673, 238 | "paste": 61674, 239 | "clipboard": 61674, 240 | "lightbulb-o": 61675, 241 | "exchange": 61676, 242 | "cloud-download": 61677, 243 | "cloud-upload": 61678, 244 | "user-md": 61680, 245 | "stethoscope": 61681, 246 | "suitcase": 61682, 247 | "bell-o": 61602, 248 | "coffee": 61684, 249 | "cutlery": 61685, 250 | "file-text-o": 61686, 251 | "building-o": 61687, 252 | "hospital-o": 61688, 253 | "ambulance": 61689, 254 | "medkit": 61690, 255 | "fighter-jet": 61691, 256 | "beer": 61692, 257 | "h-square": 61693, 258 | "plus-square": 61694, 259 | "angle-double-left": 61696, 260 | "angle-double-right": 61697, 261 | "angle-double-up": 61698, 262 | "angle-double-down": 61699, 263 | "angle-left": 61700, 264 | "angle-right": 61701, 265 | "angle-up": 61702, 266 | "angle-down": 61703, 267 | "desktop": 61704, 268 | "laptop": 61705, 269 | "tablet": 61706, 270 | "mobile-phone": 61707, 271 | "mobile": 61707, 272 | "circle-o": 61708, 273 | "quote-left": 61709, 274 | "quote-right": 61710, 275 | "spinner": 61712, 276 | "circle": 61713, 277 | "mail-reply": 61714, 278 | "reply": 61714, 279 | "github-alt": 61715, 280 | "folder-o": 61716, 281 | "folder-open-o": 61717, 282 | "smile-o": 61720, 283 | "frown-o": 61721, 284 | "meh-o": 61722, 285 | "gamepad": 61723, 286 | "keyboard-o": 61724, 287 | "flag-o": 61725, 288 | "flag-checkered": 61726, 289 | "terminal": 61728, 290 | "code": 61729, 291 | "mail-reply-all": 61730, 292 | "reply-all": 61730, 293 | "star-half-empty": 61731, 294 | "star-half-full": 61731, 295 | "star-half-o": 61731, 296 | "location-arrow": 61732, 297 | "crop": 61733, 298 | "code-fork": 61734, 299 | "unlink": 61735, 300 | "chain-broken": 61735, 301 | "question": 61736, 302 | "info": 61737, 303 | "exclamation": 61738, 304 | "superscript": 61739, 305 | "subscript": 61740, 306 | "eraser": 61741, 307 | "puzzle-piece": 61742, 308 | "microphone": 61744, 309 | "microphone-slash": 61745, 310 | "shield": 61746, 311 | "calendar-o": 61747, 312 | "fire-extinguisher": 61748, 313 | "rocket": 61749, 314 | "maxcdn": 61750, 315 | "chevron-circle-left": 61751, 316 | "chevron-circle-right": 61752, 317 | "chevron-circle-up": 61753, 318 | "chevron-circle-down": 61754, 319 | "html5": 61755, 320 | "css3": 61756, 321 | "anchor": 61757, 322 | "unlock-alt": 61758, 323 | "bullseye": 61760, 324 | "ellipsis-h": 61761, 325 | "ellipsis-v": 61762, 326 | "rss-square": 61763, 327 | "play-circle": 61764, 328 | "ticket": 61765, 329 | "minus-square": 61766, 330 | "minus-square-o": 61767, 331 | "level-up": 61768, 332 | "level-down": 61769, 333 | "check-square": 61770, 334 | "pencil-square": 61771, 335 | "external-link-square": 61772, 336 | "share-square": 61773, 337 | "compass": 61774, 338 | "toggle-down": 61776, 339 | "caret-square-o-down": 61776, 340 | "toggle-up": 61777, 341 | "caret-square-o-up": 61777, 342 | "toggle-right": 61778, 343 | "caret-square-o-right": 61778, 344 | "euro": 61779, 345 | "eur": 61779, 346 | "gbp": 61780, 347 | "dollar": 61781, 348 | "usd": 61781, 349 | "rupee": 61782, 350 | "inr": 61782, 351 | "cny": 61783, 352 | "rmb": 61783, 353 | "yen": 61783, 354 | "jpy": 61783, 355 | "ruble": 61784, 356 | "rouble": 61784, 357 | "rub": 61784, 358 | "won": 61785, 359 | "krw": 61785, 360 | "bitcoin": 61786, 361 | "btc": 61786, 362 | "file": 61787, 363 | "file-text": 61788, 364 | "sort-alpha-asc": 61789, 365 | "sort-alpha-desc": 61790, 366 | "sort-amount-asc": 61792, 367 | "sort-amount-desc": 61793, 368 | "sort-numeric-asc": 61794, 369 | "sort-numeric-desc": 61795, 370 | "thumbs-up": 61796, 371 | "thumbs-down": 61797, 372 | "youtube-square": 61798, 373 | "youtube": 61799, 374 | "xing": 61800, 375 | "xing-square": 61801, 376 | "youtube-play": 61802, 377 | "dropbox": 61803, 378 | "stack-overflow": 61804, 379 | "instagram": 61805, 380 | "flickr": 61806, 381 | "adn": 61808, 382 | "bitbucket": 61809, 383 | "bitbucket-square": 61810, 384 | "tumblr": 61811, 385 | "tumblr-square": 61812, 386 | "long-arrow-down": 61813, 387 | "long-arrow-up": 61814, 388 | "long-arrow-left": 61815, 389 | "long-arrow-right": 61816, 390 | "apple": 61817, 391 | "windows": 61818, 392 | "android": 61819, 393 | "linux": 61820, 394 | "dribbble": 61821, 395 | "skype": 61822, 396 | "foursquare": 61824, 397 | "trello": 61825, 398 | "female": 61826, 399 | "male": 61827, 400 | "gittip": 61828, 401 | "gratipay": 61828, 402 | "sun-o": 61829, 403 | "moon-o": 61830, 404 | "archive": 61831, 405 | "bug": 61832, 406 | "vk": 61833, 407 | "weibo": 61834, 408 | "renren": 61835, 409 | "pagelines": 61836, 410 | "stack-exchange": 61837, 411 | "arrow-circle-o-right": 61838, 412 | "arrow-circle-o-left": 61840, 413 | "toggle-left": 61841, 414 | "caret-square-o-left": 61841, 415 | "dot-circle-o": 61842, 416 | "wheelchair": 61843, 417 | "vimeo-square": 61844, 418 | "turkish-lira": 61845, 419 | "try": 61845, 420 | "plus-square-o": 61846, 421 | "space-shuttle": 61847, 422 | "slack": 61848, 423 | "envelope-square": 61849, 424 | "wordpress": 61850, 425 | "openid": 61851, 426 | "institution": 61852, 427 | "bank": 61852, 428 | "university": 61852, 429 | "mortar-board": 61853, 430 | "graduation-cap": 61853, 431 | "yahoo": 61854, 432 | "google": 61856, 433 | "reddit": 61857, 434 | "reddit-square": 61858, 435 | "stumbleupon-circle": 61859, 436 | "stumbleupon": 61860, 437 | "delicious": 61861, 438 | "digg": 61862, 439 | "pied-piper-pp": 61863, 440 | "pied-piper-alt": 61864, 441 | "drupal": 61865, 442 | "joomla": 61866, 443 | "language": 61867, 444 | "fax": 61868, 445 | "building": 61869, 446 | "child": 61870, 447 | "paw": 61872, 448 | "spoon": 61873, 449 | "cube": 61874, 450 | "cubes": 61875, 451 | "behance": 61876, 452 | "behance-square": 61877, 453 | "steam": 61878, 454 | "steam-square": 61879, 455 | "recycle": 61880, 456 | "automobile": 61881, 457 | "car": 61881, 458 | "cab": 61882, 459 | "taxi": 61882, 460 | "tree": 61883, 461 | "spotify": 61884, 462 | "deviantart": 61885, 463 | "soundcloud": 61886, 464 | "database": 61888, 465 | "file-pdf-o": 61889, 466 | "file-word-o": 61890, 467 | "file-excel-o": 61891, 468 | "file-powerpoint-o": 61892, 469 | "file-photo-o": 61893, 470 | "file-picture-o": 61893, 471 | "file-image-o": 61893, 472 | "file-zip-o": 61894, 473 | "file-archive-o": 61894, 474 | "file-sound-o": 61895, 475 | "file-audio-o": 61895, 476 | "file-movie-o": 61896, 477 | "file-video-o": 61896, 478 | "file-code-o": 61897, 479 | "vine": 61898, 480 | "codepen": 61899, 481 | "jsfiddle": 61900, 482 | "life-bouy": 61901, 483 | "life-buoy": 61901, 484 | "life-saver": 61901, 485 | "support": 61901, 486 | "life-ring": 61901, 487 | "circle-o-notch": 61902, 488 | "ra": 61904, 489 | "resistance": 61904, 490 | "rebel": 61904, 491 | "ge": 61905, 492 | "empire": 61905, 493 | "git-square": 61906, 494 | "git": 61907, 495 | "y-combinator-square": 61908, 496 | "yc-square": 61908, 497 | "hacker-news": 61908, 498 | "tencent-weibo": 61909, 499 | "qq": 61910, 500 | "wechat": 61911, 501 | "weixin": 61911, 502 | "send": 61912, 503 | "paper-plane": 61912, 504 | "send-o": 61913, 505 | "paper-plane-o": 61913, 506 | "history": 61914, 507 | "circle-thin": 61915, 508 | "header": 61916, 509 | "paragraph": 61917, 510 | "sliders": 61918, 511 | "share-alt": 61920, 512 | "share-alt-square": 61921, 513 | "bomb": 61922, 514 | "soccer-ball-o": 61923, 515 | "futbol-o": 61923, 516 | "tty": 61924, 517 | "binoculars": 61925, 518 | "plug": 61926, 519 | "slideshare": 61927, 520 | "twitch": 61928, 521 | "yelp": 61929, 522 | "newspaper-o": 61930, 523 | "wifi": 61931, 524 | "calculator": 61932, 525 | "paypal": 61933, 526 | "google-wallet": 61934, 527 | "cc-visa": 61936, 528 | "cc-mastercard": 61937, 529 | "cc-discover": 61938, 530 | "cc-amex": 61939, 531 | "cc-paypal": 61940, 532 | "cc-stripe": 61941, 533 | "bell-slash": 61942, 534 | "bell-slash-o": 61943, 535 | "trash": 61944, 536 | "copyright": 61945, 537 | "at": 61946, 538 | "eyedropper": 61947, 539 | "paint-brush": 61948, 540 | "birthday-cake": 61949, 541 | "area-chart": 61950, 542 | "pie-chart": 61952, 543 | "line-chart": 61953, 544 | "lastfm": 61954, 545 | "lastfm-square": 61955, 546 | "toggle-off": 61956, 547 | "toggle-on": 61957, 548 | "bicycle": 61958, 549 | "bus": 61959, 550 | "ioxhost": 61960, 551 | "angellist": 61961, 552 | "cc": 61962, 553 | "shekel": 61963, 554 | "sheqel": 61963, 555 | "ils": 61963, 556 | "meanpath": 61964, 557 | "buysellads": 61965, 558 | "connectdevelop": 61966, 559 | "dashcube": 61968, 560 | "forumbee": 61969, 561 | "leanpub": 61970, 562 | "sellsy": 61971, 563 | "shirtsinbulk": 61972, 564 | "simplybuilt": 61973, 565 | "skyatlas": 61974, 566 | "cart-plus": 61975, 567 | "cart-arrow-down": 61976, 568 | "diamond": 61977, 569 | "ship": 61978, 570 | "user-secret": 61979, 571 | "motorcycle": 61980, 572 | "street-view": 61981, 573 | "heartbeat": 61982, 574 | "venus": 61985, 575 | "mars": 61986, 576 | "mercury": 61987, 577 | "intersex": 61988, 578 | "transgender": 61988, 579 | "transgender-alt": 61989, 580 | "venus-double": 61990, 581 | "mars-double": 61991, 582 | "venus-mars": 61992, 583 | "mars-stroke": 61993, 584 | "mars-stroke-v": 61994, 585 | "mars-stroke-h": 61995, 586 | "neuter": 61996, 587 | "genderless": 61997, 588 | "facebook-official": 62000, 589 | "pinterest-p": 62001, 590 | "whatsapp": 62002, 591 | "server": 62003, 592 | "user-plus": 62004, 593 | "user-times": 62005, 594 | "hotel": 62006, 595 | "bed": 62006, 596 | "viacoin": 62007, 597 | "train": 62008, 598 | "subway": 62009, 599 | "medium": 62010, 600 | "yc": 62011, 601 | "y-combinator": 62011, 602 | "optin-monster": 62012, 603 | "opencart": 62013, 604 | "expeditedssl": 62014, 605 | "battery-4": 62016, 606 | "battery": 62016, 607 | "battery-full": 62016, 608 | "battery-3": 62017, 609 | "battery-three-quarters": 62017, 610 | "battery-2": 62018, 611 | "battery-half": 62018, 612 | "battery-1": 62019, 613 | "battery-quarter": 62019, 614 | "battery-0": 62020, 615 | "battery-empty": 62020, 616 | "mouse-pointer": 62021, 617 | "i-cursor": 62022, 618 | "object-group": 62023, 619 | "object-ungroup": 62024, 620 | "sticky-note": 62025, 621 | "sticky-note-o": 62026, 622 | "cc-jcb": 62027, 623 | "cc-diners-club": 62028, 624 | "clone": 62029, 625 | "balance-scale": 62030, 626 | "hourglass-o": 62032, 627 | "hourglass-1": 62033, 628 | "hourglass-start": 62033, 629 | "hourglass-2": 62034, 630 | "hourglass-half": 62034, 631 | "hourglass-3": 62035, 632 | "hourglass-end": 62035, 633 | "hourglass": 62036, 634 | "hand-grab-o": 62037, 635 | "hand-rock-o": 62037, 636 | "hand-stop-o": 62038, 637 | "hand-paper-o": 62038, 638 | "hand-scissors-o": 62039, 639 | "hand-lizard-o": 62040, 640 | "hand-spock-o": 62041, 641 | "hand-pointer-o": 62042, 642 | "hand-peace-o": 62043, 643 | "trademark": 62044, 644 | "registered": 62045, 645 | "creative-commons": 62046, 646 | "gg": 62048, 647 | "gg-circle": 62049, 648 | "tripadvisor": 62050, 649 | "odnoklassniki": 62051, 650 | "odnoklassniki-square": 62052, 651 | "get-pocket": 62053, 652 | "wikipedia-w": 62054, 653 | "safari": 62055, 654 | "chrome": 62056, 655 | "firefox": 62057, 656 | "opera": 62058, 657 | "internet-explorer": 62059, 658 | "tv": 62060, 659 | "television": 62060, 660 | "contao": 62061, 661 | "500px": 62062, 662 | "amazon": 62064, 663 | "calendar-plus-o": 62065, 664 | "calendar-minus-o": 62066, 665 | "calendar-times-o": 62067, 666 | "calendar-check-o": 62068, 667 | "industry": 62069, 668 | "map-pin": 62070, 669 | "map-signs": 62071, 670 | "map-o": 62072, 671 | "map": 62073, 672 | "commenting": 62074, 673 | "commenting-o": 62075, 674 | "houzz": 62076, 675 | "vimeo": 62077, 676 | "black-tie": 62078, 677 | "fonticons": 62080, 678 | "reddit-alien": 62081, 679 | "edge": 62082, 680 | "credit-card-alt": 62083, 681 | "codiepie": 62084, 682 | "modx": 62085, 683 | "fort-awesome": 62086, 684 | "usb": 62087, 685 | "product-hunt": 62088, 686 | "mixcloud": 62089, 687 | "scribd": 62090, 688 | "pause-circle": 62091, 689 | "pause-circle-o": 62092, 690 | "stop-circle": 62093, 691 | "stop-circle-o": 62094, 692 | "shopping-bag": 62096, 693 | "shopping-basket": 62097, 694 | "hashtag": 62098, 695 | "bluetooth": 62099, 696 | "bluetooth-b": 62100, 697 | "percent": 62101, 698 | "gitlab": 62102, 699 | "wpbeginner": 62103, 700 | "wpforms": 62104, 701 | "envira": 62105, 702 | "universal-access": 62106, 703 | "wheelchair-alt": 62107, 704 | "question-circle-o": 62108, 705 | "blind": 62109, 706 | "audio-description": 62110, 707 | "volume-control-phone": 62112, 708 | "braille": 62113, 709 | "assistive-listening-systems": 62114, 710 | "asl-interpreting": 62115, 711 | "american-sign-language-interpreting": 62115, 712 | "deafness": 62116, 713 | "hard-of-hearing": 62116, 714 | "deaf": 62116, 715 | "glide": 62117, 716 | "glide-g": 62118, 717 | "signing": 62119, 718 | "sign-language": 62119, 719 | "low-vision": 62120, 720 | "viadeo": 62121, 721 | "viadeo-square": 62122, 722 | "snapchat": 62123, 723 | "snapchat-ghost": 62124, 724 | "snapchat-square": 62125, 725 | "pied-piper": 62126, 726 | "first-order": 62128, 727 | "yoast": 62129, 728 | "themeisle": 62130, 729 | "google-plus-circle": 62131, 730 | "google-plus-official": 62131, 731 | "fa": 62132, 732 | "font-awesome": 62132, 733 | "handshake-o": 62133, 734 | "envelope-open": 62134, 735 | "envelope-open-o": 62135, 736 | "linode": 62136, 737 | "address-book": 62137, 738 | "address-book-o": 62138, 739 | "vcard": 62139, 740 | "address-card": 62139, 741 | "vcard-o": 62140, 742 | "address-card-o": 62140, 743 | "user-circle": 62141, 744 | "user-circle-o": 62142, 745 | "user-o": 62144, 746 | "id-badge": 62145, 747 | "drivers-license": 62146, 748 | "id-card": 62146, 749 | "drivers-license-o": 62147, 750 | "id-card-o": 62147, 751 | "quora": 62148, 752 | "free-code-camp": 62149, 753 | "telegram": 62150, 754 | "thermometer-4": 62151, 755 | "thermometer": 62151, 756 | "thermometer-full": 62151, 757 | "thermometer-3": 62152, 758 | "thermometer-three-quarters": 62152, 759 | "thermometer-2": 62153, 760 | "thermometer-half": 62153, 761 | "thermometer-1": 62154, 762 | "thermometer-quarter": 62154, 763 | "thermometer-0": 62155, 764 | "thermometer-empty": 62155, 765 | "shower": 62156, 766 | "bathtub": 62157, 767 | "s15": 62157, 768 | "bath": 62157, 769 | "podcast": 62158, 770 | "window-maximize": 62160, 771 | "window-minimize": 62161, 772 | "window-restore": 62162, 773 | "times-rectangle": 62163, 774 | "window-close": 62163, 775 | "times-rectangle-o": 62164, 776 | "window-close-o": 62164, 777 | "bandcamp": 62165, 778 | "grav": 62166, 779 | "etsy": 62167, 780 | "imdb": 62168, 781 | "ravelry": 62169, 782 | "eercast": 62170, 783 | "microchip": 62171, 784 | "snowflake-o": 62172, 785 | "superpowers": 62173, 786 | "wpexplorer": 62174, 787 | "meetup": 62176 788 | } -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-vector-icons/glyphmaps/Foundation.json: -------------------------------------------------------------------------------- 1 | { 2 | "address-book": 61696, 3 | "alert": 61697, 4 | "align-center": 61698, 5 | "align-justify": 61699, 6 | "align-left": 61700, 7 | "align-right": 61701, 8 | "anchor": 61702, 9 | "annotate": 61703, 10 | "archive": 61704, 11 | "arrow-down": 61705, 12 | "arrow-left": 61706, 13 | "arrow-right": 61707, 14 | "arrow-up": 61708, 15 | "arrows-compress": 61709, 16 | "arrows-expand": 61710, 17 | "arrows-in": 61711, 18 | "arrows-out": 61712, 19 | "asl": 61713, 20 | "asterisk": 61714, 21 | "at-sign": 61715, 22 | "background-color": 61716, 23 | "battery-empty": 61717, 24 | "battery-full": 61718, 25 | "battery-half": 61719, 26 | "bitcoin-circle": 61720, 27 | "bitcoin": 61721, 28 | "blind": 61722, 29 | "bluetooth": 61723, 30 | "bold": 61724, 31 | "book-bookmark": 61725, 32 | "book": 61726, 33 | "bookmark": 61727, 34 | "braille": 61728, 35 | "burst-new": 61729, 36 | "burst-sale": 61730, 37 | "burst": 61731, 38 | "calendar": 61732, 39 | "camera": 61733, 40 | "check": 61734, 41 | "checkbox": 61735, 42 | "clipboard-notes": 61736, 43 | "clipboard-pencil": 61737, 44 | "clipboard": 61738, 45 | "clock": 61739, 46 | "closed-caption": 61740, 47 | "cloud": 61741, 48 | "comment-minus": 61742, 49 | "comment-quotes": 61743, 50 | "comment-video": 61744, 51 | "comment": 61745, 52 | "comments": 61746, 53 | "compass": 61747, 54 | "contrast": 61748, 55 | "credit-card": 61749, 56 | "crop": 61750, 57 | "crown": 61751, 58 | "css3": 61752, 59 | "database": 61753, 60 | "die-five": 61754, 61 | "die-four": 61755, 62 | "die-one": 61756, 63 | "die-six": 61757, 64 | "die-three": 61758, 65 | "die-two": 61759, 66 | "dislike": 61760, 67 | "dollar-bill": 61761, 68 | "dollar": 61762, 69 | "download": 61763, 70 | "eject": 61764, 71 | "elevator": 61765, 72 | "euro": 61766, 73 | "eye": 61767, 74 | "fast-forward": 61768, 75 | "female-symbol": 61769, 76 | "female": 61770, 77 | "filter": 61771, 78 | "first-aid": 61772, 79 | "flag": 61773, 80 | "folder-add": 61774, 81 | "folder-lock": 61775, 82 | "folder": 61776, 83 | "foot": 61777, 84 | "foundation": 61778, 85 | "graph-bar": 61779, 86 | "graph-horizontal": 61780, 87 | "graph-pie": 61781, 88 | "graph-trend": 61782, 89 | "guide-dog": 61783, 90 | "hearing-aid": 61784, 91 | "heart": 61785, 92 | "home": 61786, 93 | "html5": 61787, 94 | "indent-less": 61788, 95 | "indent-more": 61789, 96 | "info": 61790, 97 | "italic": 61791, 98 | "key": 61792, 99 | "laptop": 61793, 100 | "layout": 61794, 101 | "lightbulb": 61795, 102 | "like": 61796, 103 | "link": 61797, 104 | "list-bullet": 61798, 105 | "list-number": 61799, 106 | "list-thumbnails": 61800, 107 | "list": 61801, 108 | "lock": 61802, 109 | "loop": 61803, 110 | "magnifying-glass": 61804, 111 | "mail": 61805, 112 | "male-female": 61806, 113 | "male-symbol": 61807, 114 | "male": 61808, 115 | "map": 61809, 116 | "marker": 61810, 117 | "megaphone": 61811, 118 | "microphone": 61812, 119 | "minus-circle": 61813, 120 | "minus": 61814, 121 | "mobile-signal": 61815, 122 | "mobile": 61816, 123 | "monitor": 61817, 124 | "mountains": 61818, 125 | "music": 61819, 126 | "next": 61820, 127 | "no-dogs": 61821, 128 | "no-smoking": 61822, 129 | "page-add": 61823, 130 | "page-copy": 61824, 131 | "page-csv": 61825, 132 | "page-delete": 61826, 133 | "page-doc": 61827, 134 | "page-edit": 61828, 135 | "page-export-csv": 61829, 136 | "page-export-doc": 61830, 137 | "page-export-pdf": 61831, 138 | "page-export": 61832, 139 | "page-filled": 61833, 140 | "page-multiple": 61834, 141 | "page-pdf": 61835, 142 | "page-remove": 61836, 143 | "page-search": 61837, 144 | "page": 61838, 145 | "paint-bucket": 61839, 146 | "paperclip": 61840, 147 | "pause": 61841, 148 | "paw": 61842, 149 | "paypal": 61843, 150 | "pencil": 61844, 151 | "photo": 61845, 152 | "play-circle": 61846, 153 | "play-video": 61847, 154 | "play": 61848, 155 | "plus": 61849, 156 | "pound": 61850, 157 | "power": 61851, 158 | "previous": 61852, 159 | "price-tag": 61853, 160 | "pricetag-multiple": 61854, 161 | "print": 61855, 162 | "prohibited": 61856, 163 | "projection-screen": 61857, 164 | "puzzle": 61858, 165 | "quote": 61859, 166 | "record": 61860, 167 | "refresh": 61861, 168 | "results-demographics": 61862, 169 | "results": 61863, 170 | "rewind-ten": 61864, 171 | "rewind": 61865, 172 | "rss": 61866, 173 | "safety-cone": 61867, 174 | "save": 61868, 175 | "share": 61869, 176 | "sheriff-badge": 61870, 177 | "shield": 61871, 178 | "shopping-bag": 61872, 179 | "shopping-cart": 61873, 180 | "shuffle": 61874, 181 | "skull": 61875, 182 | "social-500px": 61876, 183 | "social-adobe": 61877, 184 | "social-amazon": 61878, 185 | "social-android": 61879, 186 | "social-apple": 61880, 187 | "social-behance": 61881, 188 | "social-bing": 61882, 189 | "social-blogger": 61883, 190 | "social-delicious": 61884, 191 | "social-designer-news": 61885, 192 | "social-deviant-art": 61886, 193 | "social-digg": 61887, 194 | "social-dribbble": 61888, 195 | "social-drive": 61889, 196 | "social-dropbox": 61890, 197 | "social-evernote": 61891, 198 | "social-facebook": 61892, 199 | "social-flickr": 61893, 200 | "social-forrst": 61894, 201 | "social-foursquare": 61895, 202 | "social-game-center": 61896, 203 | "social-github": 61897, 204 | "social-google-plus": 61898, 205 | "social-hacker-news": 61899, 206 | "social-hi5": 61900, 207 | "social-instagram": 61901, 208 | "social-joomla": 61902, 209 | "social-lastfm": 61903, 210 | "social-linkedin": 61904, 211 | "social-medium": 61905, 212 | "social-myspace": 61906, 213 | "social-orkut": 61907, 214 | "social-path": 61908, 215 | "social-picasa": 61909, 216 | "social-pinterest": 61910, 217 | "social-rdio": 61911, 218 | "social-reddit": 61912, 219 | "social-skillshare": 61913, 220 | "social-skype": 61914, 221 | "social-smashing-mag": 61915, 222 | "social-snapchat": 61916, 223 | "social-spotify": 61917, 224 | "social-squidoo": 61918, 225 | "social-stack-overflow": 61919, 226 | "social-steam": 61920, 227 | "social-stumbleupon": 61921, 228 | "social-treehouse": 61922, 229 | "social-tumblr": 61923, 230 | "social-twitter": 61924, 231 | "social-vimeo": 61925, 232 | "social-windows": 61926, 233 | "social-xbox": 61927, 234 | "social-yahoo": 61928, 235 | "social-yelp": 61929, 236 | "social-youtube": 61930, 237 | "social-zerply": 61931, 238 | "social-zurb": 61932, 239 | "sound": 61933, 240 | "star": 61934, 241 | "stop": 61935, 242 | "strikethrough": 61936, 243 | "subscript": 61937, 244 | "superscript": 61938, 245 | "tablet-landscape": 61939, 246 | "tablet-portrait": 61940, 247 | "target-two": 61941, 248 | "target": 61942, 249 | "telephone-accessible": 61943, 250 | "telephone": 61944, 251 | "text-color": 61945, 252 | "thumbnails": 61946, 253 | "ticket": 61947, 254 | "torso-business": 61948, 255 | "torso-female": 61949, 256 | "torso": 61950, 257 | "torsos-all-female": 61951, 258 | "torsos-all": 61952, 259 | "torsos-female-male": 61953, 260 | "torsos-male-female": 61954, 261 | "torsos": 61955, 262 | "trash": 61956, 263 | "trees": 61957, 264 | "trophy": 61958, 265 | "underline": 61959, 266 | "universal-access": 61960, 267 | "unlink": 61961, 268 | "unlock": 61962, 269 | "upload-cloud": 61963, 270 | "upload": 61964, 271 | "usb": 61965, 272 | "video": 61966, 273 | "volume-none": 61967, 274 | "volume-strike": 61968, 275 | "volume": 61969, 276 | "web": 61970, 277 | "wheelchair": 61971, 278 | "widget": 61972, 279 | "wrench": 61973, 280 | "x-circle": 61974, 281 | "x": 61975, 282 | "yen": 61976, 283 | "zoom-in": 61977, 284 | "zoom-out": 61978 285 | } -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-vector-icons/glyphmaps/Octicons.json: -------------------------------------------------------------------------------- 1 | { 2 | "alert": 61696, 3 | "archive": 61697, 4 | "arrow-both": 61698, 5 | "arrow-down": 61699, 6 | "arrow-left": 61700, 7 | "arrow-right": 61701, 8 | "arrow-small-down": 61702, 9 | "arrow-small-left": 61703, 10 | "arrow-small-right": 61704, 11 | "arrow-small-up": 61705, 12 | "arrow-up": 61706, 13 | "beaker": 61707, 14 | "bell": 61708, 15 | "bold": 61709, 16 | "book": 61710, 17 | "bookmark": 61711, 18 | "briefcase": 61712, 19 | "broadcast": 61713, 20 | "browser": 61714, 21 | "bug": 61715, 22 | "calendar": 61716, 23 | "check": 61717, 24 | "checklist": 61718, 25 | "chevron-down": 61719, 26 | "chevron-left": 61720, 27 | "chevron-right": 61721, 28 | "chevron-up": 61722, 29 | "circle-slash": 61723, 30 | "circuit-board": 61724, 31 | "clippy": 61725, 32 | "clock": 61726, 33 | "cloud-download": 61727, 34 | "cloud-upload": 61728, 35 | "code": 61729, 36 | "comment": 61730, 37 | "comment-discussion": 61731, 38 | "credit-card": 61732, 39 | "dash": 61733, 40 | "dashboard": 61734, 41 | "database": 61735, 42 | "desktop-download": 61736, 43 | "device-camera": 61737, 44 | "device-camera-video": 61738, 45 | "device-desktop": 61739, 46 | "device-mobile": 61740, 47 | "diff": 61741, 48 | "diff-added": 61742, 49 | "diff-ignored": 61743, 50 | "diff-modified": 61744, 51 | "diff-removed": 61745, 52 | "diff-renamed": 61746, 53 | "ellipsis": 61747, 54 | "eye": 61748, 55 | "eye-closed": 61749, 56 | "file": 61750, 57 | "file-binary": 61751, 58 | "file-code": 61752, 59 | "file-directory": 61753, 60 | "file-media": 61754, 61 | "file-pdf": 61755, 62 | "file-submodule": 61756, 63 | "file-symlink-directory": 61757, 64 | "file-symlink-file": 61758, 65 | "file-zip": 61759, 66 | "flame": 61760, 67 | "fold": 61761, 68 | "fold-down": 61762, 69 | "fold-up": 61763, 70 | "gear": 61764, 71 | "gift": 61765, 72 | "gist": 61766, 73 | "gist-secret": 61767, 74 | "git-branch": 61768, 75 | "git-commit": 61769, 76 | "git-compare": 61770, 77 | "git-merge": 61771, 78 | "git-pull-request": 61772, 79 | "github-action": 61773, 80 | "globe": 61774, 81 | "grabber": 61775, 82 | "graph": 61776, 83 | "heart": 61777, 84 | "history": 61778, 85 | "home": 61779, 86 | "horizontal-rule": 61780, 87 | "hubot": 61781, 88 | "inbox": 61782, 89 | "info": 61783, 90 | "issue-closed": 61784, 91 | "issue-opened": 61785, 92 | "issue-reopened": 61786, 93 | "italic": 61787, 94 | "jersey": 61788, 95 | "kebab-horizontal": 61789, 96 | "kebab-vertical": 61790, 97 | "key": 61791, 98 | "keyboard": 61792, 99 | "law": 61793, 100 | "light-bulb": 61794, 101 | "link": 61795, 102 | "link-external": 61796, 103 | "list-ordered": 61797, 104 | "list-unordered": 61798, 105 | "location": 61799, 106 | "lock": 61800, 107 | "logo-gist": 61801, 108 | "logo-github": 61802, 109 | "mail": 61803, 110 | "mail-read": 61804, 111 | "mark-github": 61805, 112 | "markdown": 61806, 113 | "megaphone": 61807, 114 | "mention": 61808, 115 | "milestone": 61809, 116 | "mirror": 61810, 117 | "mortar-board": 61811, 118 | "mute": 61812, 119 | "no-newline": 61813, 120 | "note": 61814, 121 | "octoface": 61815, 122 | "organization": 61816, 123 | "package": 61817, 124 | "paintcan": 61818, 125 | "pencil": 61819, 126 | "person": 61820, 127 | "pin": 61821, 128 | "play": 61822, 129 | "plug": 61823, 130 | "plus": 61824, 131 | "plus-small": 61825, 132 | "primitive-dot": 61826, 133 | "primitive-square": 61827, 134 | "project": 61828, 135 | "pulse": 61829, 136 | "question": 61830, 137 | "quote": 61831, 138 | "radio-tower": 61832, 139 | "reply": 61833, 140 | "repo": 61834, 141 | "repo-clone": 61835, 142 | "repo-force-push": 61836, 143 | "repo-forked": 61837, 144 | "repo-pull": 61838, 145 | "repo-push": 61839, 146 | "report": 61840, 147 | "request-changes": 61841, 148 | "rocket": 61842, 149 | "rss": 61843, 150 | "ruby": 61844, 151 | "screen-full": 61845, 152 | "screen-normal": 61846, 153 | "search": 61847, 154 | "server": 61848, 155 | "settings": 61849, 156 | "shield": 61850, 157 | "sign-in": 61851, 158 | "sign-out": 61852, 159 | "smiley": 61853, 160 | "squirrel": 61854, 161 | "star": 61855, 162 | "stop": 61856, 163 | "sync": 61857, 164 | "tag": 61858, 165 | "tasklist": 61859, 166 | "telescope": 61860, 167 | "terminal": 61861, 168 | "text-size": 61862, 169 | "three-bars": 61863, 170 | "thumbsdown": 61864, 171 | "thumbsup": 61865, 172 | "tools": 61866, 173 | "trashcan": 61867, 174 | "triangle-down": 61868, 175 | "triangle-left": 61869, 176 | "triangle-right": 61870, 177 | "triangle-up": 61871, 178 | "unfold": 61872, 179 | "unmute": 61873, 180 | "unverified": 61874, 181 | "verified": 61875, 182 | "versions": 61876, 183 | "watch": 61877, 184 | "x": 61878, 185 | "zap": 61879 186 | } -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-vector-icons/glyphmaps/SimpleLineIcons.json: -------------------------------------------------------------------------------- 1 | { 2 | "user": 57349, 3 | "people": 57345, 4 | "user-female": 57344, 5 | "user-follow": 57346, 6 | "user-following": 57347, 7 | "user-unfollow": 57348, 8 | "login": 57446, 9 | "logout": 57445, 10 | "emotsmile": 57377, 11 | "phone": 58880, 12 | "call-end": 57416, 13 | "call-in": 57415, 14 | "call-out": 57414, 15 | "map": 57395, 16 | "location-pin": 57494, 17 | "direction": 57410, 18 | "directions": 57409, 19 | "compass": 57413, 20 | "layers": 57396, 21 | "menu": 58881, 22 | "list": 57447, 23 | "options-vertical": 58882, 24 | "options": 58883, 25 | "arrow-down": 58884, 26 | "arrow-left": 58885, 27 | "arrow-right": 58886, 28 | "arrow-up": 58887, 29 | "arrow-up-circle": 57464, 30 | "arrow-left-circle": 57466, 31 | "arrow-right-circle": 57465, 32 | "arrow-down-circle": 57467, 33 | "check": 57472, 34 | "clock": 57473, 35 | "plus": 57493, 36 | "minus": 58901, 37 | "close": 57474, 38 | "event": 58905, 39 | "exclamation": 58903, 40 | "organization": 58902, 41 | "trophy": 57350, 42 | "screen-smartphone": 57360, 43 | "screen-desktop": 57361, 44 | "plane": 57362, 45 | "notebook": 57363, 46 | "mustache": 57364, 47 | "mouse": 57365, 48 | "magnet": 57366, 49 | "energy": 57376, 50 | "disc": 57378, 51 | "cursor": 57454, 52 | "cursor-move": 57379, 53 | "crop": 57380, 54 | "chemistry": 57382, 55 | "speedometer": 57351, 56 | "shield": 57358, 57 | "screen-tablet": 57359, 58 | "magic-wand": 57367, 59 | "hourglass": 57368, 60 | "graduation": 57369, 61 | "ghost": 57370, 62 | "game-controller": 57371, 63 | "fire": 57372, 64 | "eyeglass": 57373, 65 | "envelope-open": 57374, 66 | "envelope-letter": 57375, 67 | "bell": 57383, 68 | "badge": 57384, 69 | "anchor": 57385, 70 | "wallet": 57386, 71 | "vector": 57387, 72 | "speech": 57388, 73 | "puzzle": 57389, 74 | "printer": 57390, 75 | "present": 57391, 76 | "playlist": 57392, 77 | "pin": 57393, 78 | "picture": 57394, 79 | "handbag": 57397, 80 | "globe-alt": 57398, 81 | "globe": 57399, 82 | "folder-alt": 57401, 83 | "folder": 57481, 84 | "film": 57402, 85 | "feed": 57403, 86 | "drop": 57406, 87 | "drawer": 57407, 88 | "docs": 57408, 89 | "doc": 57477, 90 | "diamond": 57411, 91 | "cup": 57412, 92 | "calculator": 57417, 93 | "bubbles": 57418, 94 | "briefcase": 57419, 95 | "book-open": 57420, 96 | "basket-loaded": 57421, 97 | "basket": 57422, 98 | "bag": 57423, 99 | "action-undo": 57424, 100 | "action-redo": 57425, 101 | "wrench": 57426, 102 | "umbrella": 57427, 103 | "trash": 57428, 104 | "tag": 57429, 105 | "support": 57430, 106 | "frame": 57400, 107 | "size-fullscreen": 57431, 108 | "size-actual": 57432, 109 | "shuffle": 57433, 110 | "share-alt": 57434, 111 | "share": 57435, 112 | "rocket": 57436, 113 | "question": 57437, 114 | "pie-chart": 57438, 115 | "pencil": 57439, 116 | "note": 57440, 117 | "loop": 57444, 118 | "home": 57449, 119 | "grid": 57450, 120 | "graph": 57451, 121 | "microphone": 57443, 122 | "music-tone-alt": 57441, 123 | "music-tone": 57442, 124 | "earphones-alt": 57404, 125 | "earphones": 57405, 126 | "equalizer": 57452, 127 | "like": 57448, 128 | "dislike": 57453, 129 | "control-start": 57455, 130 | "control-rewind": 57456, 131 | "control-play": 57457, 132 | "control-pause": 57458, 133 | "control-forward": 57459, 134 | "control-end": 57460, 135 | "volume-1": 57503, 136 | "volume-2": 57504, 137 | "volume-off": 57505, 138 | "calendar": 57461, 139 | "bulb": 57462, 140 | "chart": 57463, 141 | "ban": 57468, 142 | "bubble": 57469, 143 | "camrecorder": 57470, 144 | "camera": 57471, 145 | "cloud-download": 57475, 146 | "cloud-upload": 57476, 147 | "envelope": 57478, 148 | "eye": 57479, 149 | "flag": 57480, 150 | "heart": 57482, 151 | "info": 57483, 152 | "key": 57484, 153 | "link": 57485, 154 | "lock": 57486, 155 | "lock-open": 57487, 156 | "magnifier": 57488, 157 | "magnifier-add": 57489, 158 | "magnifier-remove": 57490, 159 | "paper-clip": 57491, 160 | "paper-plane": 57492, 161 | "power": 57495, 162 | "refresh": 57496, 163 | "reload": 57497, 164 | "settings": 57498, 165 | "star": 57499, 166 | "symbol-female": 57500, 167 | "symbol-male": 57501, 168 | "target": 57502, 169 | "credit-card": 57381, 170 | "paypal": 58888, 171 | "social-tumblr": 57354, 172 | "social-twitter": 57353, 173 | "social-facebook": 57355, 174 | "social-instagram": 58889, 175 | "social-linkedin": 58890, 176 | "social-pinterest": 58891, 177 | "social-github": 58892, 178 | "social-google": 58893, 179 | "social-reddit": 58894, 180 | "social-skype": 58895, 181 | "social-dribbble": 57357, 182 | "social-behance": 58896, 183 | "social-foursqare": 58897, 184 | "social-soundcloud": 58898, 185 | "social-spotify": 58899, 186 | "social-stumbleupon": 58900, 187 | "social-youtube": 57352, 188 | "social-dropbox": 57356, 189 | "social-vkontakte": 58904, 190 | "social-steam": 58912 191 | } -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-native-vector-icons/glyphmaps/Zocial.json: -------------------------------------------------------------------------------- 1 | { 2 | "acrobat": 61696, 3 | "amazon": 61697, 4 | "android": 61698, 5 | "angellist": 61699, 6 | "aol": 61700, 7 | "appnet": 61701, 8 | "appstore": 61702, 9 | "bitbucket": 61703, 10 | "bitcoin": 61704, 11 | "blogger": 61705, 12 | "buffer": 61706, 13 | "cal": 61707, 14 | "call": 61708, 15 | "cart": 61709, 16 | "chrome": 61710, 17 | "cloudapp": 61711, 18 | "creativecommons": 61712, 19 | "delicious": 61713, 20 | "digg": 61714, 21 | "disqus": 61715, 22 | "dribbble": 61716, 23 | "dropbox": 61717, 24 | "drupal": 61718, 25 | "dwolla": 61720, 26 | "email": 61721, 27 | "eventasaurus": 61722, 28 | "eventbrite": 61723, 29 | "eventful": 61724, 30 | "evernote": 61725, 31 | "facebook": 61726, 32 | "fivehundredpx": 61727, 33 | "flattr": 61728, 34 | "flickr": 61729, 35 | "forrst": 61730, 36 | "foursquare": 61731, 37 | "github": 61732, 38 | "gmail": 61733, 39 | "google": 61734, 40 | "googleplay": 61735, 41 | "googleplus": 61736, 42 | "gowalla": 61737, 43 | "grooveshark": 61738, 44 | "guest": 61739, 45 | "html5": 61740, 46 | "ie": 61741, 47 | "instagram": 61742, 48 | "instapaper": 61743, 49 | "intensedebate": 61744, 50 | "itunes": 61745, 51 | "klout": 61746, 52 | "lanyrd": 61747, 53 | "lastfm": 61748, 54 | "lego": 61749, 55 | "linkedin": 61750, 56 | "lkdto": 61751, 57 | "logmein": 61752, 58 | "macstore": 61753, 59 | "meetup": 61754, 60 | "myspace": 61755, 61 | "ninetyninedesigns": 61756, 62 | "openid": 61757, 63 | "opentable": 61758, 64 | "paypal": 61759, 65 | "persona": 61796, 66 | "pinboard": 61760, 67 | "pinterest": 61761, 68 | "plancast": 61762, 69 | "plurk": 61763, 70 | "pocket": 61764, 71 | "podcast": 61765, 72 | "posterous": 61766, 73 | "print": 61767, 74 | "quora": 61768, 75 | "reddit": 61769, 76 | "rss": 61770, 77 | "scribd": 61771, 78 | "skype": 61772, 79 | "smashing": 61773, 80 | "songkick": 61774, 81 | "soundcloud": 61775, 82 | "spotify": 61776, 83 | "stackoverflow": 61777, 84 | "statusnet": 61778, 85 | "steam": 61779, 86 | "stripe": 61780, 87 | "stumbleupon": 61781, 88 | "tumblr": 61782, 89 | "twitter": 61783, 90 | "viadeo": 61784, 91 | "vimeo": 61785, 92 | "vk": 61786, 93 | "weibo": 61787, 94 | "wikipedia": 61788, 95 | "windows": 61789, 96 | "wordpress": 61790, 97 | "xing": 61791, 98 | "yahoo": 61792, 99 | "ycombinator": 61793, 100 | "yelp": 61794, 101 | "youtube": 61795 102 | } -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon-mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon-mask.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon@2x.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/node_modules/react-navigation-stack/lib/module/views/assets/back-icon@3x.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/arrow-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/arrow-left.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/bike-light.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/bike-light.jpg -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/bolt-shirt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/bolt-shirt.jpg -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/filter-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/filter-button.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/footer-swagbot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/footer-swagbot.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/login-bot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/login-bot.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/menu-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/menu-button.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/menu-cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/menu-cart.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/menu-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/menu-close.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/pony-express.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/pony-express.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/red-onesie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/red-onesie.jpg -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/red-tatt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/red-tatt.jpg -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/sauce-backpack.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/sauce-backpack.jpg -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/sauce-bolt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/sauce-bolt.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/sauce-pullover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/sauce-pullover.jpg -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/sl-404.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/sl-404.jpg -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/surfing-sauce.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/surfing-sauce.jpg -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/swag-labs-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/swag-labs-logo.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/toggle-grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/toggle-grid.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/toggle-row.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omprakashchavan01/appium-pageobjectmodel/1896f26e6569a8402ecfce92a084b462baa482a3/src/test/resources/app/SwagLabsMobileApp.app/assets/src/img/toggle-row.png -------------------------------------------------------------------------------- /src/test/resources/app/SwagLabsMobileApp.app/assets/src/js/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SwagLabsMobileApp", 3 | "displayName": "Swag Labs" 4 | } -------------------------------------------------------------------------------- /src/test/resources/data/loginUsers.json: -------------------------------------------------------------------------------- 1 | { 2 | "invalidUser":{ 3 | "username":"invalidusername", 4 | "password":"secret_sauce" 5 | }, 6 | "invalidPassword":{ 7 | "username":"standard_user", 8 | "password":"invalidpassword" 9 | }, 10 | "validUser":{ 11 | "username":"standard_user", 12 | "password":"secret_sauce" 13 | } 14 | } -------------------------------------------------------------------------------- /src/test/resources/strings/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Username and password do not match any user in this service. 5 | PRODUCTS 6 | 7 | 8 | Sauce Labs Backpack 9 | $29.99 10 | 11 | 12 | Sauce Labs Backpack 13 | carry.allTheThings() with the sleek, streamlined Sly Pack that melds uncompromising style with unequaled laptop and tablet protection. 14 | $29.99 15 | -------------------------------------------------------------------------------- /testng.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | --------------------------------------------------------------------------------