Selenium of Python 自動テスト インタビューの質問

ベース

Seleniumにはいくつかの種類の待機があります

  • 目に見えない待機/スマート待機 dr.implicitly_wait()
  • WebDriverWait の明示的な待機
  • time.sleep() を強制的に待機させる

Seleniumでのポジショニング方法は何ですか

8種類

  • 鬼ごっこ
  • 3 つの基本属性 id/name/class_name
  • リンク リンク テキスト/部分リンク テキスト
  • 高度な CSS セレクター/xpath

バレットボックスの扱い方

4 つの弾丸フレーム

  • div 箇条書きボックス、dom 箇条書きボックス、マスク ボックスを直接配置
  • アラート框 dr.swich_to.alert().dismiss()
  • 処理せずに新しいウィンドウがポップアップする/新しいウィンドウに切り替えてから閉じることもできます
  • BasicAuth認証ボックス dr.get( http://username:password@www ..)

フレームページはフレームの切り替えをどのように処理しますか

アップロードとダウンロードをテストする方法

  • 上传 <input type="file" style="display: none"> send_keys()
  • ダウンロードクリック
  • flash/ 非標準制御 デスクトップ 自動スクリプト生成 exe

不確かな時間の制御変更をテストする方法

ウェブドライバー待機

要素のスクリーンショットを撮る方法

elm.save_snapshot()

見つからない要素の処理方法

  • 寝る
  • ページがジャンプするかどうか、要素が表示されるかどうか、アラートがポップアップするかどうかを観察します
  • 要素がフレーム内にあるかどうか
  • 要素が新しいページにあるかどうか

ページ要素の変更に対処する方法

PageObject を使用する

Seleniumがフラッシュに遭遇する問題を解決する方法

pywinauto または他の GUI 自動化ツールを使用して exe を生成し、Selenium で実行します。

ページに動的にロードされた要素を見つける方法は?

  • 通常のビジネス プロセスを通じて要素の読み込みをトリガーし、操作する前にしばらく待ちます
  • JavaScript スクリプトを直接実行して要素をロードし、操作を実行する

属性が動的に変化する要素を見つける方法

それ以外は変更されていない属性を使用して配置されます。

インターフェイスのテストに Webdriver を使用できますか?

できない

Selenium は C/S モードをサポートしていますか

Selenium は、B/S モードのアプリケーションをサポートするブラウザ自動化テスト フレームワークです.C/S モードは一部のブラウザ ベースのアプリケーションのみをサポートし、通常は C/S モードをサポートしません.

認証コードの扱い方

  • バイパス
  • 臨時休業
  • ユニバーサルコード
  • データベースまたはログからフェッチ
  • インターフェイス ログイン バイパスの送信
  • 半自動手入力
  • 画像識別
  • AI ディープラーニング
  • コーディングにお金を使う

フレームパッケージ

UI フレームワークの階層化方法

フレームの設計方法

  • 経営管理
  • テスト スイート
  • ビジネス フロー ページ オブジェクトの組み合わせ、一般的に使用されるビジネス プロセス
  • PageObject ページ オブジェクト、ページ基本クラス
  • 実践方法データ読み込みデータベース操作ログメール送信自己カプセル化測位法

フレームワークを選択して組み合わせて構築する方法

  • 基本エンジン単体テスト、pytest、ロボット、httprunner、自作
  • データ選択 json/yaml、csv/excel、データベース、conf
  • 構成ファイル conf/ini py xml

ログアウトしたらどうすればいいですか?

  • ログイン頻度を上げる
  • ユースケースを実行する前に、状態を確認します
  • 再試行の失敗とログイン

テスト ケース間の依存関係の処理

  • 依存関係を持つことはお勧めしません
  • 実行順序を保証する
  • 同時実行時にユース ケース スイートの単位で実行する

webdriver例外の対処方法、シーンを復元して結果を記録する方法

  • ログとその時の環境情報を記録する
  • リアルタイムのスクリーンショットと保存画面の記録 (docker+zalenium の使用など)
  • テスト ケースが失敗した後に自動的に再実行する (pytest-rerunfailures の使用など)
  • サブプロセスを使用して実行し、サブプロセスの終了コードを記録します
  • 最後の実行結果をキャッシュする

ゴミデータの扱い方

  • テスト環境でSQLを実行
  • 実稼働環境はインターフェースを要求するか、UI ステップを実行します

実例

光学理論は役に立たないので、従うことを学ばなければならず、学んだことを実践に適用できるように、自分でやらなければなりません.このとき、いくつかの実践的なケースから学ぶことができます.

お役に立ちましたら、いいねやコレクションをお願いします。次回からすぐに見つけられるのも便利です。

理解できない場合は、下の小さなカードを参照してください. ブロガーはまた、志を同じくするテスターと一緒に学び、進歩することを望んでいます.

適切な年齢で、適切なポジションを選択し、自分の利点を最大限に発揮するようにしてください。

私の自動テスト開発の道のりは、途中の各段階の計画と切り離すことはできません。計画と要約が好きだからです。

ビデオ チュートリアルのテストと開発、ノートの学習、ポータルの受信を行います。! !

おすすめ

転載: blog.csdn.net/m0_59868866/article/details/130487247