1. 登录获取商品列表的简单接口定义
定义已经登陆获取商品列表的接口,包括商品的图片,标题,详情,价格,评论和推荐等。
POST",
"data": {
"user_id": "123456",
"ticket_list": [
{
"ticket_id": "10001",
"image": "https://example.com/ticket1.jpg",
"title": "Test Ticket",
"price": "100",
"description": "This is a test ticket.",
"rating": 4,
"comments": [
{
"author": "user1",
"content": "This is a great ticket.",
"rating": 5
},
{
"author": "user2",
"content": "This is a bad ticket.",
"rating": 2
}
],
"recommendations": [
{
"author": "recommender1",
"content": "This is a recommended ticket.",
"rating": 4
},
{
"author": "recommender2",
"content": "This is a recommended ticket.",
"rating": 3
}
]
},
{
"ticket_id": "10002",
"image": "https://example.com/ticket2.jpg",
"title": "Test Ticket",
"price": "200",
"description": "This is a test ticket.",
"rating": 3,
"comments": [
{
"author": "user1",
"content": "This is a great ticket.",
"rating": 5
},
{
"author": "user2",
"content": "This is a bad ticket.",
"rating": 2
}
],
"recommendations": [
{
"author": "recommender1",
"content": "This is a recommended ticket.",
"rating": 4
},
{
"author": "recommender2",
"content": "This is a recommended ticket.",
"rating": 3
}
]
}
]
}
这个接口的 data 参数是一个包含 ticket_list 属性的列表,每个 ticket_list 对象包含多个属性,包括商品的 ticket_id、图片 URL、标题、详情、价格、评论和推荐。这些属性用于获取商品信息,并将其存储在 ticket_list 对象中,最终返回给用户。
2. 针对商品列表接口编写测试用例python
import requests
from bs4 import BeautifulSoup
import unittest
class TestTicketList(unittest.TestCase):
def setUp(self):
self.base_url = "https://example.com"
self.user_id = "123456"
self.ticket_list = []
def test_get_ticket_list(self):
response = requests.get(f"{self.base_url}/ticket-list")
self.assertEqual(response.status_code, 200)
soup = BeautifulSoup(response.text, "html.parser")
self.assertIn("ticket-list", soup.html)
self.assertIn("user-id", soup.html)
self.assertIn("ticket-list", soup.html)
def test_add_ticket_to_cart(self):
response = requests.post(f"{self.base_url}/ticket-cart", data={
"ticket_id": "10001",
"quantity": 1,
"price": "100"
})
self.assertEqual(response.status_code, 200)
soup = BeautifulSoup(response.text, "html.parser")
self.assertIn("ticket-id", soup.html)
self.assertIn("quantity", soup.html)
self.assertIn("price", soup.html)
def test_get_ticket_details(self):
response = requests.get(f"{self.base_url}/ticket/10001")
self.assertEqual(response.status_code, 200)
soup = BeautifulSoup(response.text, "html.parser")
self.assertIn("title", soup.html)
self.assertIn("description", soup.html)
self.assertIn("price", soup.html)
self.assertIn("rating", soup.html)
self.assertIn("comments", soup.html)
def test_add_to_recommendations(self):
response = requests.post(f"{self.base_url}/recommendations", data={
"author": "user1",
"content": "This is a recommended ticket.",
"rating": 5
})
self.assertEqual(response.status_code, 200)
soup = BeautifulSoup(response.text, "html.parser")
self.assertIn("author", soup.html)
self.assertIn("content", soup.html)
self.assertIn("rating", soup.html)
def tearDown(self):
self.ticket_list.clear()
这些测试用例涵盖了接口的基本功能,包括获取商品列表、添加商品到购物车、获取商品详细信息和将商品添加到推荐。