點(diǎn)此獲取更多相關(guān)資料
簡(jiǎn)介
自動(dòng)化測(cè)試腳本可以模擬用戶(hù)與應(yīng)用程序的交互,例如點(diǎn)擊按鈕、輸入數(shù)據(jù)、導(dǎo)航到不同的頁(yè)面等等,以驗(yàn)證應(yīng)用程序的正確性、性能和穩(wěn)定性。
自動(dòng)化測(cè)試在回歸測(cè)試、冒煙測(cè)試等測(cè)試流程中都可以極大地起到節(jié)省時(shí)間、節(jié)省人力的作用,所以目前自動(dòng)化測(cè)試工程師,也是一個(gè)非常炙手可熱的崗位。
在編寫(xiě)自動(dòng)化測(cè)試的過(guò)程中,ChatGPT 可以作為一個(gè)非常好用的工具,極大提升編寫(xiě)效率。
實(shí)踐演練
在使用 ChatGPT 編寫(xiě)自動(dòng)化測(cè)試腳本的時(shí)候,提示詞最好明確相關(guān)的技術(shù)棧,這樣可以在生成的腳本基礎(chǔ)之上做對(duì)應(yīng)的修改。
- 提示詞:請(qǐng)幫我編寫(xiě)一個(gè)接口自動(dòng)化測(cè)試腳本,要求使用 Pytest + Requests 。只需要對(duì)響應(yīng)狀態(tài)碼完成斷言即可。
ChatGPT的響應(yīng)信息為:
import pytest
import requests
# 定義測(cè)試用例
def test_api_response_status_code():
# 設(shè)置API端點(diǎn)
api_url = "https://jsonplaceholder.typicode.com/posts/1"
# 發(fā)送GET請(qǐng)求
response = requests.get(api_url)
# 檢查響應(yīng)狀態(tài)碼是否為200 OK
assert response.status_code == 200
# 運(yùn)行測(cè)試
if __name__ == "__main__":
pytest.main(["-v", "test_api.py"])
- 提示詞:請(qǐng)幫我編寫(xiě)一個(gè) Web 自動(dòng)化測(cè)試腳本,要求使用 Pytest + Playwright。
ChatGPT的響應(yīng)信息為:
import pytest
from playwright.sync_api import sync_playwright
# 定義測(cè)試用例
def test_web_page_title():
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
# 打開(kāi)網(wǎng)頁(yè)
page.goto("https://example.com")
# 獲取頁(yè)面標(biāo)題
title = page.title()
# 檢查頁(yè)面標(biāo)題是否包含"Example Domain"
assert "Example Domain" in title
# 關(guān)閉瀏覽器
browser.close()
# 運(yùn)行測(cè)試
if __name__ == "__main__":
pytest.main(["-v", "test_web.py"])
- 請(qǐng)結(jié)合 Harmcrest 優(yōu)化斷言。
ChatGPT的響應(yīng)信息為:
import pytest
from playwright.sync_api import sync_playwright
from hamcrest import assert_that, contains_string
# 定義測(cè)試用例
def test_web_page_title():
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
# 打開(kāi)網(wǎng)頁(yè)
page.goto("https://example.com")
# 獲取頁(yè)面標(biāo)題
title = page.title()
# 使用Hamcrest斷言檢查頁(yè)面標(biāo)題是否包含"Example Domain"
assert_that(title, contains_string("Example Domain"))
# 關(guān)閉瀏覽器
browser.close()
# 運(yùn)行測(cè)試
if __name__ == "__main__":
pytest.main(["-v", "test_web.py"])
總結(jié)
1.寫(xiě)清楚需求:在要求ChatGPT編寫(xiě)自動(dòng)化測(cè)試腳本的時(shí)候,需要給它明確使用的技術(shù)棧,方便基于腳本做修改。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-745771.html
2.將復(fù)雜的任務(wù)拆分為更簡(jiǎn)單的子任務(wù)/系統(tǒng)地測(cè)試變化:通過(guò)多次提問(wèn),進(jìn)一步修正ChatGPT的回復(fù),直到滿(mǎn)足需求。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-745771.html
到了這里,關(guān)于軟件測(cè)試/測(cè)試開(kāi)發(fā)丨利用ChatGPT 生成自動(dòng)化測(cè)試腳本的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!