Tôi là Rahul Shetty - giảng viên QA với 15 năm kinh nghiệm với hơn 600.000 học viên QA từ 195 quốc gia trong các khóa học của tôi về Selenium, Kiểm thử phần mềm [Jira], Kiểm tra API, Cypress, Postman, Appium, Playwright, JMeter, v.v.
Tôi cũng là Giảng viên chính tại Nền tảng công nghệ giáo dục QA hàng đầu [Học viện Rahul Shetty], nơi tôi đã giúp hàng trăm nghìn sinh viên học cách kiểm tra, tự động hóa và thay đổi cuộc sống của họ bằng cách trở thành Kỹ sư tự động hóa
Mọi QA Professional đều có mong muốn được học các khóa học về Automation theo xu hướng nhưng không hiểu sao 90% trong số họ lại bó tay
Đó không phải là do thị trường thiếu các khóa học, mà là tìm được người cố vấn phù hợp có thể hướng dẫn, giảng dạy và hiểu được nhịp đập của học viên bằng nền tảng giáo dục của họ
Bản thân là một kỹ sư QA với gần hai thập kỷ kinh nghiệm trong ngành kiểm thử phần mềm, tôi hiểu tư duy của QA, cách chúng ta học tốt nhất và dựa trên kiến thức và kinh nghiệm đó, tôi đã xây dựng các khóa học của mình một cách chiến lược để sinh viên của tôi nhận được lợi ích và sự nghiệp tối đa . Tôi tin rằng tôi đã bẻ khóa "công thức" để dạy các kỹ năng kiểm thử tự động hóa và tôi thực sự rất vui mừng được chia sẻ kiến thức chuyên môn của mình với bạn. Tôi có thể tự tin nói rằng các khóa học trực tuyến của tôi chắc chắn là những khóa học toàn diện nhất trên thị trường
Khi tham gia các khóa học của tôi, bạn không chỉ nhận được những tài liệu học tập thiết thực nhất, cập nhật nhất, phù hợp với công việc mà còn được tiếp cận với một người cố vấn suốt đời, người đã tác động và nâng tầm sự nghiệp của hàng trăm nghìn kỹ sư QA như Bạn
Không ngày nào tôi không nhận được email thành công của sinh viên từ khắp nơi trên thế giới về việc tìm được một công việc mới, các khóa học của tôi đã thay đổi cuộc sống và sự nghiệp của họ tốt hơn như thế nào và họ được tôn trọng và đánh giá cao như thế nào tại nơi làm việc sau khi đạt được thành tựu mới.
Thử nghiệm API liên quan đến việc thử nghiệm trực tiếp các giao diện lập trình ứng dụng [API] và là một phần của thử nghiệm tích hợp để xác định xem chúng có đáp ứng mong đợi về chức năng, độ tin cậy, hiệu suất và bảo mật hay không. Vì các API thiếu GUI nên việc kiểm tra API được thực hiện ở lớp thông báo. Thử nghiệm API rất quan trọng để tự động hóa thử nghiệm vì API hiện đóng vai trò là giao diện chính cho logic ứng dụng và vì các thử nghiệm GUI khó duy trì với chu kỳ phát hành ngắn và các thay đổi thường xuyên thường được sử dụng với phát triển phần mềm Agile và DevOps
Trong blog này, chúng tôi sẽ trình bày cách bạn có thể thiết kế khung tự động hóa để kiểm tra API bằng python
điều kiện tiên quyết
- Kiến thức làm việc về kịch bản Python
- Kiến thức làm việc về API đang được thử nghiệm
- IDE PyCharm
- PyTest
Thiết lập dự án
Đầu tiên, chúng ta sẽ cần tạo một dự án Python mới với PyCharm. Nếu bạn đã biết về cách tạo Dự án Python bằng PyCharm, vui lòng chuyển sang phần tiếp theo. Hoặc bạn có thể tham khảo hướng dẫn này về cách thiết lập dự án Python đầu tiên của mình với PyCharm
https. //www. phản lực. com/help/pycharm/creating-and-running-your-first-python-project. html
Viết test case
Như bây giờ bạn đã thiết lập dự án python của mình với Pycharm, hãy tạo một tệp python mới nơi chúng tôi sẽ thêm các trường hợp thử nghiệm của mình
Vui lòng tạo một tệp python mới trong dự án của bạn. Hãy đặt tên cho nó là “test_apitest. py”. Lưu ý “test_” trong tên tệp của bạn. Đây là theo các quy tắc cho PyTest. Chúng tôi sẽ chạy thử nghiệm bằng cách sử dụng khung thử nghiệm sẵn có của Python có tên là PyTest. PyTest chọn tất cả các tệp python đó trong dự án của bạn bắt đầu bằng “test_” để thực hiện kiểm tra
Trong “test_apitest. py”, câu lệnh đầu tiên của chúng ta sẽ là
import requests
“yêu cầu” là mô-đun sẵn có của python được sử dụng để gửi yêu cầu http đến máy chủ. Chúng tôi sẽ sử dụng mô-đun này để gửi yêu cầu tới API của chúng tôi và ghi lại phản hồi
Bây giờ, đối với hướng dẫn này, chúng tôi sẽ sử dụng API thử nghiệm mẫu có sẵn trực tuyến. https. // yêu cầu. trong/api
Chúng tôi sẽ gửi yêu cầu đến các điểm cuối được xác định trong API này
Vui lòng sao chép và dán đoạn mã sau vào “test_apitest” của bạn. tập tin py
import requests def test_api_get[]: resp = requests.get["//reqres.in/api/users?page=2"] assert [resp.status_code == 200], "Status code is not 200. Rather found : " + str[resp.status_code] for record in resp.json[]['data']: if record['id'] == 4: assert record['first_name'] == "Eve",\ "Data not matched! Expected : Eve, but found : " + str[record['first_name']] assert record['last_name'] == "Holt",\ "Data not matched! Expected : Holt, but found : " + str[record['last_name']] def test_api_post[]: data = {'name': 'John', 'job': 'QA'} resp = requests.post[url="//reqres.in/api/users", data=data] data = resp.json[] assert [resp.status_code == 201], "Status code is not 201. Rather found : "\ + str[resp.status_code] assert data['name'] == "John", "User created with wrong name. \ Expected : John, but found : " + str[data['name']] assert data['job'] == "QA", "User created with wrong job. \ Expected : QA, but found : " + str[data['name']]
yêu cầu nhập khẩu
Sử dụng câu lệnh này, chúng tôi đang nhập mô-đun yêu cầu của python trong dự án của mình
resp = yêu cầu. nhận[“https. // yêu cầu. in/api/users?page=2”]
Câu lệnh này là một phần của phương thức test_api_get[], đây là một trong những trường hợp thử nghiệm của chúng tôi để kiểm tra phương thức GET của API đang được thử nghiệm. yêu cầu. Phương thức get[] gửi một yêu cầu http GET tới URL đã cho và trả về đối tượng phản hồi chứa tất cả dữ liệu phản hồi từ yêu cầu GET và lưu nó vào biến “resp”
khẳng định [tương ứng. status_code == 200], “Mã trạng thái không phải là 200. thay vì tìm thấy. ” + str[tương ứng. status_code]
khẳng định được sử dụng ở định dạng PyTest để đặt một xác nhận cho một điều kiện. Điều kiện ở đây là kiểm tra mã phản hồi của yêu cầu GET. Chúng tôi có thể tìm nạp mã phản hồi đã truy xuất bằng cách sử dụng “resp. status_code”. Ở đây chúng tôi đang kiểm tra xem mã phản hồi được trả về có phải là 200 hay không và nếu không, chúng tôi sẽ in một thông báo cho xác nhận không thành công
để ghi lại. json[][‘dữ liệu’]
Ở đây, chúng tôi đang chuyển đổi đối tượng phản hồi của mình thành cú pháp JSON bằng cách sử dụng resp. phương thức json[]. Và sau đó điều hướng json bằng cách sử dụng các thực thể của nó để tìm dữ liệu mà chúng tôi muốn đưa ra xác nhận. Một vài dòng tiếp theo là các xác nhận khác nhau mà chúng tôi đã sử dụng để xác minh dữ liệu phản hồi
resp = yêu cầu. bài đăng[url=”https. // yêu cầu. trong/api/người dùng”, dữ liệu=dữ liệu]
Câu lệnh này là một phần của phương thức test_api_post[], đây là trường hợp thử nghiệm để kiểm tra phương thức POST của API đang được thử nghiệm. yêu cầu. phương thức post[url, data] được sử dụng để gửi một yêu cầu http POST tới URL đã cho có đính kèm dữ liệu JSON. Và đối tượng phản hồi sẽ được ghi vào biến resp
dữ liệu = phản hồi. json[]
Ở đây chúng tôi đang chuyển đổi đối tượng phản hồi của mình thành dữ liệu JSON và lưu trữ JSON kết quả thành biến dữ liệu. Một số câu lệnh tiếp theo là các xác nhận mà chúng tôi đã áp dụng cho dữ liệu JSON phản hồi
Chạy các trường hợp thử nghiệm
Chạy các trường hợp thử nghiệm bằng Pytest rất đơn giản và dễ dàng. Bạn chỉ cần điều hướng đến thư mục gốc của dự án bằng dòng lệnh [CMD] và chạy lệnh sau
> pytest
Lệnh này sẽ bắt đầu thực thi tất cả các tệp thử nghiệm bắt đầu bằng “test_” và tất cả các phương thức bên trong các tệp này bắt đầu bằng “test_”. Đây là cách pytest hoạt động. Chờ thực hiện. Khi các trường hợp thử nghiệm được thực thi, bạn sẽ thấy một đầu ra như thế này
========================== test session starts ======================== platform win32 -- Python 3.7.3, pytest-4.6.3, py-1.8.0, pluggy-0.12.0 rootdir: plugins: html-1.20.0, metadata-1.8.0 collected 2 items test_apitest.py .. [100%] ============================ 2 passed in 3.50 seconds =================
Điều này có nghĩa là 2 trường hợp thử nghiệm của bạn đã vượt qua thành công. Giờ đây, bạn có thể thêm các trường hợp thử nghiệm và xác nhận của riêng mình để tự động hóa các trường hợp thử nghiệm API của mình
Hy vọng bài viết này sẽ giúp bạn bắt đầu thử nghiệm tự động hóa API bằng Python. Hãy chia sẻ bình luận của bạn dưới đây cho bất kỳ mối quan tâm
thử nghiệm vui vẻ
ThẻTự động hóa API, Tự động hóa API bằng công cụ mã nguồn mở, Tự động hóa API bằng python, kiểm thử tự động, Python, kiểm thử QA, kiểm thử QA phần mềm, kiểm thử phần mềm, dịch vụ kiểm thử phần mềm, công cụ kiểm thử
Chia sẻ
Giải pháp CNTT Fleek[email được bảo vệ]
Fleek IT Solutions là một công ty kiểm thử phần mềm độc lập hàng đầu chuyên cung cấp các dịch vụ kiểm thử phần mềm độc lập và khách quan cho các tổ chức và công ty sản phẩm toàn cầu