提交 2dac9667 编写于 作者: study夏羽's avatar study夏羽

adjust the test sequence

上级 57b74414
......@@ -7,7 +7,7 @@ module.exports = {
watchPathIgnorePatterns: ['/node_modules/', '/dist/', '/.git/'],
moduleFileExtensions: ['js', 'json'],
rootDir: __dirname,
testEnvironmentOptions: {
/* testEnvironmentOptions: {
compile: true,
"app-plus": { // 需要安装 HBuilderX
android: {
......@@ -22,7 +22,7 @@ module.exports = {
executablePath: "HBuilderX/plugins/launcher/base/Pandora_simulator.app" // ipa 目录
}
}
},
}, */
testMatch: ["<rootDir>/pages/**/*test.[jt]s?(x)"],
testPathIgnorePatterns: ['/node_modules/'],
testSequencer: path.join(__dirname, "testSequencer.js")
......
......@@ -4,9 +4,13 @@
describe('pages/grid/grid.vue', () => {
let page
beforeAll(async () => {
try{
page = await program.switchTab('/pages/grid/grid')
await page.waitFor(500)
console.log("page: ",page);
}catch(e){
console.log("e: ",e);
}
})
it('检测宫格', async () => {
......@@ -19,12 +23,10 @@ describe('pages/grid/grid.vue', () => {
it('点击宫格', async () => {
if (process.env.UNI_PLATFORM === "h5" || process.env.UNI_PLATFORM === "app-plus") {
const perPage = await page.$('.uni-grid-wrap')
console.log("perPage: ",perPage);
await perPage.callMethod('change')
}
if (process.env.UNI_PLATFORM === "mp-weixin") {
const uniGrid = await page.$('uni-grid')
console.log("uniGrid: ",uniGrid);
await uniGrid.callMethod('change')
}
})
......
......@@ -7,18 +7,24 @@ describe('pages/list/list.vue', () => {
})
it('检测标题', async () => {
expect.assertions(1);
const getData = await page.data('dataList')
console.log("getData: ",getData);
// console.log("getData: ",getData);
expect(getData.title).toBe('阿里小程序IDE官方内嵌uni-app,为开发者提供多端开发服务')
})
it('点击搜索跳转', async () => {
// expect.assertions(2);
const searchTo = await page.callMethod('searchClick')
console.log("await program.currentPage(): ",await program.currentPage());
await page.waitFor(300)
await page.waitFor(1000)
if (process.env.UNI_PLATFORM != "mp-weixin") {
// console.log("currentPage: --1",(await program.currentPage()).path);
expect((await program.currentPage()).path).toBe('pages/list/search/search')
await page.waitFor(500)
await program.navigateBack()
expect((await program.navigateBack()).path).toBe('pages/list/list')
}
})
})
\ No newline at end of file
......@@ -6,14 +6,19 @@ describe('pages/list/search/search.vue', () => {
beforeAll(async () => {
page = await program.navigateTo('/pages/list/search/search')
await page.waitFor(500)
console.log("program.pageStack: ",await program.pageStack());
})
it('搜索发现-显示-隐藏', async () => {
// expect.assertions(2);
expect.assertions(2);
// 搜索发现 刷新
await page.callMethod('searchHotRefresh')
await page.waitFor(300)
// 是否隐藏热搜列表 netHotListIsHide:fasle 未隐藏
const getShow = await page.data('netHotListIsHide')
console.log("getShow: ",getShow);
expect(getShow).toBeFalsy()
if(!getShow){
// 设置netHotListIsHide:true 隐藏
await page.setData({netHotListIsHide: true})
expect(await page.data('netHotListIsHide')).toBeTruthy()
}
......@@ -24,10 +29,13 @@ describe('pages/list/search/search.vue', () => {
const setSearchTest = await page.setData({
searchText: '小程序',
})
console.log(await page.data('searchText'));
// console.log(await page.data('searchText'),"searchText--------");
// 搜索 “小程序”
await page.callMethod('search', '小程序')
await page.waitFor(300)
console.log(await program.currentPage(),"-----------------------");
if (process.env.UNI_PLATFORM != "mp-weixin") {
expect((await program.currentPage()).path).toBe('pages/list/list')
}
})
});
......@@ -5,48 +5,39 @@ describe('pages/ucenter/about/about.vue', () => {
let page
beforeAll(async () => {
try {
page = await program.navigateTo('/pages/ucenter/about/about')
console.log("page: ",page);
page = await program.reLaunch('/pages/ucenter/about/about')
await page.waitFor(500)
console.log("await program.pageStack(): ", await program.pageStack());
} catch (e) {
console.log("e: ",e);
}
})
it('about', async () => {
// expect.assertions(1);
const getData = await page.data('about')
console.log("getData: ",getData);
// expect(getData.appName).toBe('uni-starter')
})
it('screenshot', async () => {
if (process.env.UNI_PLATFORM == "h5") {
const image = await program.screenshot({
path: "static/screenshot/about-h5.png" // 默认项目根目录
})
console.log("image: ",image);
} else if (process.env.UNI_PLATFORM == "app-plus") {
console.log('app-plus');
// 在微信小程序容易超时
console.log("process.env.UNI_PLATFORM: ",process.env.UNI_PLATFORM);
if (process.env.UNI_PLATFORM != "mp-weixin") {
await program.screenshot({
path: "static/screenshot/about-app.png"
})
} else if (process.env.UNI_PLATFORM == "mp-weixin") {
console.log('mp-weixin');
await program.screenshot({
path: "static/screenshot/about-mp.png"
path: "static/screenshot/about.png" // 默认项目根目录
})
}
})
it('about', async () => {
expect.assertions(1);
const getData = await page.data('about')
console.log("getData: ",getData);
expect(getData.appName).toBe('uni-starter')
})
it('隐私政策协议-点击跳转', async () => {
await page.callMethod('navigateTo', {
url: "https://ask.dcloud.net.cn/protocol.html",
title: "用户服务条款"
})
// await program.navigateBack()
})
});
......@@ -6,32 +6,21 @@ describe('pages/ucenter/login-page/index/index.vue', () => {
beforeAll(async () => {
try {
page = await program.navigateTo('/pages/ucenter/login-page/index/index?type=smsCode')
console.log("page: ",page);
await page.waitFor(500)
console.log("await program.pageStack(): ",await program.pageStack());
} catch (e) {
console.log("e: ",e);
}
await page.waitFor(1000)
console.log("await program.pageStack(): ",await program.pageStack());
})
it('smsCode-login', async () => {
const image = await program.screenshot({
path: "static/screenshot/login-index.png" // 默认项目根目录
})
const perPage = await page.$('.content')
// console.log("perPage: ", perPage);
const getTitle = await perPage.$('.title')
console.log("getTitle: ",getTitle);
// console.log(await getTitle.text());
console.log("await program.currentPage(): ",await program.currentPage());
if ((await program.currentPage()).path == 'pages/ucenter/login-page/index/index') {
expect(await getTitle.text()).toBe('登录后即可展示自己')
console.log(await getTitle.text(),"1-------------");
// expect(await getTitle.text()).toBe('登录后即可展示自己')
const setInput = await page.setData({
"phone": '17769516019',
......@@ -46,19 +35,21 @@ describe('pages/ucenter/login-page/index/index.vue', () => {
const agreeTrue = await page.waitFor(async () => {
return await page.data('agree')
})
console.log("agreeTrue: ", agreeTrue);
await page.callMethod('sendShortMsg')
await page.waitFor(300)
// console.log((await program.currentPage()).path);
//pages/ucenter/login-page/phone-code/phone-code
}
if ((await program.currentPage()).path == 'pages/ucenter/login-page/pwd-login/pwd-login') {
expect(await getTitle.text()).toBe('用户名密码登录')
console.log(await getTitle.text(),"2-------------");
// expect(await getTitle.text()).toBe('用户名密码登录')
}
console.log("currentPage:---------- ",await program.currentPage());
})
})
......@@ -6,9 +6,8 @@ describe('pages/ucenter/login-page/pwd-login/pwd-login.vue', () => {
let page
beforeAll(async () => {
page = await program.navigateTo('/pages/ucenter/login-page/pwd-login/pwd-login')
// navigateTo
// redirectTo
await page.waitFor(500)
console.log("program.pageStack: ",await program.pageStack());
})
it('前往注册页', async () => {
......@@ -17,31 +16,13 @@ describe('pages/ucenter/login-page/pwd-login/pwd-login.vue', () => {
await page.waitFor(300)
// expect((await program.currentPage()).path).toBe(
// 'pages/ucenter/login-page/register/register')
console.log(await program.currentPage(),"111111111");
await program.navigateBack()
// await page.waitFor(500)
// 执行 navigateBack 验证是否返回navigateTo
// expect((await program.navigateBack()).path).toBe(
// 'pages/ucenter/login-page/pwd-login/pwd-login')
console.log(await program.currentPage(),"22222222222");
})
it('screenshot', async () => {
if (process.env.UNI_PLATFORM === "h5") {
const image = await program.screenshot({
path: "static/screenshot/pwdlogin-h5.png" // 默认项目根目录
})
} else if (process.env.UNI_PLATFORM === "app-plus") {
await program.screenshot({
path: "static/screenshot/pwdlogin-app.png"
})
} else if (process.env.UNI_PLATFORM === "mp-weixin") {
await program.screenshot({
path: "static/screenshot/pwdlogin-mp.png"
})
}
// console.log(await program.currentPage(),"22222222222");
})
......@@ -66,13 +47,14 @@ describe('pages/ucenter/login-page/pwd-login/pwd-login.vue', () => {
const resLogin = await page.callMethod('pwdLogin')
console.log("resLogin: ", resLogin);
console.log("resLogin: ", resLogin.code);
switch (resLogin.code){
case 0:
// console.log('resLogin.uid',resLogin.uid.length)
console.log('登录成功')
expect(resLogin.uid).toHaveLength(24);
console.log(await program.currentPage(),"currentPage---------");
break;
case 10102:
expect(resLogin.msg).toBe("密码错误");
......@@ -89,9 +71,11 @@ describe('pages/ucenter/login-page/pwd-login/pwd-login.vue', () => {
case 10002:
expect(resLogin.msg).toBe("验证码不可为空");
break;
case "SYS_ERR":
console.log("未知错误---SYS_ERR",resLogin)
break;
default:
console.log(await program.currentPage(),"22222222222");
// console.log(await program.currentPage(),"22222222222");
break;
}
})
......
......@@ -2,38 +2,61 @@
// uniapp自动化测试教程: https://uniapp.dcloud.io/collocation/auto/quick-start
describe('pages/ucenter/login-page/pwd-retrieve/pwd-retrieve.vue', () => {
let page
let page,abled;
beforeAll(async () => {
page = await program.navigateTo('/pages/ucenter/login-page/pwd-retrieve/pwd-retrieve?phoneNumber=17769516019')
try {
page = await program.navigateTo(
'/pages/ucenter/login-page/pwd-retrieve/pwd-retrieve?phoneNumber=17769516019')
await page.waitFor(500)
console.log("await program.pageStack(): ", await program.pageStack());
} catch (e) {
console.log("e: ", e);
}
})
it('重置密码', async () => {
it('重置密码之前', async () => {
const element = await page.$('.send-btn-box')
abled = await element.attribute('disabled')
await page.setData({
formData: {
"phone": "17769516019",
'code': '123456',
'pwd': '222222',
'pwd2': '222222',
'code':'123456'
}
})
console.log(await program.currentPage());
await page.waitFor(200)
// expect((await program.currentPage()).path).toBe('/pages/ucenter/settings/settings')
});
it('重置密码', async () => {
if(abled){
const submitRes = await page.callMethod('submit')
console.log("submitRes: ",submitRes);
if(submitRes){
switch (submitRes.code){
console.log("submitRes: ", submitRes);
if (submitRes) {
switch (submitRes.code) {
case 0:
expect(submitRes.msg).toBe('密码重置成功')
console.log("密码重置成功")
expect(submitRes.errCode).toBe(0)
// expect(submitRes.errMsg).toBe('密码重置成功')
break;
case 10202:
expect(submitRes.msg).toBe('此手机号尚未注册')
expect(submitRes.errMsg).toBe('此手机号尚未注册')
break;
case 50202:
expect(submitRes.errCode).toBe("uni-id-invalid-verify-code")
expect(submitRes.errMsg).toBe("短信验证码错误或已失效")
console.log("process.env.UNI_PLATFORM",process.env.UNI_PLATFORM)
break;
default:
break;
}
}else{
console.log("err")
}
}
})
})
......@@ -143,7 +143,7 @@
submit() {
console.log("formData", this.formData);
console.log('rules', this.rules);
this.$refs.form.validate()
return this.$refs.form.validate()
.then(async res => {
return await uniCloud.callFunction({
name: 'uni-id-cf',
......@@ -158,15 +158,18 @@
}).then(({
result
}) => {
console.log(result);
console.log("resetPwdBySmsCode------------",result);
uni.showToast({
title: result.msg || '更新成功',
icon: 'none'
});
return result
if (result.code === 0) {
uni.navigateBack()
}
return result
}).catch((reason) => {
console.log(reason, 'reason----');
return reason
......
......@@ -6,10 +6,9 @@ describe('pages/ucenter/login-page/register/register.vue', () => {
let page
beforeAll(async () => {
page = await program.navigateTo('/pages/ucenter/login-page/register/register')
page = await program.redirectTo('/pages/ucenter/login-page/register/register')
await page.waitFor(500)
//navigateTo
//redirectTo
console.log("program.pageStack: ",await program.pageStack());
})
it('注册账号', async () => {
......@@ -24,10 +23,11 @@ describe('pages/ucenter/login-page/register/register.vue', () => {
"username": username,
"nickname": nickname,
'password': password,
'pwd2': pwd2
'pwd2': pwd2,
"captcha": "1234"
},
})
console.log(await page.data('formData'),"0000000000000");
console.log(await page.data('formData'),"setData----formData");
expect(username).toMatch(/^.{3,20}$/);
expect(password).toMatch(/^.{6,20}$/);
......@@ -38,21 +38,30 @@ describe('pages/ucenter/login-page/register/register.vue', () => {
agree: true
})
const getUid = await page.waitFor(async () => {
const resRegister = await page.callMethod('submit')
await page.waitFor(300)
return resRegister
const resRegister = await page.waitFor(async () => {
return await page.callMethod('submit')
})
console.log("getUid:---------- ",getUid.msg);
if (getUid.uid) {
// expect(getUid.msg).toBe("注册成功");
expect(getUid.userInfo.username).toBe("数字天堂");
await program.navigateTo('/pages/ucenter/settings/settings')
} else {
console.log("getUid.msg: ",getUid.msg);
console.log("resRegister: ",resRegister);
switch (resRegister.code){
case 0:
console.log('注册成功')
// expect(resRegister.userInfo.username).toBe("数字天堂");
// await program.navigateTo('/pages/ucenter/settings/settings')
break;
case 20102:
expect(resRegister.errMsg).toBe("此账号已注册");
// expect(getUid.msg).toBe("此用户名已注册");
// expect(getUid.msg).toBe("Account exists");
await program.navigateTo('/pages/ucenter/login-page/pwd-login/pwd-login')
// await program.navigateTo('/pages/ucenter/login-page/pwd-login/pwd-login')
break;
default:
break;
}
})
})
// uniapp自动化测试教程: https://uniapp-test.dcloud.net.cn/docs/testcase/start
describe('pages/ucenter/settings/settings', () => {
let page
let page,uniToken;
beforeAll(async () => {
try {
page = await program.navigateTo('/pages/ucenter/settings/settings')
console.log("page: ",page);
await page.waitFor(500)
await page.waitFor(1000)
console.log("pageStack: ",await program.pageStack());
uniToken = await page.data('uniToken')
console.log('uniToken:',uniToken);
} catch (e) {
console.log("e: ",e);
}
console.log("pageStack: ",await program.pageStack());
console.log('uniToken:',await page.data('uniToken'));
})
it('settings', async () => {
if (process.env.UNI_PLATFORM == "mp-weixin") {
console.log('mp-weixin');
await program.screenshot({
path: "static/screenshot/settings-weixin.png"
})
}
if (process.env.UNI_PLATFORM == "app-plus") {
await page.callMethod('clearTmp')
// console.log(await page.data('pushIsOn'), "pushIsOn-------------");
......@@ -31,26 +23,17 @@ describe('pages/ucenter/settings/settings', () => {
await page.callMethod('pushServer.off')
}
}
await page.callMethod('deactivate')
await page.waitFor(300)
// console.log(await program.currentPage(),"111111111");
await program.navigateBack()
})
it('退出登录', async () => {
const getTokenRes = await page.waitFor(async () => {
return await page.data('uniToken')
})
console.log("getTokenRes: ", getTokenRes);
if(getTokenRes){
if(uniToken){
await page.callMethod('clickLogout')
}
// console.log(await program.currentPage(),"333333");
})
});
......@@ -2,12 +2,19 @@ describe('pages/ucenter/ucenter.vue', () => {
let page,uniToken;
beforeAll(async () => {
try{
page = await program.switchTab('/pages/ucenter/ucenter')
await page.waitFor(300)
console.log("page:2 ",page);
uniToken = await page.data('uniToken')
console.log("uniToken: ",uniToken);
const pageStack = await program.pageStack()
console.log("pageStack: ",pageStack);
}catch(e){
console.log("e: ",e);
}
})
it('宫格', async () => {
......@@ -24,39 +31,39 @@ describe('pages/ucenter/ucenter.vue', () => {
it('普通签到', async () => {
console.log(await program.currentPage(),"1-----------");
console.log("process.env.UNI_PLATFORM: ",process.env.UNI_PLATFORM);
if (process.env.UNI_PLATFORM == "mp-weixin" || process.env.UNI_PLATFORM == "h5"){
await page.callMethod('signIn')
await page.waitFor(500)
await program.screenshot({
path: "static/screenshot/sign-weixin-h5.png"
})
}
if(process.env.UNI_PLATFORM === "app-plus"&& uniToken){
console.log('app-plus');
if(uniToken){
if(process.env.UNI_PLATFORM === "app-plus"){
console.log('app-plus----普通签到');
const signInByAdRes = await page.callMethod('signInByAd')
console.log("signInByAdRes: ",signInByAdRes);
await page.waitFor(300)
console.log(await program.currentPage(),"1111111");
const shareRes = await page.callMethod('share')
await program.screenshot({
path: "static/screenshot/sign-app.png"
})
}else{
console.log('else----普通签到');
await page.callMethod('signIn')
// await page.waitFor(1000)
// await program.screenshot({
// path: "static/screenshot/sign-weixin-h5.png"
// })
}
}
})
it('我的积分', async () => {
// expect.assertions(1);
// await page.waitFor(300)
if(uniToken){
const getScoreRes = await page.callMethod('getScore')
console.log("getScoreRes: ", getScoreRes);
if (getScoreRes.score) {
if (getScoreRes && getScoreRes.score) {
console.log("已登录--今日已签到");
expect.assertions(2);
expect(getScoreRes.score).not.toBeUndefined();
......@@ -66,8 +73,12 @@ describe('pages/ucenter/ucenter.vue', () => {
}
}else{
console.log("getScoreRes: 未登录");
try{
await program.navigateTo('/pages/ucenter/login-page/pwd-login/pwd-login')
await page.waitFor(500)
}catch(e){
console.log("e: ",e);
}
}
})
})
......@@ -144,8 +144,6 @@
}
},
onLoad() {
this.uniToken = uni.getStorageSync('uni_id_token')
console.log("uniToken: ", this.uniToken);
// console.log(313,this.userInfo,this.hasLogin);
console.log("this.appVersion: ",this.appVersion);
//#ifdef APP-PLUS
......@@ -158,6 +156,10 @@
})
//#endif
},
onReady() {
this.uniToken = uni.getStorageSync('uni_id_token')
console.log("uniToken: ", this.uniToken);
},
computed: {
...mapGetters({
userInfo: 'user/info',
......
......@@ -2,23 +2,48 @@
describe('pages/ucenter/userinfo/bind-mobile/bind-mobile.vue', () => {
let page
beforeAll( async ()=>{
beforeAll(async () => {
try {
page = await program.navigateTo('/pages/ucenter/userinfo/bind-mobile/bind-mobile')
console.log("page: ", page);
await page.waitFor(500)
console.log("program.pageStack: ",await program.pageStack());
} catch (e) {
console.log("e: ", e);
}
})
it('修改绑定手机号',async()=>{
let phone = "17769516019"
it('修改绑定手机号', async () => {
await page.waitFor(300)
console.log("formData:---------1 ", await page.data('formData'));
const isPhone = await page.callMethod('isPhone')
console.log("isPhone: ", isPhone);
const isCode = await page.callMethod('isCode')
console.log("isCode: ", isCode);
let mobile = "17769516019"
await page.setData({
formData: {
"phone":phone
mobile
}
})
expect(phone).toMatch(/^1\d{10}$/);
expect(mobile).toMatch(/^1\d{10}$/);
console.log("formData:--------2 ", await page.data('formData'));
if (process.env.UNI_PLATFORM === "mp-weixin") {
console.log("process.env.UNI_PLATFORM: ", process.env.UNI_PLATFORM);
if(process.env.UNI_PLATFORM == "mp-weixin"){
const codeBtnMp = await page.$('uni-send-sms-code')
console.log("codeBtnMp: ",codeBtnMp);
const sendMsgResMp = await codeBtnMp.callMethod('sendMsg')
console.log("sendMsgResMp: ",sendMsgResMp);
await page.waitFor(300)
}else{
const codebtn = await page.$('.short-code-btn')
......@@ -28,10 +53,12 @@ describe('pages/ucenter/userinfo/bind-mobile/bind-mobile.vue', () => {
await page.waitFor(300)
}
let code = "123456"
await page.setData({formData: {code}})
expect(code).toMatch(/^\d{6}$/);
const submitRes = await page.callMethod('submit')
await page.waitFor(300)
console.log("submitRes: ",submitRes);
......@@ -51,18 +78,24 @@ describe('pages/ucenter/userinfo/bind-mobile/bind-mobile.vue', () => {
break;
case 60101:
// expect(submitRes.msg).toBe("此手机号已绑定" || "手机号 is already bound")
// expect(submitRes.errCode).toBe("uni-id-account-already-bound")
expect(submitRes.errCode).toBe("uni-id-account-bound")
break;
case 50202:
expect(submitRes.errCode).toBe("uni-id-invalid-verify-code")
expect(submitRes.errMsg).toBe("短信验证码错误或已失效")
break;
case "SYS_ERR":
console.log("未知错误---SYS_ERR",submitRes)
break;
default:
console.log("submitRes.errMsg",submitRes.errMsg)
break;
}
}
// await program.switchTab('/pages/ucenter/ucenter')
await program.switchTab('/pages/ucenter/ucenter')
console.log(await program.currentPage(),"last-------------------");
console.log(await program.currentPage(), "last-------------------");
})
});
......@@ -2,11 +2,18 @@
// uniapp自动化测试教程: https://uniapp.dcloud.io/collocation/auto/quick-start
describe('pages/ucenter/userinfo/userinfo.vue', () => {
let page
let page,uniToken;
beforeAll(async () => {
page = await program.navigateTo('/pages/ucenter/userinfo/userinfo')
console.log("page: ",page);
try{
page = await program.reLaunch('/pages/ucenter/userinfo/userinfo')
await page.waitFor(500)
uniToken = await page.data('uniToken')
console.log("uniToken: ",uniToken);
console.log("program.pageStack: ",await program.pageStack());
}catch(e){
//TODO handle the exception
console.log("e: ",e);
}
})
......@@ -14,15 +21,19 @@ describe('pages/ucenter/userinfo/userinfo.vue', () => {
const name = "数字天堂DCloud" + Math.round(Math.random()*10);
await page.waitFor(300)
const nicknameRes = await page.callMethod("setNickname",name)
console.log("nicknameRes: ",nicknameRes);
// expect(nicknameRes.updated).toBe(1)
if(nicknameRes.updated){
expect(nicknameRes.updated).toBe(1)
}else{
console.log("设置昵称失败");
}
})
it('绑定手机号', async () => {
await page.callMethod('bindMobileBySmsCode')
await page.waitFor(300)
// expect((await program.currentPage()).path).toBe('pages/ucenter/userinfo/bind-mobile/bind-mobile')
await page.waitFor(1000)
expect((await program.currentPage()).path).toBe('pages/ucenter/userinfo/bind-mobile/bind-mobile')
console.log("currentPage---------------- ",await program.currentPage());
// expect((await program.navigateBack()).path).toBe('pages/ucenter/userinfo/userinfo')
})
......
......@@ -40,7 +40,8 @@
otherLoginButton: {
"title": "其他号码绑定",
}
}
},
uniToken:''
}
},
onLoad() {
......
static/screenshot/login-index.png

67.8 KB | W: | H:

static/screenshot/login-index.png

37.0 KB | W: | H:

static/screenshot/login-index.png
static/screenshot/login-index.png
static/screenshot/login-index.png
static/screenshot/login-index.png
  • 2-up
  • Swipe
  • Onion skin
static/screenshot/pwdlogin-mp.png

37.0 KB | W: | H:

static/screenshot/pwdlogin-mp.png

32.4 KB | W: | H:

static/screenshot/pwdlogin-mp.png
static/screenshot/pwdlogin-mp.png
static/screenshot/pwdlogin-mp.png
static/screenshot/pwdlogin-mp.png
  • 2-up
  • Swipe
  • Onion skin
static/screenshot/sign-app.png

168.7 KB | W: | H:

static/screenshot/sign-app.png

108.6 KB | W: | H:

static/screenshot/sign-app.png
static/screenshot/sign-app.png
static/screenshot/sign-app.png
static/screenshot/sign-app.png
  • 2-up
  • Swipe
  • Onion skin
static/screenshot/sign-weixin-h5.png

190.5 KB | W: | H:

static/screenshot/sign-weixin-h5.png

85.6 KB | W: | H:

static/screenshot/sign-weixin-h5.png
static/screenshot/sign-weixin-h5.png
static/screenshot/sign-weixin-h5.png
static/screenshot/sign-weixin-h5.png
  • 2-up
  • Swipe
  • Onion skin
const Sequencer = require("@jest/test-sequencer").default;
const sortTestFilenames = ["register.test.js","pwd-login.test.js","userinfo.test.js","ucenter.test.js","search.test.js","grid.test.js","about.test.js","bind-mobile.test.js","pwd-retrieve.test.js","list.test.js","index.test.js","settings.test.js"];
const sortTestFilenames = ["list.test.js","search.test.js","register.test.js","pwd-login.test.js","ucenter.test.js","userinfo.test.js","pwd-retrieve.test.js","bind-mobile.test.js","settings.test.js","index.test.js"];
class CustomSequencer extends Sequencer {
sort(tests) {
// 测试例排序
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册