Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
b951fed7
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
6006
Star
91
Fork
164
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
18
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello uni-app x
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
18
Issue
18
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
b951fed7
编写于
8月 12, 2024
作者:
zhaofengliang920817
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加getLocation示例的自动化脚本测试。
上级
46d418ce
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
400 addition
and
199 deletion
+400
-199
pages/API/get-location/get-location.test.js
pages/API/get-location/get-location.test.js
+170
-0
pages/API/get-location/get-location.uvue
pages/API/get-location/get-location.uvue
+230
-199
未找到文件。
pages/API/get-location/get-location.test.js
0 → 100644
浏览文件 @
b951fed7
const
PAGE_PATH
=
"
/pages/API/get-location/get-location
"
;
const
platformInfo
=
process
.
env
.
uniTestPlatformInfo
.
toLocaleLowerCase
()
const
isAndroid
=
platformInfo
.
startsWith
(
'
android
'
)
const
isIos
=
platformInfo
.
startsWith
(
'
ios
'
)
const
isApp
=
isAndroid
||
isIos
const
isWeb
=
platformInfo
.
startsWith
(
'
web
'
)
describe
(
"
get-location
"
,
()
=>
{
beforeAll
(
async
()
=>
{
page
=
await
program
.
reLaunch
(
PAGE_PATH
)
await
page
.
waitFor
(
600
)
});
//system 定位
it
(
"
system+type=wgs84+success
"
,
async
()
=>
{
await
page
.
setData
({
jest_provider
:
'
system
'
,
jest_type
:
'
wgs84
'
,
jest_isAltitude
:
true
,
jest_isGeocode
:
false
,
jest_isHighAccuracy
:
false
})
await
page
.
callMethod
(
'
jestGetLocation
'
)
await
page
.
waitFor
(
async
()
=>
{
return
await
page
.
data
(
'
jest_complete
'
)
===
true
;
});
const
data
=
await
page
.
data
()
const
jest_errCode
=
data
[
'
jest_errCode
'
]
if
(
jest_errCode
>
0
)
{
expect
((
await
page
.
data
())[
'
jest_errCode
'
]).
toEqual
(
expect
.
any
(
Number
));
}
else
{
//判断经纬度是否在正常范围
expect
((
await
page
.
data
())[
'
jest_longitude
'
]).
toBeGreaterThanOrEqual
(
-
180
);
expect
((
await
page
.
data
())[
'
jest_longitude
'
]).
toBeLessThanOrEqual
(
180
);
expect
((
await
page
.
data
())[
'
jest_latitude
'
]).
toBeGreaterThanOrEqual
(
-
90
);
expect
((
await
page
.
data
())[
'
jest_latitude
'
]).
toBeLessThanOrEqual
(
90
);
//判断海拔是否正确
expect
((
await
page
.
data
())[
'
jest_altitude
'
]).
toEqual
(
expect
.
any
(
Number
));
expect
((
await
page
.
data
())[
'
jest_altitude
'
]).
not
.
toEqual
(
'
0
'
);
}
});
//system 定位
it
(
"
system+type=wgs84+success+geocode=true
"
,
async
()
=>
{
await
page
.
setData
({
jest_provider
:
'
system
'
,
jest_type
:
'
wgs84
'
,
jest_isAltitude
:
true
,
jest_isGeocode
:
true
,
jest_isHighAccuracy
:
false
})
await
page
.
callMethod
(
'
jestGetLocation
'
)
await
page
.
waitFor
(
async
()
=>
{
return
await
page
.
data
(
'
jest_complete
'
)
===
true
;
});
const
data
=
await
page
.
data
()
const
jest_errCode
=
data
[
'
jest_errCode
'
]
if
(
jest_errCode
>
0
)
{
if
(
isIos
)
{
expect
((
await
page
.
data
())[
'
jest_errCode
'
]).
toEqual
(
1505603
);
}
else
if
(
isAndroid
)
{
expect
((
await
page
.
data
())[
'
jest_errCode
'
]).
toEqual
(
1505700
);
}
else
{
expect
((
await
page
.
data
())[
'
jest_errCode
'
]).
toEqual
(
expect
.
any
(
Number
));
}
}
});
//system 定位
it
(
"
system+type=wgs84+success+altitude=false
"
,
async
()
=>
{
await
page
.
setData
({
jest_provider
:
'
system
'
,
jest_type
:
'
wgs84
'
,
jest_isAltitude
:
false
,
jest_isGeocode
:
true
,
jest_isHighAccuracy
:
false
})
await
page
.
callMethod
(
'
jestGetLocation
'
)
await
page
.
waitFor
(
async
()
=>
{
return
await
page
.
data
(
'
jest_complete
'
)
===
true
;
});
const
data
=
await
page
.
data
()
const
jest_errCode
=
data
[
'
jest_errCode
'
]
if
(
jest_errCode
>
0
)
{
//如果定位出错
expect
((
await
page
.
data
())[
'
jest_errCode
'
]).
toEqual
(
expect
.
any
(
Number
));
}
else
{
expect
((
await
page
.
data
())[
'
jest_altitude
'
]).
toEqual
(
'
0
'
);
}
});
//system 定位
it
(
"
system+type=gcj02+fail
"
,
async
()
=>
{
await
page
.
setData
({
jest_provider
:
'
system
'
,
jest_type
:
'
gcj02
'
,
jest_isAltitude
:
true
,
jest_isGeocode
:
true
,
jest_isHighAccuracy
:
false
})
await
page
.
callMethod
(
'
jestGetLocation
'
)
await
page
.
waitFor
(
async
()
=>
{
return
await
page
.
data
(
'
jest_complete
'
)
===
true
;
});
expect
((
await
page
.
data
())[
'
jest_errCode
'
]).
toEqual
(
1505601
);
});
//tencent 定位
it
(
"
tencent+type=gcj02+success
"
,
async
()
=>
{
await
page
.
setData
({
jest_provider
:
'
tencent
'
,
jest_type
:
'
gcj02
'
,
jest_isAltitude
:
true
,
jest_isGeocode
:
true
,
jest_isHighAccuracy
:
true
})
await
page
.
callMethod
(
'
jestGetLocation
'
)
await
page
.
waitFor
(
async
()
=>
{
return
await
page
.
data
(
'
jest_complete
'
)
===
true
;
});
const
data
=
await
page
.
data
()
const
jest_errCode
=
data
[
'
jest_errCode
'
]
if
(
jest_errCode
>
0
)
{
//如果定位出错
expect
((
await
page
.
data
())[
'
jest_errCode
'
]).
toEqual
(
expect
.
any
(
Number
));
}
else
{
//判断逆地理编码是否正确
expect
((
await
page
.
data
())[
'
jest_address
'
]).
toEqual
(
expect
.
any
(
String
));
//判断经纬度是否在正常范围
expect
((
await
page
.
data
())[
'
jest_longitude
'
]).
toBeGreaterThanOrEqual
(
-
180
);
expect
((
await
page
.
data
())[
'
jest_longitude
'
]).
toBeLessThanOrEqual
(
180
);
expect
((
await
page
.
data
())[
'
jest_latitude
'
]).
toBeGreaterThanOrEqual
(
-
90
);
expect
((
await
page
.
data
())[
'
jest_latitude
'
]).
toBeLessThanOrEqual
(
90
);
//判断海拔是否正确
expect
((
await
page
.
data
())[
'
jest_altitude
'
]).
toEqual
(
expect
.
any
(
Number
));
expect
((
await
page
.
data
())[
'
jest_altitude
'
]).
not
.
toEqual
(
'
0
'
);
}
});
//tencent 定位
it
(
"
tencent+type=wgs84+fail
"
,
async
()
=>
{
await
page
.
setData
({
jest_provider
:
'
tencent
'
,
jest_type
:
'
wgs84
'
,
jest_isAltitude
:
true
,
jest_isGeocode
:
true
,
jest_isHighAccuracy
:
true
})
await
page
.
callMethod
(
'
jestGetLocation
'
)
await
page
.
waitFor
(
async
()
=>
{
return
await
page
.
data
(
'
jest_complete
'
)
===
true
;
});
if
(
isApp
)
{
expect
((
await
page
.
data
())[
'
jest_errCode
'
]).
toEqual
(
1505607
);
}
});
});
pages/API/get-location/get-location.uvue
浏览文件 @
b951fed7
...
...
@@ -79,7 +79,18 @@
] as ItemType[],
providerList: [] as LocationItem[],
current: 0,
currentProvider: 0
currentProvider: 0,
jest_provider: String,
jest_type: String,
jest_isAltitude: Boolean,
jest_isGeocode: Boolean,
jest_isHighAccuracy: Boolean,
jest_altitude: Number,
jest_longitude: Number,
jest_latitude: Number,
jest_address: String,
jest_errCode: Number,
jest_complete: Boolean
}
},
onLoad: function () {
...
...
@@ -177,24 +188,44 @@
geocode: this.geocodeSelect,
success: (res : any) => {
uni.hideLoading()
console.log(res);
this.exeRet = JSON.stringify(res)
},
fail: (res : any) => {
uni.hideLoading()
console.log(res);
this.exeRet = JSON.stringify(res)
},
complete: (res : any) => {
uni.hideLoading()
console.log(res);
this.exeRet = JSON.stringify(res)
}
}));
},
// 仅用于自动化测试
jestGetLocation() {
this.jest_complete = false
this.jest_errCode = 0
uni.getLocation(({
// #ifdef APP
provider: this.jest_provider,
// #endif
type: this.jest_type,
altitude: this.jest_isAltitude,
isHighAccuracy: this.jest_isHighAccuracy,
geocode: this.jest_isGeocode,
success: (res : any) => {
this.jest_address = res.address
this.jest_longitude = res.longitude
this.jest_latitude = res.latitude
this.jest_altitude = res.altitude
this.jest_complete = true
},
fail: (err : any) => {
this.jest_errCode = err.errCode
this.jest_complete = true
}
}));
}
}
}
</script>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录