Progressive Web Apps (PWA) works as an app on iOS while the base is Web Site.
Appium allows you to automate, but it needs a few tricks.
- Establish a session with 1)
autoLaunch: falseandbundleId: 'com.apple.mobilesafari', or 2) withoutappandbundleIdbut withincludeSafariInWebviews: true - Launch the home screen with activating
com.apple.springboard - Click the PWA icon on the home screen
- The PWA app cannot start via activation command by Appium since the app is safari browser. The bundle id is mobile safari.
- Change the context to WebView (if needed)
- Run scenario
Note: Appium 2.0 will drop the autoLaunch capabilities. So, to start an appium session without launching any apps, it needs to create a session without app and bundleId capabilities in iOS.
Native safaridriver launches Safari browser by default, so I guess only Appium can automate PWA apps as these steps so far.
Happy testing!