Problem running watir-webdriver on Windows 7 with IE9 - watir-webdriver

I'm trying to use watir-webdriver with IE9 on 64bit Windows 7.
When I try to open a new browser I am getting the following error message, any ideas on a solution?
C:\watir>irb
irb(main):001:0> require "rubygems"
=> true
irb(main):002:0> require "watir-webdriver"
=> true
irb(main):003:0> browser = Watir::Browser.new(:ie)
Selenium::WebDriver::Error::NoSuchDriverError: Unexpected error launching Internet Explorer. Protected Mode must be set to the same value (enabled or disabled) for all zones.
I can use watir-webdriver on the same machine okay with Firefox 4, so I'm guess either its and IE9 issue?

Did you try disabling protected mode as the error message tells you ?
Tools >> Options >> Security >> Untick 'Enable Protected Mode'
This thread on selenium-developers group is relevant to the restrictions with protected mode:
http://groups.google.com/group/selenium-developers/browse_thread/thread/4dd6330f97bd2312/3e904642ac3dac6?q
Also relevant a link to the Watir FAQ.
Try one of these:
Add your defaut homepage (or 'About:Blank' if you start with a
blank page) to the same security group
(e.g. 'intranet' or ''trusted sites')
as the site you are testing; or
Turn off Internet Explorer Protected Mode; or
Change your ruby permissions to "run as administrator"; or
Disable User Access Control

I had same issue, but I have fixed it within the Automation script by setting IE Capabilities. We can change protected mode settings within the script, before launching the browser. You can try the below code:
caps = Selenium::WebDriver::Remote::Capabilities.ie(:ignoreProtectedModeSettings => true)
driver = Watir::Browser.new :ie, :desired_capabilities => caps

Related

IBM Content Navigator ICN Plugin returns an error when configured but works fine

I am using ICN 3.0.3 IF7. I have a custom plugin that writes the following error to the console when I initially configure it into ICN.
The plugin itself works fine once configured.
Uncaught TypeError: cls is not a constructor
at Object.eval (ecm/widget/layout/AdminPane.js:9845)
at dojo.js.jgz:22442
at runFactory (dojo.js.jgz:611)
at execModule (dojo.js.jgz:691)
at dojo.js.jgz:397
at guardCheckComplete (dojo.js.jgz:699)
at contextRequire (dojo.js.jgz:396)
at req (dojo.js.jgz:32)
at Object._displayPluginConfig (ecm/widget/layout/AdminPane.js:9844)
at Object._pluginRequestCompleted (ecm/widget/layout/AdminPane.js:9759)
In addition, once it is configured, I cannot get the details on it like I can for the included AFP Viewer plugin:
Name: AFP Viewer
Version: 2.0.3.5
Repository types: None
Actions: None
Open Actions: None
Viewers: AFP Viewer
Features: None
Layouts: None
It seems like something is wrong with the plugin structure that doesn't affect its ability to run. I am worried because I just don't like seeing errors. Has anyone seen this before?
Looking at the error it seems like the module you specified in the plugin.java#getConfigurationDijitClass is either failing to instantiate, or isn't specified at all.
If you have a configuration dijit class configured, then ensure it's actually a widget and that it's constructor and postCreate method (if provided) don't throw an error :).
If you don't have one configured, set it to null to prevent instantiation

Parameters were incorrect when running Selenium?

I'm testing my app on mac with real ios device. When i run the scripts it says following error in Eclipse IDE,
org.openqa.selenium.SessionNotCreatedException: Unable to create new
remote session. desired capabilities = Capabilities
[{app=/Users//Downloads/XXX.ipa,
platformVersion=10.2.1, platformName=iOS, deviceName=Mr.x'S iPod touch,
UDID=*****}], required capabilities =
Capabilities [{}]
Then i checked the logs in appium it shows,
[debug] [MJSONWP] Bad parameters: BadParametersError: Parameters were
incorrect. We wanted {"required":["desiredCapabilities"],"optional":
["requiredCapabilities","sessionId","id"]} and you sent [
"desiredCapabilities" , "requiredCapabilities", "capabilities",
"alwaysMatch","firstMatch"]
What should i do to fix this, Can anyone help me to resolve this.
Yes, you need xcode to access iOS native app.
Desired capabilities to be used:
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platformName", "iOS");
capabilities.setCapability("platformVersion", "9.3");
capabilities.setCapability("deviceOrientation", "portrait");
capabilities.setCapability("browserName", "Safari");
capabilities.setCapability("autoWebview", "true");
capabilities.setCapability("automationName", "XCUITest");
capabilities.setCapability("deviceName", "iphone");
capabilities.setCapability("autoAcceptAlerts",true);
capabilities.setCapability("udid", UDID);
capabilities.setCapability("xcodeConfigFile", "/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/Config.xcconfig");
capabilities.setCapability("realDeviceLogger","/usr/local/lib/node_modules/deviceconsole");

Debugging a crashing language server

I apologize if I'm a bit low on details here, but the main issue is actually trying to find the problem with my code. I'm updating an older extension of my own that was based on the Language Server example (https://code.visualstudio.com/docs/extensions/example-language-server). I've run into an issue where when I run the client part of my code using F5, and the debug window fires, I get:
The CSSLint Language Client server crashed 5 times in the last 3 minutes. The server will not be restarted.
Ok... so... here's the thing. The problems view in my extension client code shows nothing. DevTools for that Code window shows nothing.
The problems view for my server code shows nothing. DevTools, ditto.
For the Extension Developer Host instance, DevTools does show this:
messageService.ts:126 The CSSLint Language Client server crashed 5 times in the last 3 minutes. The server will not be restarted.e.doShow # messageService.ts:126
But I can't dig into the details to find a bug. So the question is - assuming that my server code is failing, where exactly would the errors be available?
Here is what I usually do to track server crashes down (I assume your server is written in JavaScript / TypeScript).
Use the following server options:
let serverModule = "path to your server"
let debugOptions = { execArgv: ["--nolazy", "--debug=6009"] };
let serverOptions = {
run: { module: serverModule, transport: TransportKind.ipc },
debug: { module: serverModule, transport: TransportKind.ipc, options: debugOptions}
};
Key here is to use the TransportKind.ipc. Errors that happen in the server and printed to stdio will then show in the output channel associated to your server (the name of the output channel is the name passed to the LanguageClient)
If you want to debug the server startup / initialize sequence you can change the debugOptions to:
let debugOptions = { execArgv: ["--nolazy", "--debug-brk=6009"] };
If the extension is started in debug mode (e.g. for example launched from VS Code using F5) then the LanguageClient automatically starts the server in debug mode. If the extension is started normally (for example as a real extension in VS Code) then the server is started normally as well.
To make this all work you need a latest version of the LSP node npm module both for server can client (e.g. 2.6.x)

Episerver TinyMCE plugin not working after EPI Server 8 upgradation

I have implemented a custom tinymce plugin and before epi server up-gradation and it work fine. (In episever 7.5)
After the upgrade in edit mood when i load the editor it says:
"Failed to load: /util/Editor/tinymce/plugins/accordion/editor_plugin.js?moduleArea=Util".
In this other inbuilt plugins are working fine. Only manual implemented plugin arise this 404 error.
Also it failed to load its icon.
So i have added virtual path in web config and worked fine. But i need to fix this issue without adding virtual path. Any help for this ?
referred articles - http://world.episerver.com/documentation/Items/Tech-Notes/EPiServer-CMS-6/EPiServer-CMS-60/TinyMCE-Developers-Guide/
If you by
But i need to fix this issue without adding virtual path.
mean that you do not have a js file that needs to be loaded you can add ServerSideOnly = true
[TinyMCEPluginNonVisual(
PlugInName = "ExtendedValidElements",
AlwaysEnabled = true,
EditorInitConfigurationOptions = "{ extended_valid_elements: 'style' }",
ServerSideOnly = true)]
public class ExtendedValidElements { }
That way no request for
/util/Editor/tinymce/plugins/[PlugInName]/editor_plugin.js
will be made.
Ref: http://cjsharp.com/blog/2013/04/15/how-to-add-valid-elements-like-iframes-to-tinymce-in-episerver-7/#disqus_thread

Should I worry about DDMS console log messages "Can't bind to local nnnn for debugger"?

I'm new to Android programming (and Eclipse IDE and Android emulator). I've got Hello World and some of Notepad working, but I'm still constantly getting quite a few DDMS console log messages (shown below) about not being able to bind locals for debugger.
[2010-05-29 21:03:16 - ddms] Can't bind to local 8601 for debugger
[2010-05-29 21:05:26 - Device] Failed to delete temporary package: device (emulator-5556) request rejected: device not found
[2010-05-29 21:06:47 - ddms] Can't bind to local 8600 for debugger
[2010-05-29 21:07:05 - ddms] Can't bind to local 8601 for debugger
[2010-05-29 21:07:05 - ddms] Can't bind to local 8602 for debugger
And so on. Is this a problem? Can I get rid of these messages somehow?
In Eclipse, goto
1) Windows->Preference
2) Expand Android menu in the side of the Preference Window.
3) Now select DDMS from it.
4) Then Set the Base local debugger port to "8601" and enable "Use ADBHOST" checkbox and the ABDHOST value should be "127.0.0.1".
5) Click apply and ok.
6) Now you have to restart your ADB, for this you have to login as root user(Assuming linux user) and navigate to Platfrom tools folder of your Android SDK. Then execute,
./adb kill-server
./adb start-server
You will be able to see the message "Daemon started Successfully" . If not repeat step 6 once again until you see the success message.
You can get rid of the the messages by adding following to your hosts file:
127.0.0.1 localhost
ps. hosts file can be found from c:\windows\system32\drivers\etc\hosts
or if you are on linux /etc/hosts
In my situation the problem has been solved by a uninstalling all Java 7. The debugger is now working again!