How can I verify that correct page is open in safari after clicking on iOS Native app link - automation

I am using Appium with Webdriveio and testing Native app where I have a scenario to click on a button within the Native app that opens a link in the Safari browser.
As I am testing a native app I do not have the privilege to get in deep link from the dev tool so need to fetch the URL from safari browser to verify that the correct link is open
Is there any way to fetch Safari URL via Appium/Webdriveio within Native automation?

Related

Can we use Appium and Selenium together for testing and comparing app data with web data?

We are testing on moblie app using Appium, Which feature is to upload a video on Server. After uploading video it will be visible on Dashboard of Website. The dashboard feature is not present in mobile app. So here We need to check that Video related details using Selenium as it is on Website. Any Suggestion? How can we do this without performing separate tests.
This is integration testing so are in effect two different tests/steps.
You could do it in one project though so you could do something like:
open your mobile app using Appium
upload the video
open a browser using webdriver
navigate to the relevant page and check the video uploaded
close the browser
continue testing or close the mobile app

Downloading files from expo react native webView

I need to download pdf from the site I opened with webView. When I try this the application closes. Is there any way to do this? Do I need to add permission.
I am using expo. What I do is connect to a site with the webView. When you press the download button on the site it downloads base64 as pdf. I can do this on the Internet. I did it in Chrome. However, I could not do it in the mobile application. How can I do that. When I click the button, the application closes. I’m getting this warning on the console Can’t open url: data:application/pdf;base64,JVBERi0xLjQKJeLjz9MKNCAwIG9iag… I can view but not download

Why dynamic links in React Native are opening the browser first?

I'm trying to communicate two React Native apps using Firebase Dynamic Links, only in Android.
When I execute openLink with the URL of the other, I see the browser for a second, and then it opens the other app well.
I don't want to see an intermediate browser before open the other app.
I'm having that issue from app A to B, and viceversa.
So, why is the browser opening first? And how can I configure the apps in order to not open the browser?
it's default behavior of android devices.
usually if any link supported by app and its set default to open link then it will open directly otherwise android system opens browser and based on Link URI scheme navigate to app.
there is one solution,
You can create module (intent activity) which will launch that app directly.
Steps to follow
pass data from js to native module and from that use Intent class, set data and start it.
this was for Android use case.

Native way to inform user there is a mobile app?

Often when viewing a website on a mobile device you'll get a notification that a mobile app is available, or if you already have the app downloaded you'll have the option to open the URL in the app.
Is there a native way to do this or are these notifications always custom?
When users click on a link or download a file and the suggestion pops up to open the respective app, that's called deep linking. iOS labels it as Universal Links and Android uses App Links.

Branchio Universal Deeplink redirecting to safari and shows popup to launch the application even app is installed in iOS 13.3.1

Even though the Application is installed in the iPhone, tapping Branchio universal deep-link redirecting to safari and shows a popup to launch the application.
Expected: if the application is already installed, tapping deep link should launch the application.
Pre- requests:
OS: iPhone iOS 13.3.1
Release build in Appcenter
Set custom URL to https://install.appcenter.ms/app (Appcenter)
Generate the Universal deeplink
Steps to reproduce:
Generate the Universal deep-link
Using the deep-link install the application
Again Tap on the same deep-link will redirect to Safari and popup alert with CANCEL and OPEN options
Tap OPEN in safari to launch the application
This is an expected behaviour where Apple prompts the user first time if to open the app. Only if universal links are implemented, it does not ask for the second time. Our AASA validator tool (https://branch.io/resources/aasa-validator/) shows the AASA file to validated correctly but while testing on the install page of your redirected website, it is showing a 404 error. So, we are unable to replicate this on our end to check further.
Could you please share your app store link so as to help us out here.
Also, would request to check our documentation here ( https://help.branch.io/developers-hub/docs/ios-troubleshooting#section-validate-if-aasa-file-successfully-downloaded ) so as to confirm if the device is receiving the generated AASA files. This is a known issue with Apple for iOS 13.x+ where the AASA files do not get ingested into the device and causes the link redirection to show a prompt or a fail.