簡単な紹介
まず、環境を準備
1.1 VSCodeのインストール、参照してくださいここでは、プラットフォームのダウンロードから直接インストールします。
1.2ヒノキインストール、参照本明細書
第二に、共通API
2.1サンプル
/// <基準タイプ= "サイプレス" />
DESCRIBE( 'サイプレスのための私の最初のテストケース'、機能(){
IT( 'ホームページとtesterhomeのための訪問のBaiduの検索:'、機能(){ cy.visit( 'http://www.baidu.com')/ / アクセスURLの cy.title()。(べき 'を含む'、 'Baiduの、あなたが知っている') // 認証ページのタイトルが正しい cy.get( '#kw') // CSSポジショニング検索入力ボックス応じ .TYPEを( 'testerhome') //は、キーワード入力 .should( 'have.value'、 'testerhome') // キーワードが自動的に正しい表示するかどうかを確認します cy.get( '#suを')。 クリック() // CSSが見つけ、検索ボタンをクリックしてくださいよる )(cy.url。べきです(「を含む」、「WD = testerhome」) // ターゲットURLがキーワード含まれている正しいことを確認し cy.titleを()。(べき「を含む」、「testerhome_ Baiduの検索」) // 認証ページのタイトルが正しい cy.get( '[ID =」1" ]' ) .should( '含む'、 'TesterHome') // 最初の結果はTesterHomeを含むかどうかを確認 cy.screenshotを() }) })
コードの説明:
- 参照はVSCodeはどこの解像度に関連するセマンティックサイプレスのパッケージを見つけるために言うつもり表し
- テストスイートを宣言記述する。
- それは、テストケースを宣言します。
- 各テストケースを実行する必要がある前にbeforeEach実行します。
- cy.get JS選択を受け付け、素子列を配置され、もちろん、サイプレス位置決めXPathをサポート
- それまでに、または、我々はvalue属性の機能を期待するbutton_start_searchかどうかによって判断され、最終的に次のステップに渡されることにより、button_start_search見つけるための更なる処理のために、オブジェクトは次のステップに渡される要素を取得し、できなければならないことは予想と一致しています。
2.2 断言
([])。to.be.a(期待 'アレイ')// 型決意 期待(AB).to.exist //属性は存在するかどうかを判断する (1).to.be.oneOf([1,2が期待します 、 3])//値が1であるか否かを判断する () 'テスト'。to.match期待 (/ ^テスト/)// 通常の試合 ...
2.3コール・インタフェース&モック
第三に、使用
3.1操作
左から右への成功、失敗、実行していない、時間がかかり、および自動スクロールボタンと再実行の数の数を示します
ユースケースの作成には、あなたが保存するたびに自動的にデバッグ用のテストをトリガすることはより便利であることに注意してください。
3.2コントロールの位置を取得します
1.タップ選択 - > 3生成されたコードのコピー - >位置決め要素2クリック
3.3レポートを生成する(JUnitの-アリュール)
cypress.jsonに追加依存:
"reporter": "junit",
"reporterOptions": {
"mochaFile": "results/my-test-output[hash].xml", // 通过hash 标签区分不同文件的用例结果
"toConsole": true
}
実行ヒノキの実行は、自動的にXMLファイルを生成すると
魅力を使用して対応するレポートを生成します。
// 生成allure 报告
allure generate results --clean
// 打开报告
allure open allure-report
3.4 CI / CD
利点:
- スピードはセレンよりも速く感じています。
- 内蔵のリクエストメソッドは、ログインUI層をスキップすることができますが、必要条件では、対応するログインインターフェースを呼び出すことができるということです。
- 手順が失敗した場合、自動的に再試行してください。これは、動作の安定性が向上します。
- 自動スクリーンショットが失敗します