Full Screen for youtube iframe not working when hosted on react-virtuoso on Android Webview - react-virtuoso

We have a site with youtube iframe video list (https://developers.google.com/youtube/iframe_api_reference). Only with this list component, switching to "full screen mode" not working good. It's entering to the full screen mode but exists from the mode immediately.
In order to Isolate the situation I did the following tests:
Chrome + react-virtuoso on android Works.
2. Android Webview + react-virtuoso - Doesn't work.
Android Webview + Other list component - Works.
I assume it's related to the error: "Error: Zero-sized element, this should not happen"
Any ideas? How can I disable the above warning?

Related

Flutter web, recording session with smartlook or hotjar showing blanck screen

I've created a web langing page using flutter, the page is shown on browser as expected.
Inside the html code, i've added the scripts to integrate screen recording with hotjar and smartlook.
In the smrtlook and the hotjar consoles, i can see the recording of the sessions but, these are complete blank.
All the records are white screens, whith only the tap/click/swipe gestures.
I've added inside the tag in the app html this line
as described (by smartlook) here without solving my problem.
Do i placed this tag in the wrong position?
Does the app needs to be built with renderer canvaskit rather than html?
Is there something else i'm not considering?
Thanks,

File uploading in fultter webview

I am using fluter webview for android and iOS apps. In the app, the page contains an HTML form where one of the fields is file uploading via dropzone.
If I open the page in the browser and press the Choose File button, file chooser pops up and everything is working fine, but when I press the Choose File button in the webview nothing happens.
I am following this github issue initiated by flutter developers - https://github.com/flutter/flutter/issues/27924
Any ideas how to make this work?

How to open url in Safari and the get back to the app under UITests in Xcode 7?

This is my custom view where "LondonStreet" is a button.
When I tap that button I get url and open it in Safari (it works). Then I can go back, using "Back to Wishlist" button (it also works).
The problem is when I try to test this under UITests.
itemsTable.cells.elementBoundByIndex(0).buttons["addressButton"].tap() //press the button to open link in Safari
Along with this line:
app.statusBars.buttons["Back to Wishlist"].tap() //go back, doesn't work, although it was recorded by Xcode itself.
is an error:
UI Testing Failure - Failed to get screenshot within 5s.
And also in issue Navigator
UI Testing failure - Unable to update application state promptly.
Starting in iOS 11 you can interact with other applications using the XCUIApplication(bundleIdentifier:) initializer.
To get back to your app you'd do something like:
let myApp = XCUIApplication(bundleIdentifier: "my.app.bundle.id")
let safari = XCUIApplication(bundleIdentifier: "com.apple.mobilesafari")
// Perform action in your app that opens Safari
safari.wait(for: .runningForeground, timeout: 30)
myApp.activate() // <--- Go back to your app
UI Testing cannot interact with anything outside of your application. In your scenario, the framework can no longer do anything once your app opens Safari.
To verify this, try printing out the app's hierarchy once Safari opens. You will notice that nothing in Safari nor the navigation bar will show up - you will only see your app's information.
print(XCUIApplication().debugDescription)
To open specific url in Safari on iOS 15:
safari.textFields["Address"].tap()
safari.textFields["Address"].typeText("www.urlToOpen.com")
safari.keyboards.buttons["Go"].tap()

Webview elements inspection for testing

We have a web view in our app which is being detected as a single webpage element (android.webkit.WebView). not showing the layout hierarchy to inspect individual UI components. I have tried to inspect the elements using 'UI Automator Viewer' and 'Appium Inspector' and same results. Is there any other tool which can be used for inspecting web views? Please advise!
UIAutomatorViewer is able to see native elements only. Everything underneath WebView is web elements. You need to switch from native to web context.
Link
This functionality was broken in Android Lollipop but appears to have recently been fixed with Android System Webview v44, try upgrading webview and inspecting then

How to require fullscreen mode in a jQTouch application?

I'm using jQTouch to develop a version of a website optimized for safari on the iphone. The jQTouch demo helpfully shows how to show an "install this" message for users not using full screen mode and hide it for those who are. When in fullscreen mode, the body should have the class "fullscreen." So you can hide the "install this" message for people who have already added your app to their home page by adding this css rule to your stylesheet:
body.fullscreen #home .info {
display: none;
}
What I'd like to do is require users to use the app in fullscreen mode only. When viewed from the regular browser, they should only see a message asking them to install the app. That message should of course be hidden otherwise.
This ought to be really, really easy, so I must just be missing something obvious.
I thought one way to do this would be to simply test for the class "fullscreen" on the body: if it's not there, use goTo to get to another div, or hide the other divs, or something like that.
Strangely, however, this doesn't work. As a test, I've still got the original "info" message, as in the jQTouch demo, and it doesn't show up when I launch in fullscreen mode. So the body must have the fullscreen class. And yet I can't find any other trace of it: when I put this alert to test things after the document has loaded, I get nothing when launching in fullscreen mode:
alert($("body").attr("class"));
I also thought I might test for fullscreen mode by checking for the value of the fullScreen boolean. But this doesn't seem to work either. What am I missing? What is the best way to do this?
Well, I couldn't figure out why the standard way wasn't working, but someone on the jQTouch Google Group suggested this, which works:
if (window.navigator.standalone) {
alert ('Thanks for launching this app your home screen')
} else {
alert('Add this app to your home screen for the best experience')
}