Skip to content

Instantly share code, notes, and snippets.

View mpahuja's full-sized avatar

Manoj Pahuja mpahuja

  • Nextdoor
  • San Francisco, CA
View GitHub Profile
@mpahuja
mpahuja / gist:4ab0dff9dc1b4c8bf56a284f61e565e8
Created July 25, 2017 00:30
WebdriverIO Logs when running tests on linux
``17:01:17 [17:01:17] COMMAND POST "/wd/hub/session"
17:01:17 [17:01:17] DATA {"desiredCapabilities":{"javascriptEnabled":true,"locationContextEnabled":true,"handlesAlerts":true,"rotatable":true,"browserName":"chrome","loggingPrefs":{"browser":"SEVERE","driver":"ALL","performance":"INFO"},"chromeOptions":{"args":["--start-maximized"],"prefs":{"profile.default_content_setting_values.geolocation":1}},"build":"local-local-chrome-20170725T000117.857Z","name":"local-local-chrome-20170725T000117.857Z","webdriver.remote.quietExceptions":true,"_":"1 more keys: [\"requestOrigins\"]"}}
17:01:18 [17:01:18] INFO SET SESSION ID c9638d1f-3780-4d8c-aad9-0c93a26df150
17:01:18 [17:01:18] RESULT {"applicationCacheEnabled":false,"rotatable":false,"mobileEmulationEnabled":false,"networkConnectionEnabled":true,"chrome":{"chromedriverVersion":"2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57)","userDataDir":"/tmp/.org.chromium.Chromium.VSksfL"},"takesHeapSnapshot":true,"pageLoadStrategy":"normal","unhandledPromptBehav
@mpahuja
mpahuja / Pages - BasePage.swift
Created September 24, 2019 06:27
Pages - BasePage.swift
import XCTest
open class BasePage {
public let app: XCUIApplication
public required init(testCase: BaseTest) {
self.app = testCase.globalSampleApp
}
}
@mpahuja
mpahuja / Pages - TableView.swift
Created September 24, 2019 06:29
Pages - TableView.swift
import XCTest
public final class TableViewPage: BasePage {
// Mark: - Page UI elements
private var entireTable: XCUIElement {
return app.tables.allElementsBoundByAccessibilityElement[0]
}
private var countTableRow: XCUIElementQuery {
return app.tables.cells
@mpahuja
mpahuja / Pages - MapView.swift
Created September 24, 2019 06:30
Pages - MapView.swift
import XCTest
public final class MapViewPage: BasePage {
// Mark: - Page UI elements
private var thirdView: XCUIElement {
return app.tabBars.buttons["Third"]
}
private var mapComponent: XCUIElement {
return app.maps.element
@mpahuja
mpahuja / Utils - BaseTest.swift
Last active September 24, 2019 16:27
Utils - BaseTest.swift
import XCTest
private var globalSampleApp: XCUIApplication!
open class BaseTest: XCTestCase {
private var pages: [String: BasePage] = [:]
lazy var sampleApp = XCUIApplication()
public let globalSampleApp = XCUIApplication()
@mpahuja
mpahuja / UITests - MapViewTests
Created September 24, 2019 06:31
UITests - MapViewTests
import XCTest
class MapViewTests: BaseTest {
func testMapLocation() {
XCTContext.runActivity(named: "Test Map and pointer are rendered") { _ in
mapViewPage.tapThirdViewTab()
XCTAssertTrue(mapViewPage.isMapDisplayed())
XCTAssertTrue(mapViewPage.isPointerDisplayed())
}
@mpahuja
mpahuja / UITests - TableViewTests.swift
Created September 24, 2019 06:33
UITests - TableViewTests.swift
import XCTest
class TableViewTests: BaseTest {
func testRowAlert() {
XCTContext.runActivity(named: "Test Correct row alert is being shown on random row") { _ in
XCTAssertTrue(tableViewPage.isRandomTableDisplayed())
let countOfRows = tableViewPage.countTableRows()
XCTAssertGreaterThan(countOfRows, 0)
let randomRowElement = Int.random(in: 1 ... countOfRows)
let currentRowValue = tableViewPage.getValueAtDesiredRow(desiredIndex: randomRowElement)
/// Common user-specific information
public struct UserInfo {
/// Keys and values used for login smoke runs
public struct Login {
/// Email address used to test
public static let emailAddress = "abc@abc.com"
}
public struct AnotherOne {
public static let password = "password"
/// Common user-specific information
public struct UserInfo {
/// Keys and values used for login smoke runs
public struct Login {
/// Email address used to test
public static let emailAddress = "abc@abc.com"
}
public struct AnotherOne {
public static let password = "password"
import XCTest
final class UserTests: BaseTestCase, AuthenticationUITestable {
func test_accountRecoveryStart () {
XCTContext.runActivity(named: "Start account recovery") { _ in
self.startAccountRecovery(withEmail: UserInfo.LoginSmoke.emailAddress,
serverEnvironment: UserInfo.LoginSmoke.serverEnvironment)
}
}
}