Selenium のプロジェクトへの参加

Selenium はさまざまな人たちの協力によって生まれました。自分がプログラマである場合はもちろんのこと、デザイナー、QA エンジニア、ライター、プロジェクトマネージャであっても、あるいは単に協力したいという気持ちがあるだけでも、さまざまな方法で Selenium のプロジェクトに協力することができます。プロジェクトに協力することに関心がある場合は、ぜひ Selenium Developers Group で私たちに声をかけてください。どのような形で協力してもらうのがよいか、一緒に考えましょう。

たとえば、次のような協力方法があります。

ユーザーグループで質問に答える

ユーザーからはたくさんの質問が寄せられていますが、そうした質問に答えるためのコミュニティも充実しています。ユーザーグループに登録してログインし、2-3 の質問に答えるだけでもプロジェクトに大きく貢献していることになります。ユーザーグループには、簡単に回答できる基本的な質問もしばしば投稿されます。

Selenium の Web サイトを更新する

Selenium のサイトには、整理する必要のある古い情報がたくさん残っています。ドキュメントを執筆したり、わかりやすい図を作成したり、Web サイトの見ばえをよくしたり、あるいはコンテンツの構成を考えたりすることで、ぜひ協力してください。

Web サイトのコンテンツは http://selenium.googlecode.com/svn/selenium-core/selenium-website にあり、Subversion を使ってチェックアウトできます。チェックアウトしたものをコンテンツとして表示できるようにするには、新しいバージョンの Java (まだ持っていない場合) と Apache Maven をインストールする必要があります。Maven は、まず Web サイトをビルドし、次に、ビルドしたWeb サイトを、“Jetty” と呼ばれる Web サーバーで動かすために使われます (Maven は、必要になったときに Jetty をダウンロードします)。Maven をインストールした後、mvn jetty:run を実行すると、Maven と Jetty が起動し、ローカルコンピュータ上に Web サイトが用意され、http://localhost:8080/ でアクセスできるようになります。Windows を使っている場合は、次のようなバッチスクリプトを作成するとよいでしょう。

SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_02
SET PATH=%PATH%;C:\Program Files\apache-maven-2.0.9\bin
mvn jetty:run

作成したスクリプトは、selenium-website フォルダに保存します (Maven は pom.xml という設定ファイルを使って、必要なすべての設定を行います)。

質問がある場合は、遠慮なく Selenium Developers Group に投稿してください。

ドキュメントを執筆する

ドキュメントのほとんどの部分は、メイン Web サイト用のソースコントロールで管理されています。主要ドキュメントはプレーンテキストなので、自分の使い慣れたエディタを使ってオフラインでページを編集することができます。このメインサイトのソースはここにあります。Subversion を使ったことがあれば、必要なファイルをローカルコンピュータに持ってきてオフラインで編集することも、それほどむずかしくないでしょう。

ドキュメントの “バグ” をサブミットする

タイプミスや不正確な情報など、ドキュメントに間違いを見つけたら、私たちに知らせてください。ドキュメントの “バグ” は、次に示す Jira のチケットとしてサブミットできます。

http://jira.openqa.org/browse/SEDOC

バグ報告と機能要求

Selenium を使っていて問題を見つけたら、バグトラッカーの JIRA でバグ報告を登録してください。また、将来のバージョンに採り入れてもらいたい機能がある場合も、同様に報告してください。

私たちも喜んでバグ報告に目を通します。報告者にアドバイスするだけで済みそうだという場合には、コメントを付けます (コメントは自動的に報告者に送信されます)。なお、JIRA で課題を作成するときは、次のテンプレートを使用する必要があります。

バグテンプレート:

Description (説明)
===========
...
Steps to reproduce (再現の手順)
==================
...
Expected (期待値)
========
...
Actual (実測値)
======
...

機能/変更要求テンプレート:

Description (説明)
===========
...
Reason (理由)
======
...
Benefits (メリット)
========
...
Drawbacks (デメリット)
=========
...

注意

テンプレートは課題を整理するのに役立ちますが、バグは再現性がなければならず、機能/変更要求は内容が理解できるものでなければならない点に注意してください。

自身がプログラマで、対象となる言語のスキルを十分に持っている場合には、そこからさらに一歩を進めて、バグの修正に取り組んでみてください (次の「Selenium にコードをコントリビュートする」を参照)。

Selenium にコードをコントリビュートする

手品のような Selenium の舞台裏の多くは、JavaScript をはじめ、Java、Ruby、PHP、Python、Perl、C#、HTML、その他の言語に関する深い知識を持ったプログラマたちの労作です。実際のソースコードは、以下の Subversion リポジトリから取得できます。

私たちは、ソースコードへのパッチやその他のコントリビュートを歓迎します。ぜひ Selenium Developers Group に投稿して積極的にプロジェクトに関わってください。

注意

Selenium-RC のコードを書くときは、OpenQA の wiki の『Developer’s Guide』に有益な情報があるので、参照してください。