When the Samsung internet browser feature "Open links in other apps" is disabled then the browser does not return the correct deep link URL it should return links.xxxx.com which contains a success code instead it returns xxxx.com just with no success code. when "Open links in other apps" is turned on then it returns the correct URL.
Note: It does work as expected in Google Chrome.
Related
I'm using outsystems and I am trying to get the app to run in their browser but something about iFrame popped up. How do I disable iFrame so that the app can run in the browser?
"Your app requires native access to a Local Storage database that is not available in your browser while using an iframe.
Please test your app in your mobile device or use Google Chrome"screenshot
Try this:
On Safari Options go to Advanced > Experimental Features and at the end turn off the option that say Disable Web SQL.
When I click on a link within my WebView, it behaves as expected - it opens the link within the WebView.
However, if an app can handle that link, I would like to open that app instead. For example, if I tap on a Twitter link, I would like it to open Twitter, else open in-app.
This is how Google Chrome on Android behaves. This is also how WKWebView, the iOS equivalent of WebView, also behaves.
How would I go about implementing that? I have attempted to implement the solutions here but now my app always wants to open the system browser.
Deep Links as handled by OS itself. You just need to implement it properly. For example, in Android if you want to open the following url
http://twitter.com/intent/tweet?text=YOUR_TEXT
it will open the twitter app if the app is installed in your phone. Otherwise it will be opened in your browser.
But in case of iOS you have to specify the URL Scheme for opening in another app. Check the following url
twitter://post?message=YOUR_MSG
So when implementing this SO answer, you should also consider about the URL Schemes.
You should also keep in mind that webview in the application are implemented so that you don't have to open the browser app and no urls are exposed. If you want to open another app, you must consider opening the url in browser from your app so that OS can handle the rest.
I am using Java and Selenium in order to test a web application that requires Adobe Flash Player to be enabled in order to continue. I am trying to verify that a browser's notification displays (See below image). I am not looking to click/select "allow" or "block", I am only testing to see if the notification displays in the browser. How could I accomplish this? I would be testing a variety of different browsers including chrome, firefox, internet explorer, microsoft edge, and safari.
Browser notification example
I have such environment Appium + iOS Simulator + Java. I have to test such case:
I click on button in App
My app is going to website
I need to check the URL
I searched this problem and realized that webdriver for iOS is not switching between app and browser that is why I can't use commonly used code:
driver.getCurrentUrl();
So, I decided to check If the URL which I've just clicked is correct or not. But I don't know how to get this URL.
May be somebody has experience in that issue?
I decided to clarify: I am into iOS native App pressing on button and after this I'm redirecting to the safari on the some URL. Can I have some possibilities to know this URL without safari (in the moment when I'm still inside App).
Although getCurrentUrl is working for Android when the web browser opens as in a different context than the "Native APP" context, it is not implemented for iOS XCUITest when Safari opens as "Native APP" context.
In the case of iOS(Safari) you can use the following:
wait until safari app opens(wait till next Statement is True):
appiumDriver.queryAppState("com.apple.mobilesafari").toString().equals("RUNNING_IN_FOREGROUND")
Then click on the URL Bar and get the TextValue of it:
MobileElement urlToolBar = appiumDriver.findElement(By.xpath("//XCUIElementTypeOther[#name='URL']"));
urlToolBar.click();
appiumDriverWait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//XCUIElementTypeTextField[#name='URL']")));
MobileElement urlTextFied = appiumDriver.findElement(By.xpath("//XCUIElementTypeTextField[#name='URL']"));
String desiredUrl = urlTextFied.getText();
In case Page Factory is used within the project then replace findElement with #iOSXCUITFindBy
There are very similar questions on the board but I still didn't find satisfying results for my topic.
I have to implement links on our website to redirect to Facebook and Google+ for check-ins to my company.
It should be possible to click on the link on the website and my smartphone (Android) should ask if this link should open for example the Facebook App or the Link to the Site in the Smartphone browser.
Is there a link that the smartphone can parse:
-the app is installed, would you like to open the G+ or Facebook app
-or open the web-browser from the smartphone
The link should also redirect me on the Facebook/G+ site of my company. So after the user chooses the app or web browser he/she should be able to check-in with one click.
I think there are already standards for links like this. I just can't find any satisfying
results for my problem.
I am currently testing with Android but it would be cool if the links would be also working with iOS :-)
This would be a similar question.
I added this html snippet to my page:
href="fb://page/77664937087"
The problem is I have to parse if the user has installed the app or the browser. In this case the app would open. But I need some sort of if-statement. I am no javascript pro so I need some help for this.
And I don't want to implement 2 seperate links for app or browser.
You can use this method of UIApplication to check whether the app is installed:
- (BOOL)canOpenURL:(NSURL *)url NS_AVAILABLE_IOS(3_0);
If can not you can open the url using following code:
NSString *url = #"xxxxxx"; //your link here
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];