Flutter plugin for scanning and generating QR codes using the ZXing library, supporting Android, iOS, and desktop platforms
flutterbarcode-generatorbarcode-scannergeneratorqrqrcodeqrcode-generatorqrcode-scannerscannerzxingbarcodezxscanner
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.8 KiB
70 lines
2.8 KiB
2 years ago
|
//
|
||
|
// zxscannerUITests.swift
|
||
|
// zxscannerUITests
|
||
|
//
|
||
|
// Created by Khoren Markosyan on 19.06.22.
|
||
|
//
|
||
|
|
||
|
import XCTest
|
||
|
|
||
|
class zxscannerUITests: XCTestCase {
|
||
|
|
||
|
override func setUpWithError() throws {
|
||
|
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||
|
|
||
|
// In UI tests it is usually best to stop immediately when a failure occurs.
|
||
|
continueAfterFailure = false
|
||
|
|
||
|
// In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
|
||
|
}
|
||
|
|
||
|
override func tearDownWithError() throws {
|
||
|
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||
|
}
|
||
|
|
||
|
func testScreenshots() throws {
|
||
|
// UI tests must launch the application that they test.
|
||
|
let app = XCUIApplication()
|
||
|
setupSnapshot(app)
|
||
|
app.launch()
|
||
|
|
||
|
// Use XCTAssert and related functions to verify your tests produce the correct results.
|
||
|
let element: XCUIElement
|
||
|
if UIDevice.current.userInterfaceIdiom == .phone {
|
||
|
element = app.windows.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element(boundBy: 1).children(matching: .other).element(boundBy: 1).children(matching: .other).element(boundBy: 1)
|
||
|
} else {
|
||
|
element = app.windows.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element(boundBy: 1).children(matching: .other).element(boundBy: 1).children(matching: .other).element(boundBy: 1)
|
||
|
}
|
||
|
|
||
|
sleep(3)
|
||
|
snapshot("01_scanner_screen")
|
||
|
|
||
|
element.children(matching: .other).element(boundBy: 2).tap()
|
||
|
sleep(3)
|
||
|
// snapshot("02_barcodes_screen")
|
||
|
|
||
|
element.children(matching: .button).element.tap()
|
||
|
sleep(3)
|
||
|
snapshot("02_creator_screen")
|
||
|
|
||
|
app.buttons["Back"].tap()
|
||
|
element.children(matching: .other).element(boundBy: 3).tap()
|
||
|
sleep(3)
|
||
|
// snapshot("04_history_screen")
|
||
|
|
||
|
element.children(matching: .other).element(boundBy: 5).tap()
|
||
|
app.staticTexts["QR Code"].tap()
|
||
|
sleep(3)
|
||
|
snapshot("03_help_screen")
|
||
|
}
|
||
|
|
||
|
func testLaunchPerformance() throws {
|
||
|
if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) {
|
||
|
// This measures how long it takes to launch your application.
|
||
|
measure(metrics: [XCTApplicationLaunchMetric()]) {
|
||
|
XCUIApplication().launch()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|