提交 66f46dc1 编写于 作者: A Anne_LXM

test:update

上级 5427698d
...@@ -3,7 +3,7 @@ module.exports = { ...@@ -3,7 +3,7 @@ module.exports = {
"compile": true, "compile": true,
"h5": { "h5": {
"options": { "options": {
"headless": true "headless": false
}, },
"executablePath": "" "executablePath": ""
}, },
...@@ -28,11 +28,11 @@ module.exports = { ...@@ -28,11 +28,11 @@ module.exports = {
"executablePath": "" "executablePath": ""
}, },
"uni-app-x": { "uni-app-x": {
"version": "D:\\xm\\download\\uni-app-x-dev\\HBuilderX.3.9.0.20230708.1221-dev\\HBuilderX\\plugins\\uniappx-launcher\\base\\version.txt", "version": "D:\\HX\\alpha\\HBuilderX.3.97.2023110504-alpha\\HBuilderX\\plugins\\uniappx-launcher\\base\\version.txt",
"android": { "android": {
"id": "emulator-5554", "id": "emulator-5554",
"executablePath": "D:\\xm\\download\\uni-app-x-dev\\HBuilderX.3.9.0.20230708.1221-dev\\HBuilderX\\plugins\\uniappx-launcher\\base\\android_base.apk" "executablePath": "D:\\HX\\alpha\\HBuilderX.3.97.2023110504-alpha\\HBuilderX\\plugins\\uniappx-launcher\\base\\android_base.apk"
} }
} }
} }
} }
\ No newline at end of file
const path = require('path'); const path = require('path');
module.exports = { module.exports = {
testTimeout: 10000, testTimeout: 30000,
reporters: [ reporters: [
'default' 'default'
], ],
watchPathIgnorePatterns: ['/node_modules/', '/dist/', '/.git/'], watchPathIgnorePatterns: ['/node_modules/', '/dist/', '/.git/'],
moduleFileExtensions: ['js', 'json'], moduleFileExtensions: ['js', 'json'],
rootDir: __dirname, rootDir: __dirname,
testMatch: ["<rootDir>/pages/**/*test.[jt]s?(x)","<rootDir>/uni_modules/uni-id-pages-x/pages/**/*test.[jt]s?(x)"], // testMatch: ["<rootDir>/pages/**/*test.[jt]s?(x)","<rootDir>/uni_modules/uni-id-pages-x/pages/**/*test.[jt]s?(x)"],
testMatch: ["<rootDir>/pages/index/index.test.js"],
// testMatch: ["<rootDir>/uni_modules/uni-id-pages-x/pages/login/login.test.js"],
testPathIgnorePatterns: ['/node_modules/'], testPathIgnorePatterns: ['/node_modules/'],
testSequencer: path.join(__dirname, "testSequencer.js") testSequencer: path.join(__dirname, "testSequencer.js")
} }
\ No newline at end of file
// uni-app自动化测试教程: uni-app自动化测试教程: https://uniapp.dcloud.net.cn/worktile/auto/hbuilderx-extension/ // uni-app自动化测试教程: uni-app自动化测试教程: https://uniapp.dcloud.net.cn/worktile/auto/hbuilderx-extension/
jest.setTimeout(20000)
describe('pages/index/index.uvue', () => { describe('pages/index/index.uvue', () => {
let page, currentPage, listItems, platform; let page, currentPage, listItems, platform;
beforeAll(async () => { beforeAll(async () => {
platform = process.env.UNI_PLATFORM platform = process.env.UNI_PLATFORM
console.log('platform: ', platform);
if(platform == 'h5'){await page.waitFor(8000)}
page = await program.reLaunch('/pages/index/index') page = await program.reLaunch('/pages/index/index')
// page = await program.currentPage() // page = await program.currentPage()
await page.waitFor('view') await page.waitFor('view')
listItems = await page.$$('.list-item') listItems = await page.$$('.list-item')
console.log('listItems: ', listItems); console.log('listItems: ', listItems);
}); });
it('openName', async () => { it('openName', async () => {
const openName = await page.$('.openName-text') const openName = await page.$('.openName-text')
...@@ -27,6 +30,7 @@ describe('pages/index/index.uvue', () => { ...@@ -27,6 +30,7 @@ describe('pages/index/index.uvue', () => {
}); });
it('手机验证码登录', async () => { it('手机验证码登录', async () => {
await listItems[0].tap() await listItems[0].tap()
if(platform == 'h5'){await page.waitFor(5000)}
currentPage = await program.currentPage() currentPage = await program.currentPage()
console.log('currentPage: ', currentPage); console.log('currentPage: ', currentPage);
expect(currentPage.path).toBe("uni_modules/uni-id-pages-x/pages/login/login") expect(currentPage.path).toBe("uni_modules/uni-id-pages-x/pages/login/login")
......
const Sequencer = require("@jest/test-sequencer").default; const Sequencer = require("@jest/test-sequencer").default;
const sortTestFilenames = ["index.test.js","register.test.js","login.test.js","bindMobile.test.js","setNickname.test.js","userinfo.test.js"]; const sortTestFilenames = ["index.test.js","register.test.js","login.test.js","bindMobile.test.js","setNickname.test.js","retrieve.test.js","userinfo.test.js"];
class CustomSequencer extends Sequencer { class CustomSequencer extends Sequencer {
sort(tests) { sort(tests) {
// 测试例排序 // 测试例排序
......
...@@ -71,8 +71,8 @@ describe('loginByPwd', () => { ...@@ -71,8 +71,8 @@ describe('loginByPwd', () => {
await page.setData({ await page.setData({
loginType: "smsCode" loginType: "smsCode"
}) })
loginBySmsCodeEl = await page.$('uni-id-pages-x-loginBySmsCode') loginBySmsCodeEl = await page.$('uni-id-pages-x-loginBySmsCode')
smsCodeEl = await page.$('uni-id-pages-x-smsCode') smsCodeEl = await page.$('uni-id-pages-x-smsCode')
await smsCodeEl.setData({ await smsCodeEl.setData({
mobile: "17755555555", mobile: "17755555555",
sendSmsCaptcha: "1234", sendSmsCaptcha: "1234",
...@@ -87,7 +87,7 @@ describe('loginByPwd', () => { ...@@ -87,7 +87,7 @@ describe('loginByPwd', () => {
}); });
it('smsCode-callMethod', async () => { it('smsCode-callMethod', async () => {
await smsCodeEl.callMethod('sendSmsCode') await smsCodeEl.callMethod('sendSmsCode',true)
await page.waitFor(500) await page.waitFor(500)
await smsCodeEl.setData({ await smsCodeEl.setData({
smsCode: "123456" smsCode: "123456"
......
...@@ -44,7 +44,8 @@ describe('retrieve', () => { ...@@ -44,7 +44,8 @@ describe('retrieve', () => {
expect(expecVerifytStr).toContain(testErrRes.errMsg); expect(expecVerifytStr).toContain(testErrRes.errMsg);
break; break;
case 'uni-id-captcha-required': case 'uni-id-captcha-required':
expect(testErrRes.errMsg).toBe('请输入图形验证码'); const requiredStr = ["请输入图形验证码","Captcha required"]
expect(requiredStr).toContain(testErrRes.errMsg)
break; break;
default: default:
break; break;
......
...@@ -53,7 +53,8 @@ describe('bindMobile', () => { ...@@ -53,7 +53,8 @@ describe('bindMobile', () => {
expect(expectCodeStr).toContain(testErrRes.errMsg); expect(expectCodeStr).toContain(testErrRes.errMsg);
break; break;
case 'uni-id-captcha-required': case 'uni-id-captcha-required':
expect(testErrRes.errMsg).toBe('请输入图形验证码') const requiredStr = ["请输入图形验证码","Captcha required"]
expect(requiredStr).toContain(testErrRes.errMsg)
break; break;
default: default:
break; break;
......
// uni-app自动化测试教程: uni-app自动化测试教程: https://uniapp.dcloud.net.cn/worktile/auto/hbuilderx-extension/ // uni-app自动化测试教程: uni-app自动化测试教程: https://uniapp.dcloud.net.cn/worktile/auto/hbuilderx-extension/
const PAGE_PATH = '/uni_modules/uni-id-pages-x/pages/userinfo/userinfo' const PAGE_PATH = '/uni_modules/uni-id-pages-x/pages/userinfo/userinfo'
describe('userinfo', () => { describe('userinfo', () => {
let page; let page,login;
beforeAll(async () => { beforeAll(async () => {
page = await program.navigateTo(PAGE_PATH) page = await program.navigateTo(PAGE_PATH)
await page.waitFor('view') await page.waitFor('view')
// console.log("pageStack",await program.pageStack()) // console.log("pageStack",await program.pageStack())
}); });
it('是否登录', async () => {
login = await page.callMethod('getIsLogin')
console.log('login',login);
if(login){await page.setData({showLoginManage:true})}
});
it('昵称', async () => { it('昵称', async () => {
if(!login)return
const values = await page.$$('.value') const values = await page.$$('.value')
await page.waitFor(500) await page.waitFor(500)
console.log('values:--0 ',await values[0].text()); console.log('values:--0 ',await values[0].text());
...@@ -17,6 +23,7 @@ describe('userinfo', () => { ...@@ -17,6 +23,7 @@ describe('userinfo', () => {
}); });
it('退出登录', async () => { it('退出登录', async () => {
await page.waitFor(1000) await page.waitFor(1000)
if(!login)return
const titleList = await page.$$('.title') const titleList = await page.$$('.title')
expect(titleList.length).toBe(6) expect(titleList.length).toBe(6)
expect(await titleList[5].text()).toBe('退出登录') expect(await titleList[5].text()).toBe('退出登录')
......
...@@ -86,6 +86,10 @@ ...@@ -86,6 +86,10 @@
this.showLoginManage = options['showLoginManage'] == 'true' this.showLoginManage = options['showLoginManage'] == 'true'
}, },
methods: { methods: {
// 自动化测试专用
getIsLogin(): boolean{
return state.isLogin
},
setNickname() { setNickname() {
uni.navigateTo({ uni.navigateTo({
"url": "/uni_modules/uni-id-pages-x/pages/userinfo/setNickname/setNickname" "url": "/uni_modules/uni-id-pages-x/pages/userinfo/setNickname/setNickname"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册