- Generic approach to iOS UI Tests in Swift
- Page object concept
- WWDC 2017 What's New in Testing
- Xcode Automated UI Tests & NSUserDefaults
- The solution I found was to write to the launchArguments property of my XCUIApplication instance in my test class, and then read that parameter in my AppDelegate class.
- XcodeUITestingExperiments
- NetworkStubbingExperiment
- FileSystemManipulation
- SystemLogQuery
- Lightweight IPC with the Darwin notification center
-
- Disabling animations
- Page objects
- Assert helpers
- Network data stubbing with Wire Mock
- Using data from mocks in tests
- Instrumentation Testing Robots
- Libraries like Espresso allow UI tests to have stable interactions with your app, but without discipline these tests can become hard to manage and require frequent updating. In this talk Jake will cover how the so-called robot pattern allows you to create stable, readable, and maintainable tests with the aid of Kotlin’s language features.
Using JavaScript code from native code without using a WebView (sic!) can be really useful to introduce dynamic functionality that was updatable without need of updating the app shorter iteration cycles share code between backend and native iOS and Android apps You can have business logic provided by a JavaScript that then controls the app that inject native functionality in the JavaScript context. You could even write an A/B testing framework based on this approach. iOS iOS offers the native JavaScriptCore: Evaluate JavaScript programs from within an app, and support JavaScript scripting of your app. So you can evaluate a script and read its return value natively: context.evaluateScript(myLib); let result = context.evaluateScript("myFunction();") let myFunction = context.objectForKeyedSubscription("myFunction"); let parametrizedResult = myFunction.invokeMethod(...) Or you can inject a native object into the JavaScript engine: @objc protoco...
Comments
Post a Comment