Thanks for the answer! That does resolve the issue. I wonder how you found that ruby is calling the object version of the constructor and not the string one. Also, how does IronRuby knows whether to call ie.Goto(string) or ie.Goto(Uri);
Thanks, Azam On Tue, Sep 22, 2009 at 2:42 PM, Jimmy Schementi < jimmy.scheme...@microsoft.com> wrote: > Taking a look at the WatiN::Core::IE overloaded constructors, you can > immediately see the issue: > > > > public IE(bool createInNewProcess); > > public IE(object iwebBrowser2); > > public > IE(string url); > > public IE(Uri uri); > > > > When calling IE.new('http://google.com'), the string is a Ruby string, > which is resolving to the object overload rather than the string overload. A > work-around currently will be to force the string to be a CLR string: > > > > IE.new('http://google.com'.to_clr_string) > > > > However, it's unfortunate that IronRuby's CLR overload resolution is > picking the more conservative choice, rather than seeing if the Ruby string > can be coerced into a more specific overload. JD, have you found this while > testing? Tomas, any specific reason this is the behavior, or would you call > it a bug? I'd vote it as a bug. > > > > This will also work: > > > > ie = IE.new > > ie.go_to 'http://google.com' > > > > Here's the C# example ported to IronRuby: > > > > require 'Interop.SHDocVw' > > require 'WatiN.Core' > include WatiN::Core > > ie = IE.new > > ie.go_to 'http://localhost:1879/Login.aspx' > > ie.text_field('txtUserName').type_text('azamsharp') > > > > I also verified this works from the interactive prompt, so you can use > WatiN to control the browser interactively from IronRuby. > > > > ~Jimmy > > > ------------------------------ > *From:* ironruby-core-boun...@rubyforge.org [ > ironruby-core-boun...@rubyforge.org] on behalf of Jimmy Schementi [ > jimmy.scheme...@microsoft.com] > *Sent:* Tuesday, September 22, 2009 11:39 AM > > *To:* ironruby-core@rubyforge.org > *Subject:* Re: [Ironruby-core] IronRuby with WatiN > > By "C# code" i meant the equivalent C# program that you said worked: > > azamsh...@gmail.com wrote: > > I created a C# application and used WatiN. It worked flawlessly and > without any configuration > > Really I'd like to see your full C# project to see what is missing in the > Ruby script. Otherwise, I'll just go to watin's website myself and try it > out, but I can't guarantee I'll get back to you soon. I know finding bugs is > frustrating, but providing as much information as possible, including a > runnable self-contained repro, will help us reproduce the issue and get back > to you with a fix. Otherwise we're just wasting time. > > For future reference, here's the info asked for when reporting bugs: > http://ironruby.codeplex.com/Wiki/View.aspx?title=Project%20Documentation&referringTitle=Home > > ~js > > ------------------------------ > *From:* ironruby-core-boun...@rubyforge.org [ > ironruby-core-boun...@rubyforge.org] on behalf of Mohammad Azam [ > azamsh...@gmail.com] > *Sent:* Tuesday, September 22, 2009 11:07 AM > *To:* ironruby-core@rubyforge.org > *Subject:* Re: [Ironruby-core] IronRuby with WatiN > > Here are the contents of ironrubywatin.rb file: > > require 'WatiN.Core.dll' > require 'Interop.SHDocVw.dll' > > > IE = WatiN::Core::IE > > i = IE.new('http://localhost:1879/Login.aspx') > > > There is no C# file. > > I run using: > > ir.exe ironrubywatin.rb > > Everything is placed in the bin/Debug folder hence no path reference is > required! > > Thanks, > Azam > > > > On Tue, Sep 22, 2009 at 10:56 AM, Jimmy Schementi < > jimmy.scheme...@microsoft.com> wrote: > >> Azam, without seeing the contents of ironrubywatin.rb, or what a correct >> C# WatiN program looks like ... we can't help much. So, either send the Ruby >> and C# source so we can compare, or can you package up your testing >> directory into a zip file and host it somewhere online so we can try it >> ourselves? Please don't attach it to this thread, as the mailing list will >> regect a large attachment. >> >> ~js >> ------------------------------ >> *From:* ironruby-core-boun...@rubyforge.org [ >> ironruby-core-boun...@rubyforge.org] on behalf of Mohammad Azam [ >> azamsh...@gmail.com] >> *Sent:* Tuesday, September 22, 2009 10:40 AM >> >> *To:* ironruby-core@rubyforge.org >> *Subject:* Re: [Ironruby-core] IronRuby with WatiN >> >> Hi, >> I tried it and it did not work. Here are the details: >> >> C:\Projects\ILoveIronRuby\ILoveIronRuby\testing\bin\Debug>ir >> ironrubywatin.rb >> ironrubywatin.rb:8: iwebBrowser2 needs to implement shdocvw.IWebBrowser2 >> (Argume >> ntError) >> >> >> Thanks, >> Azam >> >> On Tue, Sep 22, 2009 at 10:10 AM, Shri Borde <shri.bo...@microsoft.com>wrote: >> >>> IronRuby start the main thread in STA mode as can be seen by this >>> command: >>> >>> >>> >>> c:\>rbx -e "puts System::Threading::Thread.CurrentThread.ApartmentState" >>> >>> STA >>> >>> >>> >>> However, new threads are created in MTA mode (the default). >>> >>> >>> >>> c:\>rbx -e "Thread.new{ puts >>> System::Threading::Thread.CurrentThread.ApartmentState }.join" >>> >>> MTA >>> >>> >>> >>> I doubt this is the problem as the error messages would be something >>> else. For C#, are all dlls next to the C# application exe? Try running the >>> IronRuby repro out of bin\Debug to reduce the issues that could cause >>> problems. If you cannot get even “require ‘Microsoft.mshtml.dll’” to work, >>> then you know its some basic problem unrelated to Watin. >>> >>> >>> >>> *From:* ironruby-core-boun...@rubyforge.org [mailto: >>> ironruby-core-boun...@rubyforge.org] *On Behalf Of *Mohammad Azam >>> *Sent:* Monday, September 21, 2009 7:07 PM >>> >>> *To:* ironruby-core@rubyforge.org >>> *Subject:* Re: [Ironruby-core] IronRuby with WatiN >>> >>> >>> >>> WatiN works in STA (Single Threaded Apartment). Maybe I am missing that? >>> How can I create STA threads in IronRuby. >>> >>> On Mon, Sep 21, 2009 at 7:03 PM, Mohammad Azam <azamsh...@gmail.com> >>> wrote: >>> >>> I created a C# application and used WatiN. It worked flawlessly and >>> without any configuration. For some reason IronRuby is requiring something >>> more to run the application. >>> >>> On Mon, Sep 21, 2009 at 3:11 PM, Jimmy Schementi < >>> jimmy.scheme...@microsoft.com> wrote: >>> >>> You can do "igem install" against any pure-Ruby gem; only gems with >>> native extensions require an IronRuby-specific gem. And "igem" is nothing >>> more than a bat file to call RubyGems with IronRuby; RubyGems for IronRuby >>> is identical to MRI's version. >>> >>> >>> >>> That being said, I don't know what type of dependencies Selenium has. >>> >>> >>> >>> *From:* ironruby-core-boun...@rubyforge.org [mailto: >>> ironruby-core-boun...@rubyforge.org] *On Behalf Of *Mohammad Azam >>> *Sent:* Monday, September 21, 2009 3:03 PM >>> >>> >>> *To:* ironruby-core@rubyforge.org >>> *Subject:* Re: [Ironruby-core] IronRuby with WatiN >>> >>> >>> >>> I will try the Selenium Client gem. But is there any igem install >>> selenium-client or do I have to use the Ruby version of Selenium client. >>> >>> On Mon, Sep 21, 2009 at 2:52 PM, Ivan Porto Carrero <i...@flanders.co.nz> >>> wrote: >>> >>> You could try the selenium client gem that may work. >>> --- >>> Met vriendelijke groeten - Best regards - Salutations >>> Ivan Porto Carrero >>> Blog: http://flanders.co.nz >>> Twitter: http://twitter.com/casualjim >>> Author of IronRuby in Action (http://manning.com/carrero) >>> >>> On Mon, Sep 21, 2009 at 11:35 PM, Mohammad Azam <azamsh...@gmail.com> >>> wrote: >>> >>> Hi, >>> >>> >>> >>> Since, Watir is currently not supported I want to check out WatiN with >>> IronRuby. Yes, I know I can use it with C# but I am interested in using >>> IronRuby. I am getting the following exception: >>> >>> >>> >>> Here is the code: >>> >>> >>> >>> require File.dirname(__FILE__) + '/bin/Debug/WatiN.Core.dll' >>> >>> require File.dirname(__FILE__) + '/bin/Debug/Interop.SHDocVw.dll' >>> >>> require File.dirname(__FILE__) + '/bin/Debug/Microsoft.mshtml.dll' >>> >>> >>> >>> IE = WatiN::Core::IE >>> >>> >>> >>> i = IE.new() >>> >>> >>> -- >>> Mohammad Azam >>> MVP (Microsoft Valuable Professional) >>> www.highoncoding.com >>> www.azamsharp.com >>> >>> >>> >>> _______________________________________________ >>> Ironruby-core mailing list >>> Ironruby-core@rubyforge.org >>> http://rubyforge.org/mailman/listinfo/ironruby-core >>> >>> >>> >>> _______________________________________________ >>> Ironruby-core mailing list >>> Ironruby-core@rubyforge.org >>> http://rubyforge.org/mailman/listinfo/ironruby-core >>> >>> >>> >>> >>> -- >>> Mohammad Azam >>> MVP (Microsoft Valuable Professional) >>> www.highoncoding.com >>> www.azamsharp.com >>> >>> >>> _______________________________________________ >>> Ironruby-core mailing list >>> Ironruby-core@rubyforge.org >>> http://rubyforge.org/mailman/listinfo/ironruby-core >>> >>> >>> >>> >>> -- >>> Mohammad Azam >>> MVP (Microsoft Valuable Professional) >>> www.highoncoding.com >>> www.azamsharp.com >>> >>> >>> >>> >>> -- >>> Mohammad Azam >>> MVP (Microsoft Valuable Professional) >>> www.highoncoding.com >>> www.azamsharp.com >>> >>> _______________________________________________ >>> Ironruby-core mailing list >>> Ironruby-core@rubyforge.org >>> http://rubyforge.org/mailman/listinfo/ironruby-core >>> >>> >> >> >> -- >> Mohammad Azam >> MVP (Microsoft Valuable Professional) >> www.highoncoding.com >> www.azamsharp.com >> >> _______________________________________________ >> Ironruby-core mailing list >> Ironruby-core@rubyforge.org >> http://rubyforge.org/mailman/listinfo/ironruby-core >> >> > > > -- > Mohammad Azam > MVP (Microsoft Valuable Professional) > www.highoncoding.com > www.azamsharp.com > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core@rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -- Mohammad Azam MVP (Microsoft Valuable Professional) www.highoncoding.com www.azamsharp.com
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core