日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cypress测试脚本_Cypress 自动化测试学习使用

發布時間:2023/12/2 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cypress测试脚本_Cypress 自动化测试学习使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

安裝

mkdir cypress-start

npm install

# 進入創建的項目目錄

cd /your/project/path

cd cypress-start

npm install cypress --save-dev

yarn add

cd /your/project/path

cd cypress-start

yarn add cypress --dev

打開運行cpress

./node_modules/.bin/cypress open

或者使用npm bin

$(npm bin)/cypress open

或者使用npx

npx cypress open

或者使用yarn

yarn run cypress open

開始使用

創建一個sample_spec.js文件.

查看 Cypress 更新我們的spec文件列表.

登錄 Cypress 交互模式.

在 cypress/integration 目錄下創建一個新的文件

touch {your_project}/cypress/integration/sample_spec.js

一旦我們創建了這個文件,Cypress測試引擎會立馬在Integration Tests列表中顯示出來。Cypress會監視你的spec文件,有任何的修改和更新都會立馬顯示出來。

即使我們還沒有寫任何的測試也沒有關系。點擊sample_spec.js,我們會看到Cypress會自動打開瀏覽器并運行測試腳本。不過此時會看到

No tests found in your file:/usr/local/proj/cypress-start/cypress/integration/sample\_spec.js的提示。

編寫一個簡單的測試

編寫第一個通過的測試.

編寫第一個失敗的測試.

關注 Cypress 實時加載.

在sample_spec.js文件中書寫如下代碼:

describe('My First Test', function() {

it('Does not do much!', function() {

expect(true).to.equal(true)

})

})

當你保存文件之后會發現,瀏覽器自動重新加載了。立馬就會呈現出測試的結果。

盡管我們沒有做一些實際的事情,但是這個測試是通過的。

接下來讓我們來編寫第一個失敗的測試。

describe('My First Test', function() {

it('Does not do much!', function() {

expect(true).to.equal(false)

})

})

同樣的,一旦我們保存文件,瀏覽器立馬就會刷新并呈現出一個成功和一個失敗的測試結果。

從代碼語法中我們能看出來

describe和it來自Mocha

expect來自Chai

這是Cypress所依賴庫的一部分。

寫一個實際的測試用例

通常測試都分三個階段:

設置應用的狀態.

做一些動作.

斷言當前應用的狀態.

通俗來說就是我們設置應用的一個初識狀態,然后我們做一些操作來改變這個狀態值,然后再來判斷結果是不是跟我們預期的一樣。

接下來我們根據以下幾個步驟,通過Cypress來逐步實現:

訪問一個網頁。

查找網頁上的一個元素。

對這個元素進行操作。

斷言頁面的內容。

第 1 步: 訪問一個網頁

cy.visit() 的使用很簡單,我們以訪問百度首頁為例:

describe('My First Test', function() {

it('Visits the baidu', function() {

//? ?cy.visit('https://example.cypress.io')

cy.visit('http://www.baidu.com')

})

})

保存文件之后打開Cypress Test Runner就會發現,瀏覽器里會自動打開百度首頁。需要值得注意的是我們的測試,最好是對我們可控的網站進行測試。

第 2 步: 查詢頁面元素

使用contains來查找包含參數內容的元素:

describe('My First Test', function() {

it('Visits the baidu', function() {

cy.visit('http://www.baidu.com');

cy.contains('百度一下');

})

})

我們會發現測試通過了。如果我們把cy.contains('百度一下')修改為cy.contains('百度一下XXX')保存文件,就會發現等待一段時間之后提示測試失敗。

第 3 步: 點擊一個元素

我們在第二步已經獲取到了一個元素,只需要在該元素上進行點擊操作即可:

describe('My First Test', function() {

it('Visits the baidu', function() {

cy.visit('http://www.baidu.com');

cy.contains('百度一下').click();

})

})

由于百度首頁的百度一下按鈕在輸入框沒有輸入任何值得時候點擊,頁面只是會重新加載一下,沒有其他的改變,所以不太好進行斷言。所以我們希望在輸入框中輸入一些內容,然后再點擊按鈕,最后再進行斷言。

第 4 步: 進行斷言

由于百度首頁的百度一下按鈕在輸入框沒有輸入任何值得時候點擊,頁面只是會重新加載一下,沒有其他的改變,所以不太好進行斷言。所以我們希望在輸入框中輸入一些內容,然后再點擊按鈕,最后再進行斷言。

describe('My First Test', function() {

it('Visits the baidu', function() {

cy.visit('http://www.baidu.com');

cy.get('#kw').should(($kw) => {

$kw.val('cypress')

});

cy.contains('百度一下').click();

cy.url().should('include', '/s?');

})

})

另外可以對輸入框單獨的進行斷言。通過調用type方法來對獲取到的輸入框進行值的填充。

describe('My First Test', function() {

it('Visits the baidu', function() {

cy.visit('http://www.baidu.com');

cy.get('#kw')

.type('cypress')

.should('have.value', 'cypress');

})

})

以上就是一個簡單的測試用例。

個人認為Cypress比較好的地方在于可調試性非常之好。Time travel、Snapshots、Page events、Console output這些都能夠在Cypress 打開的瀏覽器左側看到。以上只是一些簡單的使用。需要進行深入了解的話查閱官方文檔

本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系博為峰小編(021-64471599-8017),我們將立即處理

總結

以上是生活随笔為你收集整理的cypress测试脚本_Cypress 自动化测试学习使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。