2017-06-22 5 views
0

私のクエリには良い提案が必要です。実際に私はセレンキュウリを使用して私の統合環境のための自動化テストスーツを書いています。メールアドレスを入力して処理を完了すると、そのメールアドレスがデータベースに保存されます。だから次のシナリオでは、すでにデータベースに保存されているため、次のシナリオで次回同じアドレスを使用することはできません。今私はテストスーツを手動で実行する前に電子メールアドレスを変更しています。私は完全な自動テストスーツが必要なので、これは良いアプローチではありません。新しいメールIDを毎回自動的に入力する動的な方法を作成するにはどうすればよいですか?セレンで毎回メールアドレスを変更する

答えて

1

ランダム関数を使用して毎回電子メールIDを生成することができます。以下のコードはあなたにいくつかのアイデアを与えるかもしれません。

String userName = ""+(int)(Math.random()*Integer.MAX_VALUE); 
String emailID = "User"+userName+"@example.com"; 

注:時間のポイントの後、我々は必要に応じてDBから「ユーザー」と、この電子メールIDの開始を削除することができるようにが、私は、ユーザー名に接頭辞として「ユーザー」を意図的に使用してきました。

希望すると、これが役立ちます。ありがとう。すべての

まず:

+0

これは本当に非常に役に立つようです。これを試してみましょう。ありがとうございました – faheem

+0

エラー:(10、27)java:互換性のない型:intをjava.lang.Stringに変換できません – faheem

+0

それは今動作していますか? @ user2357662 –

0

これは、方法かもしれない

  1. は、アプリケーションをデプロイし、あなたが
  2. を持っているコピーにデータベースを戻す値のテストを使用してクリーンなデータベースのコピーを作成し
  3. ユニットテストを実行する

データベースを元に戻すため、ユニットテストで作られたものは取り消されます。

+0

実際には私は実サーバからの応答を取得しているので、サービスを元に戻すことはできません。 – faheem

+0

@ user2357662そして、あなたはSanthoshの答えに行くべきです。しかし実際には、実際のサーバーとは異なる環境でテストを実行する必要があります。ユーザーが体験する前に何かが壊れていることが分かっているとします。 –

+0

はい、私は、devとテスト環境のためにテストスーツを持っていますが、プロダクションに展開する前に、完全に(手動で)統合環境をテストする必要があります。 – faheem

0

以下のコードを使用できます。希望、それはあなたを助けるでしょう。

driver.findElement(By.id("id of the element").SendKeys("Automation_" + Number.Next(1, 1000).ToString() + "_" + driver.RandomString(4) + "@gmail.com")); 
+0

@ user2357662 - うまくいきましたか? – Kapil

0

ランダム電子メールを生成し、そのランダム電子メールをテキストファイルに保存する機能を記述しています。サインインが発生したら、電子メールIDを持つファイルを読み込み、変数に電子メールを格納して渡すようにコードを要求しています。send_keys(variable_name)

ここでは、それぞれrandom_emailを呼び出さないようにしていますファイルは毎回上書きされるため、セッションでは常にランダムな電子メールIDを1つ持つことができます。

0

よく知られている電子メールアドレスを入力する前に、自分のシナリオでデータベースをクリーンアップする必要があります。これにより、毎回新しい電子メールアドレスを作成し、そのプロセスに予測可能性を導入するという問題がなくなります。

ランダム性の要素を持つトラブルシューティングは、ほとんどの費用を避けることを好むものです。

関連する問題