Ranorex + chrome 33=popup: disable developer mode extensions

Bug reports.
mgrybyk
Posts: 8
Joined: Fri Feb 22, 2013 12:19 pm

Ranorex + chrome 33=popup: disable developer mode extensions

Post by mgrybyk » Thu Feb 20, 2014 8:10 pm

Hello,

I have ranorex 4.1.5 and chrome 33

Each time browser starts - popup rises (see screen shot)

Can Ranorex team somehow resolve this issue?

P.S.
It looks like google has implemented this cool feature... (in order to resolve some security issues)
You do not have the required permissions to view the files attached to this post.

krstcs
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by krstcs » Thu Feb 20, 2014 8:18 pm

Just go into the extensions page in Chrome and turn on the "Developer Mode" checkbox.

This is a Chrome issue, not a Ranorex issue. And, since you are developing tests with Ranorex, the addon should be run in Developer Mode anyway.
Shortcuts usually aren't...

mgrybyk
Posts: 8
Joined: Fri Feb 22, 2013 12:19 pm

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by mgrybyk » Thu Feb 20, 2014 8:24 pm

Enabling developer mode doesn't resolve the issue.

Seems that if extension is not present in the chrome web store it is marked as not secure.

krstcs
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by krstcs » Fri Feb 21, 2014 3:10 pm

After further testing and research, mgrybyk is correct, "Developer Mode" doesn't do anything. And the popup blocks actions to any objects underneath it.

Is Ranorex going to put the Chrome extension in the Chrome Web Store? Even if it is hidden that should allow it to continue working.
Shortcuts usually aren't...

sYbb
Posts: 1
Joined: Fri Feb 21, 2014 6:24 pm

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by sYbb » Fri Feb 21, 2014 6:35 pm

Hi all,

you could enable that Chrome remains running in background (which is the default setting in Chrome anyway). That setting can be found in Chrome settings by typing "background" in the search box there. Then ensure that "Continue running background apps when Google Chrome is closed" is checked. With that setting enabled the dialog will appear only once and not at each chrome startup (unless you reboot your machine).

Alternatively add a language-independent button click to the module where you do start your chrome (execute your "Open Browser" action), something like:

Code: Select all

/form[@processname='chrome']/container/container[2]/element/button[2]
I recommend to activate "continue on fail" for that mouse click action since other tabs might be opened and the dialog is not necessarily (always) there.

Regards,
sYbb

mgrybyk
Posts: 8
Joined: Fri Feb 22, 2013 12:19 pm

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by mgrybyk » Sun Feb 23, 2014 1:53 am

This is not a reasonable workaround.
1. I have to work with "Continue running background apps when Google Chrome is closed" disabled. What should I do in such case?
2. Anyway I have to revert env each time I run test and have to have "clean" session for each test.
3. Why should I spent time and resources in order to design some ridiculous workarounds for this? Next time chrome developers will simply disable such extensions without any notifications. I'd be completely blocked in such case!!

Please provide some solution,
Thanks.

MikeV
Posts: 37
Joined: Wed Apr 04, 2012 6:01 pm

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by MikeV » Tue Feb 25, 2014 7:06 pm

I'm having the same problem. I searched Google for this:

How do you disable the “Disable developer mode extensions” popup warning?

and found some suggestions. It is a new "feature" in Chrome 33, but looks like you can get rid of it if you upgrade Chrome to a later dev version.

krstcs
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by krstcs » Tue Feb 25, 2014 7:40 pm

The issue is that to ACCURATELY test what our customers are using, we have to test with Chrome's public release, not DEV, not BETA.

Ranorex needs to put the extension in the web store in order to really and truly get past this issue. Until that happens, these workarounds are just that.

The unfortunate thing here is that we still don't have an answer in this thread from the Ranorex folks about how they are going to address the issue. Without at least something saying "We're heading this way..." all of us are stuck.


So, for the Ranorex guys --- What is your proposed solution, and when can we expect it?


My company may feel that we need to go a different direction with automation if we can't get the answers to these questions quickly.
Shortcuts usually aren't...

User avatar
Support Team
Site Admin
Site Admin
Posts: 12145
Joined: Fri Jul 07, 2006 4:30 pm
Location: Houston, Texas, USA
Contact:

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by Support Team » Wed Feb 26, 2014 1:22 pm

Thank you for all your posts so far!

As already mentioned in this thread, since Chrome 33 the “dev mode extension” dialog is always shown at Chrome startup and cannot be disabled (on purpose from Google). When starting with development of our Ranorex Chrome Extension, we did check the official way putting it in the web store. Unfortunately this is not as easy as it might seem.
The Ranorex Chrome Extension contains some binary content which does not comply with the Chrome web store guidelines. As a result each possible upload of the Extension will be rejected by Google. Therefore the decision was to use the Extension in “developer mode” which has been fine so far, but since Chrome 33 no longer seems to be a suitable solution.
krstcs wrote:Without at least something saying "We're heading this way..." all of us are stuck.
Be assured that we are trying to find a solution that best suits our customers - that would be a situation like with Chrome 32 and before where you would not get that annoying dialog at all.

Meanwhile, we are very sorry not being able to provide you with any more than the workarounds already mentioned in this thread. A clear step-by-step instruction how to modify your “Open Browser” action and making it stable against this dialog will follow.

Thank you for your understanding.

Kind regards,
Alex
Ranorex Team

mgrybyk
Posts: 8
Joined: Fri Feb 22, 2013 12:19 pm

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by mgrybyk » Thu Feb 27, 2014 9:28 am

Dear Ranorex team,
currently there is no solution but you are working on it, right?

User avatar
Support Team
Site Admin
Site Admin
Posts: 12145
Joined: Fri Jul 07, 2006 4:30 pm
Location: Houston, Texas, USA
Contact:

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by Support Team » Thu Feb 27, 2014 2:34 pm

mgrybyk wrote:currently there is no solution but you are working on it, right?
In short: Yes.

Currently, we can only provide workarounds :(

Regards,
Alex
Ranorex

User avatar
Support Team
Site Admin
Site Admin
Posts: 12145
Joined: Fri Jul 07, 2006 4:30 pm
Location: Houston, Texas, USA
Contact:

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by Support Team » Thu Feb 27, 2014 5:42 pm

Hi all,

As Alex wrote, at the moment we can only provide you with some workarounds. I would like to list those workarounds within this post.

The first workaround is to enable the setting “Continue running background apps when Google Chrome is closed” in the settings page of Google Chrome:
ContinueRunningInBackgroundSetting.png
This setting will keep the Google Chrome browser opened in the background (until you logout), and you only have to cancel the message box once.

Since workaround one might not be an option for you, the second workaround is to add a User Code action to the recording containing your "Open Browser" action. The action closes the dialog each time Chrome is started:
[editet]
public void CloseDeveloperModeExtensionsMessage()
{
  try {
		Duration timeout = 10000; //10s
        //edited
		Button closeButton = Host.Local.FindSingle<Button>("/form[@processname='chrome']/container/container[2]/element/button[2]", timeout);
		closeButton.Click();
	} catch (ElementNotFoundException enfe) {
		// do nothing since dialog might not be there, or this method might be called for other browsers
	}
}
When using this module within a cross-browser test, you can enhance above code with an if-condition to only check for the dialog if Chrome is used, but not for the other browsers (which saves time):
[editet]
public void CloseDeveloperModeExtensionsMessage()
{
  if (varBrowserName == "Chrome") {
	try {
		Duration timeout = 10000; //10s
        //edited
		Button closeButton = Host.Local.FindSingle<Button>("/form[@processname='chrome']/container/container[2]/element/button[2]", timeout);
		closeButton.Click();
	} catch (ElementNotFoundException enfe) {
		// do nothing since dialog might not be there, or this method might be called for other browsers
	}
}
}
The recording where your "open browser" action is located could then look like this:
CloseDevMessageInChromeRecording.png
Note that the above user code method has to be added to each recording which starts Google Chrome via the "Open Browser" action.

Hope this helps,
Regards,
Bernhard
You do not have the required permissions to view the files attached to this post.

krstcs
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by krstcs » Fri Feb 28, 2014 3:39 pm

Thank you Bernhard.

Unfortunately, the first workaround does not help as it assumes that the systems are not being restarted (our VMs get restarted regularly).

The second only works some of the time for us. When running on local systems, it works, but on the VMs it doesn't find the button consistently (timeout is set at 30s and there is a wait between browser start and attempting to find the dialog).

So, we still cannot test with Chrome 33.


As an alternative, would it be possible to make the Chrome extension work in Opera as well? It runs the same rendering engine (Chromium) but doesn't have the limitations. This would at least allow those of us willing to use a different browser the ability to test with Chromium on a stable consumer browser.
Shortcuts usually aren't...

mgrybyk
Posts: 8
Joined: Fri Feb 22, 2013 12:19 pm

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by mgrybyk » Sun Mar 02, 2014 5:19 pm

krstcs wrote: The second only works some of the time for us. When running on local systems, it works, but on the VMs it doesn't find the button consistently (timeout is set at 30s and there is a wait between browser start and attempting to find the dialog).
This workaround works more or less ok for us with ESX images.
krstcs wrote: As an alternative, would it be possible to make the Chrome extension work in Opera as well? It runs the same rendering engine (Chromium) but doesn't have the limitations. This would at least allow those of us willing to use a different browser the ability to test with Chromium on a stable consumer browser.
Chrome uses customized version of Chromium. Some defects can be found with chrome but not with chromium.
But if you don't care - you may simply download chromium or srware iron browser and use ranorex plugin there. It works fine (we don't support Opera, so I don't know anything about it)

Anyway, thanks for help Ranorex Team. We'll wait for some better solutions also.

User avatar
Support Team
Site Admin
Site Admin
Posts: 12145
Joined: Fri Jul 07, 2006 4:30 pm
Location: Houston, Texas, USA
Contact:

Re: Ranorex + chrome 33=popup: disable developer mode extensions

Post by Support Team » Mon Mar 03, 2014 1:19 pm

Hi all,

Thank you for your feedback.
The second only works some of the time for us. When running on local systems, it works, but on the VMs it doesn't find the button consistently (timeout is set at 30s and there is a wait between browser start and attempting to find the dialog).
In some cases it could be that the title property of the dialog is not empty. I think in your case the graphics acceleration is disabled on the virtual machine and that's the reason why the path didn't work.
I have changed the path and replaced the "CloseApplication" action by a "Click" action. In my tests it worked also in the Virtual machine.
Please find the code snippet below:
public void CloseDeveloperModeExtensionsMessage()
{
	if(varBrowserName.Equals("Chrome"))
	{
		try
		{
			Duration timeout = 10000; //10s
			Button cancelButton = Host.Local.FindSingle<Button>(@"/form[@processname='chrome']/container/container[2]/element/button[2]", timeout);
			cancelButton.Click();
		}
		catch (ElementNotFoundException enfe) {
			// do nothing since dialog might not be there, or this method might be called for other browsers
		}
	}
}
I also corrected the extensive post above.

Please let me know if this doesn't work for you.
Thank you!

Regards,
Bernhard