Testcafe之自动化测试框架
Posted Fenny_Wang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Testcafe之自动化测试框架相关的知识,希望对你有一定的参考价值。
测试框架结构如下:
----*dev //存放各环境地址及变量
-------**dev.js //测试环境
-------**pre.js //预发
-------**publish.js //线上
-------**index.js //用户快速切换环境
----util //存放公共处理方法
-------**testUtil.js
----fixture //存放截图信息
----pages //存放各页面元素
-------**test.js
----tests //存放case
-------**pageTest.js
index.js
//引入
import dev from './dev'
import pre from './pre'
import publish from './publish'
const config =
dev,
pre,
publish
export default config.dev //设置测试环境
dev.js
//定义变量,用于断言
module.exports =
name: 'Fenny',
shopTel: '13675832423',
itemNum: 2,
;
page.js
//引入testcafe
import
Selector
from 'testcafe';
export default class Page
constructor()
//元素路径
this.shopImgDiv = Selector('.panel-row .shop-info .info .cover .c-img.img'); //店铺logo
this.shopNameDiv = Selector('.shop-info .info .name'); //店铺名称
testUtil.js
import MenuPage from "../pages/menuPage";
const menuPage = new MenuPage()
export default class testUtil
async add(t)
const menuSection = menuPage.menuListDiv.find(`.menu-section`)
const menuSectionCount = await menuSection.count
var menuKindNameArray = []
await t.expect(menuSectionCount > 0).ok()
...
...
引入及引用testUtil.js
import TestUtil from "../helper/testUtil"; //引入
const testUtil= new TestUtil();//定义
await testUtil.add(t) //调用
pageTest.js
import config from '../env/index';
import Page from '../pages/page';
const page = new Page();
const time = 3000
fixture(`XXX页`)
.page(config.name)
test(`购物车校验`, async t =>
await t.wait(time)
//选择人数
var peoplePageFlag = await page.peoplePageDiv.exists
if (peoplePageFlag)
await t
.click(page.peopleDiv.nth(people))
.wait(time)
.click(page.startBnt)
.wait(time)
await t
.expect(page.cartBnt.exists).ok()
.click(page.cartBnt)
.wait(time)
...
...
)
以上是关于Testcafe之自动化测试框架的主要内容,如果未能解决你的问题,请参考以下文章