オートメーションセレン顔面接の質問と回答

1、どのように存在における元素セレンかどうかを判断するには?
- isElementPresent
 
2、非表示または表示中のセレン=あなたが見つけることができるかどうかの要素のどれ?
- することはできません
 
3、どのようにセレン要素の動作の成功を確保するには?それは私がクリッカブルある特定の要素をクリックしたことを確実にする方法ですか?
- インテリジェントな待ち時間driver.implicitly_wait(30)の要素を追加
- トライウェイID、名前、CLAS、Xパス、見つけるためのさまざまな方法でCSSセレクタ、最初は自動的に第二のを試して失敗した場合
-Selenium保証成功率要素は、要素の位置である、もちろん、それは我々が権利を有することができるようになり、位置決め方法がたくさんあります。しかし、実装プロセスの自動化プロジェクトでは、自動テストの品質は、テスターの唯一保証するものではありません。開発者は、我々が大幅に要素の位置決め精度を向上させることができるように、その上で一意の名前、IDなどを追加するために、このようなページ要素として習慣の開発を標準化する必要があります。開発者は、標準化されていない場合はもちろん、私たちはインパクト要素を減らすことができ、位置決め要素は、ページ変更によって位置決めされたときの相対位置のアドレスを使用するようにしてください。限り、我々は精度の位置決め要素を持っているように、私は私の期待に沿ってすべての動作を保証することができます
 
4、どのように実行スピードセレンスクリプトを向上させるには?
- セレンスクリプトの実行速度は、ネットワークの速度、面倒な手続きの程度、および、ページの読み込み速度など多くの要因によって影響を受け、私たちはスクリプトを実行するために、スレッドの数を、時間を待っているスクリプトのセットであるされています。それは一方的に、スピードを追求することはできません安定性を確保するために、回帰テストは、安定性の鍵を実現することが可能です。

私たちは、次の側面から速度を向上させることができます。

まず、我々がテストしたいページを開き、このようなサンシブ介するなどの操作手順を、減らす、我々は不要な動作を削減する、Webサイトから直接開くことができます。

第二に、ページがあまりにも多くのコンテンツをロードした場合、ロードされたコンテンツは、我々のテストには影響しない場合、我々はページが読み込ま割り込みタイムアウトを設定し、我々は、遅いロードするための理由を見ることができ、ページの負荷を破ります。

第三には、彼らは一定の時間を眠ることができ、また、速度を向上させることができ、中断待機した後、要素を検出することができ、待ち時間を設定します。

第四には、configure TestNGのは、マルチスレッド実装します。テストケースの製造において、我々は疎結合を達成しなければならない、とサーバーの場合には、マルチスレッド操作を設定し、実行速度を向上しようとすることができます。

 
5、ケースはしばしば、この時点で言うことです動作不安定、中に発生すると、次の時間が通る道がなく、ユースケースの安定性を向上させるためにどのように?
- time.sleep()
- driver.implicitly_wait(30)
- マルチキャプチャ、ハンドル例外にしてみてください
-この時点では、不安定性の原因を分析する必要があるとの問題を解決することを目標。主に次の側面に:
まず、スピードの問題:時々ページを操作するためのプログラムの実行中の要素が表示されない、もっとゆっくり読み込みます。この状況は良い時代を通じて、より一般的な、高速走行で、再びそれを実行し、ページは、オープンまで通過しないしません。安定性を向上させるために、我々は唯一の犠牲の時間を実行し、プラス要素までの時間を待っていることは、多くの場合、検出に失敗すると、その要素の出現が再び動作するようにした後、次の操作を実行することができます。
第二に、理由Selelnium:表面が無効の場合Selenium1.0と2.0の違いがあるが、いくつかの子供たちは時々 、2.0の下で効果的に機能を実行します。そうであるようにマウスオーバー()関数の場合は、我々はそのような関数の使用を避ける必要があります。
第三に、マルチスレッド、ときに互いに影響との間のテストケース。より速く実行すると、マルチスレッドものの、ない優れたデザインとケースの間のカップリング場合は、前の時間のユースケースは、AユースケースBが実行された場合、それはユースケースBに影響する、影響します。それ以外の場合は問題はありません。このような状況、あなたのテスト自動化プロジェクトは比較的疎結合のテストケースを作るために、事前に試験した場合、複数のスレッドの実行順序が制御されていないので、可能な限りあらゆる関係なしに、マルチスレッド化しようとする場合。
 
6.あなたの戦略実行の自動化ユースケースがあるとは何ですか?
-自動化されたテストケースの実行ポリシーは、自動テストの目的を見ている、通常はいくつかの戦略があります:
まず、自動テストはこの中で、監視するために使用され、我々は実行のタイミングにテストセットを自動化します、 5分ごとまたは1時間に一度場合は、ジェンキンスにスケジュールされたタスクを作成することができます。
第二に、我々は、ユースケースに戻らなければなりません。このようBVTテストケースのようないくつかの子供のテストケースを、私たちはライン上で実行するために戻るには任意の必要性を当社の製品を変更する前に。私たちは、トリガーの実行にテストセットを置くその後、バインディングは、ビルド、テストオートメーションタスクの開発に私たちのタスクをジェンキンスます。コードのシミュレーション環境の上部で、開発者は、テストケースの私達の自動化された実行は、ときにトリガされます。
第三には、頻繁に実行されたテストする必要はありません。テストケースの全額と同じように、我々はすべての後に、まだ消費する時間を持って、実行された、といくつかの非主要なビジネスラインは常に返す必要はありません返す必要はありません。このような人工的なテストでは、我々は必要性がにビルドに手動で実行するとき、タスクジェンキンスを作成し、実行します。
 
7.継続的インテグレーションとは何ですか?
エクストリームプログラミングから継続的インテグレーション(XP)は、ソフトウェアの練習の一種である、ソフトウェア開発プロセスの統合ステップが長いと予測不可能なプロセスです。統合プロセスは、実際には、我々は常に統合作業を行うためのソフトウェアの継続的な統合について話している、可能な限り小さくし、より多くを必要とするように、統合プロセスは、多くの問題を抜け出すことがあります。継続的な統合は、最も簡単な形式は、監視ツールは、バージョン管理(SVN、等)の変化を含んでいます。変更が検出された場合は、ツールが自動的にアプリケーションをコンパイルしてテストすることができます。
 
8は、自動テストは、データ検証のためにデータベースに接続する必要はありませんか?
- UIオートメーションは必要ありません
- インタフェースのテストが必要になります
 
9、ID、名前、クラス、XPathの、あなたが好むほとんどがこれらのプロパティのCSSセレクタ、なぜ?
- ほとんどすべての要素のCSSの、XPathはに配置することができます
 
10、どのように動的にロードされたページの要素を見つけるには?
- 動的イベントは位置決め、動的要素の出現するまで、負荷の要素をトリガー
 
11、どのように要素の属性ダイナミックを見つけるには?
- 兄弟、親、子によって位置決めするXPathやCSS
 
12は、リンクをクリックした後、ページを待つかどうかをセレンが自動的にロードされますか?
- 会的
 
何webdriverをクライアント13が原則ですか?
- [原則webdriverを(http://www.cnblogs.com/timsheng/archive/2012/06/12/2546957.html)

セレンwebdriverをソースコードを研究することによって、私は実際には、原則としてwebdriverをの実現は計り知れない推測しようとしないではないことがわかりました。ここでwebdriverをへ  のRubyバインディングのfirefox-webdriverを例えば、簡単にはwebdriverをの動作原理を説明し、達成しました。

  • テストスクリプトは、Firefoxを起動するときに、セレンwebdriverをFirefoxブラウザは、まず新しいスレッドで起動します。テストスクリプトは、Firefoxのプロファイルを指定している場合、それ以外の場合は、新しいプロファイルを開始、およびFirefoxを起動します、プロファイルで始まります。

  • Firefoxの-no-リモート一般的な方法は、セレンwebdriverをFirefoxが特定のポートに結合する開始後に開始され、Firefoxは、リモートサーバwebdriverを存在するインスタンスが完了した後に結合しました。

  • クライアント(すなわち、テストスクリプト)がセッションを作成するために、セッション要求は、対応する操作応答を完了し、リモートサーバ、リモートサーバ解決要求、及び戻りに安らか要求HTTPによって送信されます。

  • クライアントは応答を受け入れ、ステップ3またはスクリプトの末尾に移動するかどうかを判断するためにその戻り値を分析します。

これは、ワークフローwebdriverをされ、実際には上記の問題点を理解したwebdriverをの原則の実現は比較的簡単であるべきときに理解することは非常に複雑なようです。

クラシックなデザインモードのクライアントの設計 - サーバーにしたがってwebdriverを。

エンドサーバーがリモートサーバーである、それは任意のブラウザことができます。私たちのスクリプトは、ブラウザを起動すると、ブラウザはその義務は、クライアントがそれに応じて、要求と応答を送信するために待機することで、リモートサーバーです。

クライアント側、それは単に我々のテストコードがあり、我々は道リモートサーバーでブラウザをテストするために送られるように、特定のURLや他の操作のHTTPリクエストにジャンプするには、ブラウザを開くなどの行為のいくつかのコードをテストしました。リモート・サーバは、要求を受け入れ、適切なアクションを実行し、リターン実行ステータス応答、戻り値情報など;

 
14、webdriverをどのプロトコルがありますか?
-The webdriverをワイヤプロトコル
 
15、webdriverを契約使用されているブラウザを起動?
-http
 
16ページオブジェクトのデザインパターンとは何ですか?
-http://www.cnblogs.com/tsbc/p/4080301.html
 同様のコードが別の方法で、元の使用のXPathの方法を見つけるために、同じ基本的なインターフェイス要素である機能、代わりを見つけるためにIDを使用して、各ユースケーススクリプトの変更が必要な、いくつかのユースケースは、どのようなワークロードが表示されないものの、しかし、繰り返しfindElementコードは、すでに私たちはかさばるコードを感じることができます。いくつかの位置が変更された場合、我々はテストコード要素全体で調整する必要があり、それは後の段階で私たちのスクリプトにつながるように配置され、それを維持することは困難です。したがって、我々は、ページオブジェクトモデルのコードによって、より堅牢を作成し、重複したテストコードを削減または排除するため、スクリプトを書くための努力を減らし、コードの可読性を向上させることができます。ページオブジェクトモデルの実装では、達成するために、抽象テストオブジェクトとテストスクリプトを分離することです。
 
17ページファクトリデザインパターンとは何ですか?
- http://relevantcodes.com/pageobjects-and-pagefactory-design-patterns-in-selenium/
 
18、どのようにドロップダウンボックス= XXオプションの値を選択するには?
- 二次ポジショニング
 
19、位置決め要素(デバッグ目的)の要素を強調表示する方法?
- リセット要素は、背景、境界線を追加するために、位置決め要素属性
 
20、アサーションは何ですか?
- 英語がアサーションアサーションで、英語をチェックするアサーションは、アサーションのチェックです。
- アサーションは既にプログラムの実行中のある時点での状態やプログラム変数の組の状態で存在しなければならないプログラムを指定する論理式が満たされなければならないです。
 
21、あなたは自動テストプログラムの選択をした場合、あなたはどの言語、Javaの、JS、Pythonやルビーを選ぶことができますか?
- 自分の使い慣れた言語を使用するには
 
22、ページオブジェクトの設定モードに加え、アサーションでページを位置決めする方法かどうか?
- なし
 
23、ページオブジェクトのデザインパターンは、どのようにジャンプページを達成するには?
-get、(そこにピットイン場合があります)をクリックします
 
24、自動化されたテストケースから来ますか?
- ハンドの例で抽出しました
- 自動実行ポリシーは、ユースケースを参照することができます
 
25.あなたは、自動テストの最大の欠陥をどう思いますか?
- 不安定
- 信頼性
- メンテナンスが容易
- コストと利益
 、
26、層状のテストは何ですか?
- [階層オートメーション](http://www.cnblogs.com/fnng/p/3653793.html?utm_source=tuicool&utm_medium=referral)
それとも独自の理解
 
 
27、webdriverをインタフェースのテストは、それを行うために使用することができますか?
- お勧めしません、難しいです
 

28、GETとPOSTの違いは?(感はお答えできない場合があります)

- GETリクエストは、任意のアクションを生成していないため。HTTP GETリクエストをサーバ上の任意の結果を生成しないという行動手段はありません。しかし、セキュリティは単にここで生成された情報を修正しないセキュリティの方法に言及されていないアクションの方法ではありません。POSTリクエストは、サーバー上のリソースを変更することがあります。例えば、CSDNのブログは、ユーザー提出の記事や、その後の物品または異なるリソースを提出したコメント(すなわち、ページ)、またはそのリソースを提出しているため、POSTリクエストによって達成されたレビューを提出する読者は変更されています。

要求の二つの方法の間の差:

図1に示すように、GET要求を、要求されたデータは?URLに、URLに付加し、分割されたデータ、パラメータ・接続する複数の伝送されます。代わりにunicldeエンコード形式の用途のASCIIをコードするURL、その後、符号化するすべての非ASCII文字の後に言うことです転送。

POSTリクエスト:データパケットを要求しますPOST要求がHTTP要求パケットのボディに配置されます。上記アイテム=帯鋸は、実際のデータ送信です。そのため、要求されたGETデータは、アドレスバーに公開され、POSTリクエストはしていません。

図2に示すように、データ送信のサイズ

HTTPの仕様では、URLの送信データの長さや大きさに制限はありません。しかし、実際の開発プロセスでは、GETのために、特定のブラウザとサーバは、URLの長さに制限があります。GETリクエストを使用する場合したがって、送信データは、URLの長さによって制限されます。

POSTの場合、URLは伝統的な価値観ではないので、理論的には、限定されないが、実際には各サーバーがPOSTのサイズを制限するために、データの提出が必要になりますは、Apache、IISは、独自の構成を有しています。

3、セキュリティ

セキュリティは、GET、POSTよりも高く、

 

29、会社で突然、あなたはトラブルシューティングを行う必要がある、訪問し、復元することはできませんテスト・システム(B / Sアーキテクチャ)を使用していた、あなたの検査方法を教えて

A:まず、サイトが直接ドメイン名を入力してアクセスすることはできません、ウェブサイトも通常の前に、突然アクセスできません

1.テストは、FTPが直接直接連絡質問である宇宙ビジネス宇宙ビジネスをログに記録しないよう求めてログインすることができます正常です。

アクセスは問題空間であってはならない場合2.は、サイトオープンするサイトにアクセスできるサードレベルドメインから寄贈された空間(ドメイン名空間を3に提示されている)を行います。

3.ポップアップするブラックボックスでは、コンピュータのCMDを実行するために、[スタート]メニューを入力します。入力します。pingドメイン名を、キーを押し、IPアドレスまたはホストのIPアドレスが一致していないかどうかを確認するために入力して、[DNSが正しくありませんドメイン名は再解決ドメイン名に持っています。

第二に、アクセスレポート404エラー(ページが見つかりません)。説明は、完全なプログラムを見て、サイトのコンテンツは、通常の手続きの問題です。

第三には、Webサイトがこのエラーは、データベース・リンクでのMySQLサーバーエラーが表示される訪れ、データベースおよびデータベース接続ファイルはエラーではありません表示します。

第四に、500エラー訪問ウェブサイトが表示されます。

1. FTPサイトが侵略されたことを示す多くの異常なまたは不足しているファイルは、すぐに生産拠点は、トラブルシューティングを実施した連絡どうかを確認するためにファイルにログインしてください。

2.宇宙計画とちょうど500エラーが発生した上にインストール逃すことなく、FTPのファイルやディレクトリの場合は、必ずスペースがSCANDIR()関数投入されていることを確認し、このビューは、機能を禁止されていません。

参考:https://www.cnblogs.com/shuiyelifang/p/5754411.html

おすすめ

転載: www.cnblogs.com/wx170119/p/12564138.html