2012-01-19 8 views
9

セレンIDEスクリプトを実行しているときにユーザーは手動入力を行うことができますか? 例:名前フィールドがある場合、スクリプトが実行されるたびに入力ボックスを開いて、ユーザーが名前フィールドに入力できるようにすることはできますか?セレンIDEスクリプトの実行中にユーザーからの手動入力

はイエスその後、私の解決策を提案してください場合は、私は...それが可能であるかどうか

を知ってみましょう。事前

答えて

16

あなたは値

<tr> 
    <td>storeEval</td> 
    <td>javascript{prompt(&quot;Please enter your FirstName&quot;)}</td> 
    <td>firstName</td> 
</tr> 

を取得するためにはJavaScriptプロンプトを起動するには、次のスクリプトを使用することができますその後、値にアクセスするスティーブン・ビンズ応答にだけマイナーな修正${firstName}

0

ありがとうございますテクニックを使用することができセレンwebdriverをとJavaのBufferedReaderを使用するhereを示唆しました。私はそれがSelenium IDEに適応できるとは思わないが、技術はSelenium RCでうまく動作するはずである。

基本的な考え方は次のとおりです。

  • 問題セレンを使用すると、ユーザーの入力をキャプチャする時点までのコマンド。
  • BufferedReaderへのユーザー入力を取得するには、次のコードを呼び出します。

    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); reader.readLine();

  • (C#を使用している場合は、代わりにBufferedReaderConsole.In.ReadLine();の使用方法についての議論hereがあり、注意してください)あなたのセレンが

コマンドを続行します。

0

Selenium IDEについて具体的に質問したので、答えは「いいえ」です。しかし、あなたスクリプトを一時停止し、ユーザーが名前を入力させてから、スクリプトを続行させます。私はCAPTCHAsを処理するためにこの技術を使用している人のことを聞いたことがありますが、もちろん簡単には自動化できません。

+0

はい、あなたは正しいです。私はこの解決策を試してみます..thanks –

0

を使用した場合であります。私はセレンIDE 2.5.0を実行しているし、私のテストは、次のようになります。

<tr> 
    <td>store</td> 
    <td>javascript{prompt(&quot;password&quot;)}</td> 
    <td>password</td> 
</tr> 

javascriptをなし{}それはプロンプトを表示しません。

0

提案された解決策は、(2.5に関して試験)セレンIDEセレンIDE 2.8.0では

<tr> 
    <td>store</td> 
    <td>javascript{prompt(&quot;password&quot;)}</td> 
    <td>password</td> 
</tr> 
1

のために正常に動作します: ログイン名とパスワードを入力するテストセッションをキャプチャします。それぞれのコマンドを編集して、「タイプ」から「waitForText」に変更し、ログインとパスワード用に以前に格納された値フィールドの値を削除します。保存したテストスクリプトをIDEから再実行します。

+0

私は受け入れられた解決策が好きなので、完全に難読化されたパスワードを取得する方が良い。 – JuanitoMint

0

スレッドを使用します。睡眠(20000); これは20秒間すべてをフリーズし、その期間に手動で入力したいフィールドを入力することができます

関連する問題