Forum: IronRuby IronRuby with WatiN

675b8938a8ed82f09c48e58dd3bdf2c3?d=identicon&s=25 Mohammad Azam (azamsharp)
on 2009-09-22 09:04
(Received via mailing list)
Attachment: ironrubywatinimage.png (50 KB)
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()
1e39a948a58f4569c53d971c2e120920?d=identicon&s=25 Ivan Porto carrero (casualjim)
on 2009-09-22 17:44
(Received via mailing list)
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)
E1deaac6561498a0e7472e6268ea9ccc?d=identicon&s=25 Jimmy Schementi (Guest)
on 2009-09-22 19:36
(Received via mailing list)
It is failing to load the Interop.SHDocVw.dll, which I believe is the
interop assembly for IE. Hanselman discusses a similar issue with
getting WatiN working in Powershell:
http://www.hanselman.com/blog/WATIRForNETWatiNAppr....

It might be worth getting a very small and basic example of WatiN
working in C# to understand how everything works, and then port it to
IronRuby.
E1deaac6561498a0e7472e6268ea9ccc?d=identicon&s=25 Jimmy Schementi (Guest)
on 2009-09-22 19:41
(Received via mailing list)
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-bounces@rubyforge.org
[mailto:ironruby-core-bounces@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
<ivan@flanders.co.nz<mailto:ivan@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
<azamsharp@gmail.com<mailto:azamsharp@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<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core


_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>
675b8938a8ed82f09c48e58dd3bdf2c3?d=identicon&s=25 Mohammad Azam (azamsharp)
on 2009-09-22 19:44
(Received via mailing list)
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 <
675b8938a8ed82f09c48e58dd3bdf2c3?d=identicon&s=25 Mohammad Azam (azamsharp)
on 2009-09-22 21:46
(Received via mailing list)
WatiN works in STA (Single Threaded Apartment). Maybe I am missing that?
How
can I create STA threads in IronRuby.
675b8938a8ed82f09c48e58dd3bdf2c3?d=identicon&s=25 Mohammad Azam (azamsharp)
on 2009-09-22 21:51
(Received via mailing list)
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.
675b8938a8ed82f09c48e58dd3bdf2c3?d=identicon&s=25 Mohammad Azam (azamsharp)
on 2009-09-23 00:01
(Received via mailing list)
I copied the .ddl from System32 and placed in my project folder. But it
is
still giving me the same problem.
require File.dirname(__FILE__) + '/bin/Debug/WatiN.Core.dll'
require File.dirname(__FILE__) + '/bin/Debug/Interop.SHDocVw,
Version=1.1.0.0, Culture=neutral, PublicKeyToken=db7cfd3acb5ad44e'

IE = WatiN::Core::IE

i = IE.new()

On Mon, Sep 21, 2009 at 3:11 PM, Jimmy Schementi <
Aea6cfe04952626ab630bde47ff82f89?d=identicon&s=25 Shri Borde (Guest)
on 2009-09-23 01:09
(Received via mailing list)
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-bounces@rubyforge.org
[mailto:ironruby-core-bounces@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
<azamsharp@gmail.com<mailto:azamsharp@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.Schementi@microsoft.com<mailto:Jimmy.Schementi@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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 3:03 PM

To: ironruby-core@rubyforge.org<mailto: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
<ivan@flanders.co.nz<mailto:ivan@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
<azamsharp@gmail.com<mailto:azamsharp@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<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>



_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core


_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>
675b8938a8ed82f09c48e58dd3bdf2c3?d=identicon&s=25 Mohammad Azam (azamsharp)
on 2009-09-23 04:24
(Received via mailing list)
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
E1deaac6561498a0e7472e6268ea9ccc?d=identicon&s=25 Jimmy Schementi (Guest)
on 2009-09-23 04:31
(Received via mailing list)
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-bounces@rubyforge.org
[ironruby-core-bounces@rubyforge.org] on behalf of Mohammad Azam
[azamsharp@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.Borde@microsoft.com<mailto:Shri.Borde@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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 7:07 PM

To: ironruby-core@rubyforge.org<mailto: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
<azamsharp@gmail.com<mailto:azamsharp@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.Schementi@microsoft.com<mailto:Jimmy.Schementi@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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 3:03 PM

To: ironruby-core@rubyforge.org<mailto: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
<ivan@flanders.co.nz<mailto:ivan@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
<azamsharp@gmail.com<mailto:azamsharp@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<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>



_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core


_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core




--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>
675b8938a8ed82f09c48e58dd3bdf2c3?d=identicon&s=25 Mohammad Azam (azamsharp)
on 2009-09-23 06:17
(Received via mailing list)
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 <
E1deaac6561498a0e7472e6268ea9ccc?d=identicon&s=25 Jimmy Schementi (Guest)
on 2009-09-23 09:59
(Received via mailing list)
By "C# code" i meant the equivalent C# program that you said worked:

azamsharp@gmail.com<mailto:azamsharp@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=...

~js

________________________________
From: ironruby-core-bounces@rubyforge.org
[ironruby-core-bounces@rubyforge.org] on behalf of Mohammad Azam
[azamsharp@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.Schementi@microsoft.com<mailto:Jimmy.Schementi@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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
on behalf of Mohammad Azam
[azamsharp@gmail.com<mailto:azamsharp@gmail.com>]
Sent: Tuesday, September 22, 2009 10:40 AM

To: ironruby-core@rubyforge.org<mailto: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.Borde@microsoft.com<mailto:Shri.Borde@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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 7:07 PM

To: ironruby-core@rubyforge.org<mailto: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
<azamsharp@gmail.com<mailto:azamsharp@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.Schementi@microsoft.com<mailto:Jimmy.Schementi@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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 3:03 PM

To: ironruby-core@rubyforge.org<mailto: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
<ivan@flanders.co.nz<mailto:ivan@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
<azamsharp@gmail.com<mailto:azamsharp@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<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>



_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core


_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core




--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core




--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>
E1deaac6561498a0e7472e6268ea9ccc?d=identicon&s=25 Jimmy Schementi (Guest)
on 2009-09-23 15:12
(Received via mailing list)
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-bounces@rubyforge.org
[ironruby-core-bounces@rubyforge.org] on behalf of Jimmy Schementi
[Jimmy.Schementi@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:

azamsharp@gmail.com<mailto:azamsharp@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=...

~js

________________________________
From: ironruby-core-bounces@rubyforge.org
[ironruby-core-bounces@rubyforge.org] on behalf of Mohammad Azam
[azamsharp@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.Schementi@microsoft.com<mailto:Jimmy.Schementi@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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
on behalf of Mohammad Azam
[azamsharp@gmail.com<mailto:azamsharp@gmail.com>]
Sent: Tuesday, September 22, 2009 10:40 AM

To: ironruby-core@rubyforge.org<mailto: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.Borde@microsoft.com<mailto:Shri.Borde@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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 7:07 PM

To: ironruby-core@rubyforge.org<mailto: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
<azamsharp@gmail.com<mailto:azamsharp@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.Schementi@microsoft.com<mailto:Jimmy.Schementi@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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 3:03 PM

To: ironruby-core@rubyforge.org<mailto: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
<ivan@flanders.co.nz<mailto:ivan@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
<azamsharp@gmail.com<mailto:azamsharp@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<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>



_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core


_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core




--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core




--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>
675b8938a8ed82f09c48e58dd3bdf2c3?d=identicon&s=25 Mohammad Azam (azamsharp)
on 2009-09-23 15:15
(Received via mailing list)
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 <
E1deaac6561498a0e7472e6268ea9ccc?d=identicon&s=25 Jimmy Schementi (Guest)
on 2009-09-23 17:21
(Received via mailing list)
I agree the ctor is poorly designed. Since there's a simple workaround,
and your explanation of the existing behavior makes sense, then I'm also
convinced this is "by design". I'll document this as a "gotcha", and
suggest that this is poor design for overloads. WatiN should definitely
change this; anyone want to submit a patch to them?

~Jimmy
Sent from my phone

On Sep 22, 2009, at 1:38 PM, "Tomas Matousek"
<Tomas.Matousek@microsoft.com<mailto:Tomas.Matousek@microsoft.com>>
wrote:

This behavior is by design.

MutableString -> object requires an up-cast
MutableString -> string requires an explicit conversion

Overload resolver prefers up-cast over an explicit conversion. With
explicit conversion you can lose some information (e.g. encoding of the
string) and also get an exception (if theMutableString represents binary
data not convertible to UTF16 string).

The constructor seems to be poorly designed since it actually accepts
only objects that implement IWebBrowser2 (you get argument exception
“iwebBrowser2 needs to implement shdocvw.IWebBrowser2” if you pass
something else). I don’t a reason why the constructor shouldn’t take
IWebBrowser2 parameter.

Tomas

From:
ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:ironruby-core-bounces@rubyforge.org] On Behalf Of Jimmy
Schementi
Sent: Tuesday, September 22, 2009 12:42 PM
To: <mailto:ironruby-core@rubyforge.org>
ironruby-core@rubyforge.org<mailto:ironruby-core@rubyforge.org>
Subject: Re: [Ironruby-core] IronRuby with WatiN


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'>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'>http://localhost...

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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[ironruby-core-bounces@rubyforge.org] on behalf of Jimmy Schementi
[Jimmy.Schementi@microsoft.com]
Sent: Tuesday, September 22, 2009 11:39 AM
To: <mailto:ironruby-core@rubyforge.org>
ironruby-core@rubyforge.org<mailto:ironruby-core@rubyforge.org>
Subject: Re: [Ironruby-core] IronRuby with WatiN
By "C# code" i meant the equivalent C# program that you said worked:

<mailto:azamsharp@gmail.com>azamsharp@gmail.com<mailto:azamsharp@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=...
http://ironruby.codeplex.com/Wiki/View.aspx?title=...

~js

________________________________
From:
ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[ironruby-core-bounces@rubyforge.org] on behalf of Mohammad Azam
[azamsharp@gmail.com]
Sent: Tuesday, September 22, 2009 11:07 AM
To: <mailto:ironruby-core@rubyforge.org>
ironruby-core@rubyforge.org<mailto: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>http://localhost:...)


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
<<mailto:Jimmy.Schementi@microsoft.com>Jimmy.Schementi@microsoft.com<mailto:Jimmy.Schementi@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: <mailto:ironruby-core-bounces@rubyforge.org>
ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[<mailto:ironruby-core-bounces@rubyforge.org>ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
on behalf of Mohammad Azam
[<mailto:azamsharp@gmail.com>azamsharp@gmail.com<mailto:azamsharp@gmail.com>]
Sent: Tuesday, September 22, 2009 10:40 AM

To: <mailto:ironruby-core@rubyforge.org>
ironruby-core@rubyforge.org<mailto: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
<<mailto:Shri.Borde@microsoft.com>Shri.Borde@microsoft.com<mailto:Shri.Borde@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: <mailto:ironruby-core-bounces@rubyforge.org>
ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:<mailto:ironruby-core-bounces@rubyforge.org>ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 7:07 PM

To: <mailto:ironruby-core@rubyforge.org>
ironruby-core@rubyforge.org<mailto: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
<<mailto:azamsharp@gmail.com>azamsharp@gmail.com<mailto:azamsharp@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
<<mailto:Jimmy.Schementi@microsoft.com>Jimmy.Schementi@microsoft.com<mailto:Jimmy.Schementi@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: <mailto:ironruby-core-bounces@rubyforge.org>
ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:<mailto:ironruby-core-bounces@rubyforge.org>ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 3:03 PM

To: <mailto:ironruby-core@rubyforge.org>
ironruby-core@rubyforge.org<mailto: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
<<mailto:ivan@flanders.co.nz>ivan@flanders.co.nz<mailto:ivan@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> http://flanders.co.nz
Twitter: <http://twitter.com/casualjim> http://twitter.com/casualjim
Author of IronRuby in Action
(<http://manning.com/carrero>http://manning.com/carrero)

On Mon, Sep 21, 2009 at 11:35 PM, Mohammad Azam
<<mailto:azamsharp@gmail.com>azamsharp@gmail.com<mailto:azamsharp@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)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...



_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-cor...


_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-cor...



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...

_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-cor...



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...

_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-cor...



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...

_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-cor...



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core
E1deaac6561498a0e7472e6268ea9ccc?d=identicon&s=25 Jimmy Schementi (Guest)
on 2009-09-23 17:31
(Received via mailing list)
On Sep 22, 2009, at 1:16 PM, "Mohammad Azam"
<azamsharp@gmail.com<mailto:azamsharp@gmail.com>> wrote:

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.

Once I saw their code, your error msg made it clear that it was calling
the object ctor. Plus, whenever a ruby object is passed to a method
group that has object as a choice for an argument, it will select that
overload.

Also, how does IronRuby knows whether to call ie.Goto(string) or
ie.Goto(Uri);

By the type of object you give it :) Ruby has a type system, so at
runtime it can figure out what method to call based on the argument
provided.

Thanks,
Azam

On Tue, Sep 22, 2009 at 2:42 PM, Jimmy Schementi
<<mailto:Jimmy.Schementi@microsoft.com>Jimmy.Schementi@microsoft.com<mailto:Jimmy.Schementi@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>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>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>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>http://localhost:...

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: <mailto:ironruby-core-bounces@rubyforge.org>
ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[<mailto:ironruby-core-bounces@rubyforge.org>ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
on behalf of Jimmy Schementi
[<mailto:Jimmy.Schementi@microsoft.com>Jimmy.Schementi@microsoft.com<mailto:Jimmy.Schementi@microsoft.com>]
Sent: Tuesday, September 22, 2009 11:39 AM

To: <mailto:ironruby-core@rubyforge.org>
ironruby-core@rubyforge.org<mailto:ironruby-core@rubyforge.org>
Subject: Re: [Ironruby-core] IronRuby with WatiN

By "C# code" i meant the equivalent C# program that you said worked:

<mailto:azamsharp@gmail.com>azamsharp@gmail.com<mailto:azamsharp@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=...
http://ironruby.codeplex.com/Wiki/View.aspx?title=...

~js

________________________________
From: <mailto:ironruby-core-bounces@rubyforge.org>
ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[<mailto:ironruby-core-bounces@rubyforge.org>ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
on behalf of Mohammad Azam
[<mailto:azamsharp@gmail.com>azamsharp@gmail.com<mailto:azamsharp@gmail.com>]
Sent: Tuesday, September 22, 2009 11:07 AM
To: <mailto:ironruby-core@rubyforge.org>
ironruby-core@rubyforge.org<mailto: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>http://localhost:...)


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
<<mailto:Jimmy.Schementi@microsoft.com>Jimmy.Schementi@microsoft.com<mailto:Jimmy.Schementi@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: <mailto:ironruby-core-bounces@rubyforge.org>
ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[<mailto:ironruby-core-bounces@rubyforge.org>ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
on behalf of Mohammad Azam
[<mailto:azamsharp@gmail.com>azamsharp@gmail.com<mailto:azamsharp@gmail.com>]
Sent: Tuesday, September 22, 2009 10:40 AM

To: <mailto:ironruby-core@rubyforge.org>
ironruby-core@rubyforge.org<mailto: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
<<mailto:Shri.Borde@microsoft.com>Shri.Borde@microsoft.com<mailto:Shri.Borde@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: <mailto:ironruby-core-bounces@rubyforge.org>
ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:<mailto:ironruby-core-bounces@rubyforge.org>ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 7:07 PM

To: <mailto:ironruby-core@rubyforge.org>
ironruby-core@rubyforge.org<mailto: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
<<mailto:azamsharp@gmail.com>azamsharp@gmail.com<mailto:azamsharp@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
<<mailto:Jimmy.Schementi@microsoft.com>Jimmy.Schementi@microsoft.com<mailto:Jimmy.Schementi@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: <mailto:ironruby-core-bounces@rubyforge.org>
ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:<mailto:ironruby-core-bounces@rubyforge.org>ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 3:03 PM

To: <mailto:ironruby-core@rubyforge.org>
ironruby-core@rubyforge.org<mailto: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
<<mailto:ivan@flanders.co.nz>ivan@flanders.co.nz<mailto:ivan@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> http://flanders.co.nz
Twitter: <http://twitter.com/casualjim> http://twitter.com/casualjim
Author of IronRuby in Action
(<http://manning.com/carrero>http://manning.com/carrero)


On Mon, Sep 21, 2009 at 11:35 PM, Mohammad Azam
<<mailto:azamsharp@gmail.com>azamsharp@gmail.com<mailto:azamsharp@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)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...



_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-cor...


_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-cor...



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...

_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-cor...



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...

_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-cor...




--
Mohammad Azam
MVP (Microsoft Valuable Professional)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...

_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-cor...




--
Mohammad Azam
MVP (Microsoft Valuable Professional)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...

_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-cor...




--
Mohammad Azam
MVP (Microsoft Valuable Professional)
<http://www.highoncoding.com>www.highoncoding.com<h...
<http://www.azamsharp.com>www.azamsharp.com<http://...
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core
Cb51033949ffccd982ae32c9f890f25a?d=identicon&s=25 Tomas Matousek (Guest)
on 2009-09-23 18:06
(Received via mailing list)
This behavior is by design.

MutableString -> object requires an up-cast
MutableString -> string requires an explicit conversion

Overload resolver prefers up-cast over an explicit conversion. With
explicit conversion you can lose some information (e.g. encoding of the
string) and also get an exception (if theMutableString represents binary
data not convertible to UTF16 string).

The constructor seems to be poorly designed since it actually accepts
only objects that implement IWebBrowser2 (you get argument exception
"iwebBrowser2 needs to implement shdocvw.IWebBrowser2" if you pass
something else). I don't a reason why the constructor shouldn't take
IWebBrowser2 parameter.

Tomas

From: ironruby-core-bounces@rubyforge.org
[mailto:ironruby-core-bounces@rubyforge.org] On Behalf Of Jimmy
Schementi
Sent: Tuesday, September 22, 2009 12:42 PM
To: ironruby-core@rubyforge.org
Subject: Re: [Ironruby-core] IronRuby with WatiN


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-bounces@rubyforge.org
[ironruby-core-bounces@rubyforge.org] on behalf of Jimmy Schementi
[Jimmy.Schementi@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:

azamsharp@gmail.com<mailto:azamsharp@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=...

~js

________________________________
From: ironruby-core-bounces@rubyforge.org
[ironruby-core-bounces@rubyforge.org] on behalf of Mohammad Azam
[azamsharp@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.Schementi@microsoft.com<mailto:Jimmy.Schementi@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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
on behalf of Mohammad Azam
[azamsharp@gmail.com<mailto:azamsharp@gmail.com>]
Sent: Tuesday, September 22, 2009 10:40 AM

To: ironruby-core@rubyforge.org<mailto: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.Borde@microsoft.com<mailto:Shri.Borde@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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 7:07 PM

To: ironruby-core@rubyforge.org<mailto: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
<azamsharp@gmail.com<mailto:azamsharp@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.Schementi@microsoft.com<mailto:Jimmy.Schementi@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-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>
[mailto:ironruby-core-bounces@rubyforge.org<mailto:ironruby-core-bounces@rubyforge.org>]
On Behalf Of Mohammad Azam
Sent: Monday, September 21, 2009 3:03 PM

To: ironruby-core@rubyforge.org<mailto: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
<ivan@flanders.co.nz<mailto:ivan@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
<azamsharp@gmail.com<mailto:azamsharp@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<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>



_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core


_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core



--
Mohammad Azam
MVP (Microsoft Valuable Professional)
www.highoncoding.com<http://www.highoncoding.com>
www.azamsharp.com<http://www.azamsharp.com>
577bcfe75fa832341818b758fbeb3a48?d=identicon&s=25 rahoolm (Guest)
on 2013-09-14 16:37
(Received via mailing list)
Is this issue resolved?



I am able to work with IronRuby latest version and WatiN latest version.



Here is code script name ironrubywatin.rb

require 'WatiN.Core'



include WatiN::Core



ie = IE



find = Find





ie.new('www.google.com')

ie.bring_to_front

ie.text_field(find.by_name('q')).type_text("IronRuby and WatiN")

ie.button(find.by_name("btnG")).click



ie.close

ie.dispose



use below statement to run the script



ir -S ironrubywatin.rb



The above script works only when all the dll and the script are in same
location.

WatiN.Core.dll

Interop.SHDocVw.dll

Microsoft.mshtml.dll

ironrubywatin.rb



Thanks and Regards
This topic is locked and can not be replied to.