Is there a driver/browser that support Widevine drm in headless mode? - browser-automation

Recently for a Project. I am looking for a driver/browser that can play widevide DRM content in headless mode.
I have already tried chrome driver but it doesn't support Widevine content.

Related

Mobile Application Emulator options

we are developing HTML5 Mobile application (with angular + kendo controls). we are looking for emulator options to test our application in different devices (mainly tablets - samsung/ipad/ms surface) and its browsers (chrome,safari,ie, and its native browsers). Got to know about saucelabs and browserstack in which we can test our application in different device / os combinations, but it looks like our application has to be hosted in cloud?..(it seems to me they are more of testing tool than a dev tool ). we are looking for emulator - which helps the developer (how the application will be rendered in that device, not just the resolution) to test in multiple os/device environments before moving it to 'test'. Any suggestion?

Web Test framework for Mobile as well as Server browsers

Is there any framework available where I can write single set of test code for both Server browsers as well as Mobile browsers.
eg. test.py runs with Chrome on Android as well as Windows
I am planning to use browserstack for my testing until I figure out the infrastructure handling is possible with browserstack or not.
Please help me figure out a way for deciding over the infrastructure as well.
You can try TestCafe. It's an open source project.
TestCafe allows to run tests on desktop and mobile browsers without any additional installations and plugins.
Here you can see how easy to run tests on a mobile phone with TestCafe: https://twitter.com/DXTestCafe/status/804368394569052160.
Also it's easy to setup testing on mobile browsers in a cloud service (like BrowserStack or Saucelabs). For example you can find the "testcafe-browser-provider-saucelabs" plugin on GitHub to run tests on Saucelabs out-of-the box.
Selenium + Appium should be able to cover what you need to be done. To share code however, you'll need use a mobile browser (Chrome or Safari) or have an app that uses webviews that are the same as the browser version.
The Selenium bindings will handle driving the automation for the browsers. By itself, you could test the desktop browser with a normal size screen, as well as a mobile size, and test various browsers as well (Chrome, Firefox, etc).
Appium will allow you to open the browser (or app) on the mobile device or simulator, and if the web view is the same as the browser, the same locator strategies you used with the desktop browsers and Selenium will work with Appium as well (Appium extends the Selenium spec with browser capabilities).
If you code the framework using the Selenium Grid, you can then almost drop replace a remote managed grid setup (via Saucelabs or Browserstack) to run the browsers for you (otherwise you'd need to setup a local grid or run the tests with a local Selenium server set up)
All this is quite possible
framework available where I can write single set of test code for both Server browsers as well as Mobile browsers
We have build it in our company, since we have a vast diversity of different platforms and browsers to support.
We use combination of Selenium based frameworks on NodeJS
webdriverIO
cucumberJS
appium
... etc.
The main concept we try to follow is JAVA's WORA. To achieve all this you need a good understanding of DSLs, Application driver layer and design patterns (e.g. Strategy).
It is not that hard to put all this together, since Selenium supports pretty much every binding you need. Just pick the language you are most comfortable with and use it.

Blackberry Z10 Mobile Menu links not working

I can't figure out what is causing this issue on the BlackBerry Z10 where the mobile menu that I created for disinherited.com won't properly function as links.
The menu items won't click through to their href's or show their dropdown menus(javascript).
It works well on a number of other browsers and devices. This is just one that won't work.
Anybody have any suggestions as to what browser compatibility issues I might be missing?
The "About Us" link doesn't do anything for me (even on Desktop browsers).
I would guess that there might be some CSS (a layer maybe) that is interfering with the click/action event. I would suggest connecting remote web inspector to see what exactly is going on.
Did you know that BlackBerry 10 has some of the best remote web debugging capabilities?
Plug your device in via USB
Enable Settings -> Developer Mode
Open http://disinherited.com in the BlackBerry browser
from your desktop browser, open http://169.254.0.1:1337
You are connected to the live content, running on the BlackBerry, from your desktop browser. From there, you can inspect, debug, profile what your website is doing.

Will be working Sencha Touch 2.1.1 without HTML5 mobile browser support?

Mobile device browser have not support html5. Will be working basic features of sencha touch 2.1.1 app on that device?
Sencha touch has support for Android, iOS, 2 BlackBerry devices (and soon WP8) Older devices / browsers are not supported and won't work propperly.
Here you will find a list supported of devices.
If your device runs a webkit based browser you have a chance most of the features will work. Else I would upgrade your device or seek for another solution

Start mobile browsers with webkit remote debugging ON

At Google I/O 2011: Chrome Dev Tools Reloaded, Paul Irish and Pavel Feldman introduced new remote debugging feature — which was in passing included into webkit.
--
This is great news, particularly for mobile web-developers.
But how do we enable it, for example launching IOS simulator, or just running Safari Mobile on an iPhone? (for chrome this is traditionally done with --remote-debugging-port=9222 option while launching it).
I tried enabling developer mode in safari settings (Settings > Safari > Developer > Debug Console: ON) but without success...
I don't know about android here, but does anyone know when Apple (Safari Mobile) or Google (android's browser) will include this new feature so we can enjoy remote-debugging in mobile development?
Thank you.
Ref: http://paulirish.com/2011/a-re-introduction-to-the-chrome-developer-tools/#comment-63113
Safari on iOS 6
In iOS6 you can now remote debug from Safari 6 (only OS X). On the device, open Settings > Safari > Advanced > Enable Web Inspector. Open Safari Preferences, Advanced, check "Show Develop menu in menu bar". Connect your iPhone/iPad with a USB cable. Now under the Develop menu bar you should get a submenu for you device with the tabs you have open in Safari on your device.
Safari on iOS 7
In addition to requirements above you will need Safari 6.1, which at the moment (Oct. 8th 2013) is only available as a seed for developers: https://developer.apple.com/downloads/index.action?name=Safari%206.1
Chrome on Android 4
It's a bit more complicated on Android. Instructions for remote debugging on Chrome for Android here: https://developers.google.com/chrome/mobile/docs/debugging
I haven't found a way to enable remote debugging in the Android default browser (v4.04).
Take a look at this bash script to start the remote inspector with iOS simulator: https://gist.github.com/2241976
It's now supported in Chrome for Android.
Currently no mobile browser is implementing the webkit remote debugging protocol. (Maybe you can get custom builds for android that support it)
However there is weinre, which is giving you a remote version of the web-inspector. But you have to include some code in your page in order to support it. (Because it's not a browser feature).
Weinre website
Weinre github repo
Just because a feature is implemented in one port of WebKit (in this case, Apple and Chromium), does not mean it is always available elsewhere. I wrote this in details in my blog post about different WebKit ports implementation.
So far, the only mobile WebKit port which has the remote debugging feature is RIM Playbook browser.
For iOS, it is very difficult to know because Apple does not give any information about its future product ever. At least we know that iOS 5 will not have it since the beta versions do not show anything related.
For Android, definitely it is coming in a future release, since Android folks are adopting Chromium as the new basis for its WebKit.
Nathan de Vries figured out how to do this on iOS5 running in the simulator. It revolves around calling the private _enableRemoteInspector method.
Read it. Summary follows:
To enable this for Mobile Safari, attach to it with gdb and call the method:
MobileSafari_PID=$(ps x | grep "MobileSafari" | grep -v grep | awk '{ print $1 }')
if [ "$MobileSafari_PID" == "" ]; then
echo "Mobile Safari.app must be running in the Simulator to enable the remote inspector."
else
cat <<EOM | gdb -quiet > /dev/null
attach $MobileSafari_PID
p (void *)[WebView _enableRemoteInspector]
detach
EOM
fi
Then access the inspector at http://localhost:9999/.
With an embedded UIWebView, enable it like this:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// ...Snipped...
[NSClassFromString(#"WebView") _enableRemoteInspector];
// ...Snipped...
}
On a real device it doesn't work, probably because the port is firewalled - if you have a jailbroken device you may get around that (update us if you do).
Thomas points out an excellent resource for remote debugging, however he states that you need to add the code to the webpage. This is not strictly true, as weinre also allows interaction through bookmarklets. Part way down the page here (under the section conveniently called "Using a bookmarklet"), it says it should work for Android 2.2+ and iOS.
Some relevant things to note:
It will not allow you to debug start errors (page already has to be loaded to open the bookmarklet).
It doesn't seem to reconnect if you lose connection (you have to refresh the page to get the connection again).
If your js is broken already, it will already be broken as well.
It is also possible (I have done it myself) to 'debug' code from the android browser using a webview. You can have the webview catch all method calls (ie. console.log). Using that you can catch and save, or forward the messages to logcat.
Related to the method you have already tried - when you enabled the Debug console on iOS, where were you looking for interaction/logging output? More particularly, did you check in the debugging console in xCode/iPhone simulator?
Adobe's Shadow utility (which was just released) allows you to debug remotely using weinre without needing to inject any code into your web pages. It works with Chrome on Windows and Mac as the "master" browser and will sync every page navigation over to any number of devices running the iOS or Android client.
Note that weinre itself is somewhat limited. For example you won't have access to the Network tab.

Resources