Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Firefox JSSh (JavaScript Shell Server) Firefox機能拡張

35 views
Skip to first unread message

Yasushi Shinjo

unread,
Jul 23, 2010, 12:24:16 AM7/23/10
to
新城@筑波大学情報です。こんにちは。

ふとしたことから、次のようなプログラムを見つけました。

JSSh - a TCP/IP JavaScript Shell Server for Mozilla
http://www.croczilla.com/bits_and_pieces/jssh/
https://wiki.mozilla.org/SoftwareTesting:Tools:jsshHowTo

これを Firefox で動かして、telnet でつなぐとそこにJavaScript
のプロンプトが出ているというものです。

------------------------------------------------------------
$ telnet localhost 9997
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Welcome to the Mozilla JavaScript Shell!

> 1+2
3
>
------------------------------------------------------------

JSSh は、上の URL にもあるように、Testing Tool として作られ
たのでしょう。一般向けではありません。ポート番号 9997 へのア
クセス制御は特にないので、動かす時には、他の人がログインでき
ないようなコンピュータで動かす必要はあります。

ブラウザで Web ページを開くならこんな感じです。

------------------------------------------------------------
var w0 = getWindows()[0]
var browser = w0.getBrowser()
browser.loadURI("http://www.example.com/")
------------------------------------------------------------

C++ で書かれているので、OS、CPU ごとにバイナリの機能拡張が必
要です。バイナリは、次のような所にありました。

http://wiki.openqa.org/display/WTR/FireWatir+Installation#FireWatirInstallation-InstalltheJSSHFirefoxExtension

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\

Yasushi Shinjo

unread,
Jul 23, 2010, 1:54:02 AM7/23/10
to
新城@大学情報です。ちょっと補足。

In article <YAS.10Ju...@kirk.is.tsukuba.ac.jp>


y...@is.tsukuba.ac.jp (Yasushi Shinjo) writes:
> C++ で書かれているので、OS、CPU ごとにバイナリの機能拡張が必
> 要です。バイナリは、次のような所にありました。

実行するには、Firefox に機能拡張を入れてさらに、起動時に
-jssh オプションを付ける必要があります。こんな感じ。

$ /Applications/FireFox/Firefox.app/Contents/MacOS/firefox-bin -jssh

安全策としては、十分かなとは思います。

Yasushi Shinjo

unread,
Jul 23, 2010, 4:06:53 AM7/23/10
to
新城@筑波大学情報です。こんにちは。

前の記事 <YAS.10Ju...@kirk.is.tsukuba.ac.jp> でJSSh
(JavaScript Shell) の話をしました。この話は、元々はWatir (発
音は、water と同じ)を見つけてそこから出てきたものでした。

http://watir.com/

Watir は、JavaScript ではなくて、Ruby でテストができるという
ものです。制御できるブラウザとしては、Firefox だけでなくて、
Internet Explore, Safari, Google Chrome もいけます。OS は、
Windows, Linux, MacOSX。

こんな感じで Web ページが開けます。

------------------------------------------------------------
require 'rubygems'
require 'watir'
b = Watir::Browser.new
b.goto("http://www.example.com")
------------------------------------------------------------

goto() とか click() では、wait するみたいなので、それの実行
時間を計測すれば、何かの値は出てくるみたい。

http://wiki.openqa.org/display/WTR/How+to+wait+with+Watir

コードとしては、こんな感じ。

------------------------------------------------------------
start = Time.now
b.goto("http://www.google.co.jp")
stop = Time.now
diff = stop - start
p diff
------------------------------------------------------------

ただ、この値が何を意味するのかは、よく分からないということは
あります。レンダリングが終っているのかとか、ページに埋め込ま
れた JavaScript が実行されたのかどうかとか。

0 new messages