mirror of
https://github.com/httprunner/httprunner.git
synced 2026-09-04 23:16:57 +08:00
example: add romantic_restaurant
This commit is contained in:
@@ -0,0 +1,88 @@
|
|||||||
|
{
|
||||||
|
"config": {
|
||||||
|
"name": "浪漫餐厅小游戏自动化测试",
|
||||||
|
"variables": {
|
||||||
|
"package_name": "com.ss.android.ugc.aweme"
|
||||||
|
},
|
||||||
|
"ai_options": {
|
||||||
|
"llm_service": "doubao-1.5-thinking-vision-pro-250428"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"teststeps": [
|
||||||
|
{
|
||||||
|
"name": "启动抖音 app",
|
||||||
|
"android": {
|
||||||
|
"os_type": "android",
|
||||||
|
"actions": [
|
||||||
|
{
|
||||||
|
"method": "app_launch",
|
||||||
|
"params": "$package_name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "sleep",
|
||||||
|
"params": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"validate": [
|
||||||
|
{
|
||||||
|
"check": "ui_foreground_app",
|
||||||
|
"assert": "equal",
|
||||||
|
"expect": "$package_name",
|
||||||
|
"msg": "app [$package_name] should be in foreground"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "进入「浪漫餐厅」小游戏",
|
||||||
|
"android": {
|
||||||
|
"os_type": "android",
|
||||||
|
"actions": [
|
||||||
|
{
|
||||||
|
"method": "start_to_goal",
|
||||||
|
"params": "搜索「浪漫餐厅」,进入小游戏",
|
||||||
|
"options": {
|
||||||
|
"pre_mark_operation": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"validate": [
|
||||||
|
{
|
||||||
|
"check": "ui_ai",
|
||||||
|
"assert": "ai_assert",
|
||||||
|
"expect": "当前位于游戏界面",
|
||||||
|
"msg": "assert ai prompt [当前位于游戏界面] failed"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "开始游戏",
|
||||||
|
"android": {
|
||||||
|
"os_type": "android",
|
||||||
|
"actions": [
|
||||||
|
{
|
||||||
|
"method": "start_to_goal",
|
||||||
|
"params": "浪漫餐厅是一款经营类游戏,以下是游戏的基本规则说明:\n1、点击右下角锅铲,开始任务\n2、将棋子拖拽至相同棋子,可升级生成新棋子\n3、拖拽相同棋子时,被部分遮挡的棋子只能作为拖拽终点,不能作为拖拽起点\n4、当游戏界面中没有相同棋子时,可以点击游戏页面中央的购物袋生成新的棋子\n5、若不知道如何操作,请按照游戏指引进行游玩\n\n请严格按照以上游戏规则,开始游戏\n",
|
||||||
|
"options": {
|
||||||
|
"timeout": 300,
|
||||||
|
"pre_mark_operation": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "退出抖音 app",
|
||||||
|
"android": {
|
||||||
|
"os_type": "android",
|
||||||
|
"actions": [
|
||||||
|
{
|
||||||
|
"method": "app_terminate",
|
||||||
|
"params": "$package_name"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
package game_romantic_restaurant
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
|
hrp "github.com/httprunner/httprunner/v5"
|
||||||
|
"github.com/httprunner/httprunner/v5/uixt/option"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestGameRomanticRestaurant(t *testing.T) {
|
||||||
|
userInstruction := `浪漫餐厅是一款经营类游戏,以下是游戏的基本规则说明:
|
||||||
|
1、点击右下角锅铲,开始任务
|
||||||
|
2、将棋子拖拽至相同棋子,可升级生成新棋子
|
||||||
|
3、拖拽相同棋子时,被部分遮挡的棋子只能作为拖拽终点,不能作为拖拽起点
|
||||||
|
4、当游戏界面中没有相同棋子时,可以点击游戏页面中央的购物袋生成新的棋子
|
||||||
|
5、若不知道如何操作,请按照游戏指引进行游玩
|
||||||
|
|
||||||
|
请严格按照以上游戏规则,开始游戏
|
||||||
|
`
|
||||||
|
testCase := &hrp.TestCase{
|
||||||
|
Config: hrp.NewConfig("浪漫餐厅小游戏自动化测试").
|
||||||
|
SetLLMService(option.DOUBAO_1_5_THINKING_VISION_PRO_250428).
|
||||||
|
WithVariables(map[string]interface{}{
|
||||||
|
"package_name": "com.ss.android.ugc.aweme",
|
||||||
|
}),
|
||||||
|
TestSteps: []hrp.IStep{
|
||||||
|
hrp.NewStep("启动抖音 app").
|
||||||
|
Android().
|
||||||
|
AppLaunch("$package_name").
|
||||||
|
Sleep(5).
|
||||||
|
Validate().
|
||||||
|
AssertAppInForeground("$package_name"),
|
||||||
|
hrp.NewStep("进入「浪漫餐厅」小游戏").
|
||||||
|
Android().
|
||||||
|
StartToGoal("搜索「浪漫餐厅」,进入小游戏",
|
||||||
|
option.WithPreMarkOperation(true)).
|
||||||
|
Validate().
|
||||||
|
AssertAI("当前位于游戏界面"),
|
||||||
|
hrp.NewStep("开始游戏").
|
||||||
|
Android().
|
||||||
|
StartToGoal(userInstruction,
|
||||||
|
option.WithPreMarkOperation(true),
|
||||||
|
option.WithTimeout(300)), // 5 minutes
|
||||||
|
hrp.NewStep("退出抖音 app").
|
||||||
|
Android().
|
||||||
|
AppTerminate("$package_name"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
err := testCase.Dump2JSON("game_romantic_restaurant.json")
|
||||||
|
require.Nil(t, err)
|
||||||
|
|
||||||
|
// err = hrp.NewRunner(t).Run(testCase)
|
||||||
|
// assert.Nil(t, err)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user