通过测试规范到另一个测试规范
问题描述:
我如何将一个测试规范传递给另一个测试规范来继续流程。例如说,我有一个成功的登录规范,登录到我的网站,并说返回是否通过。我怎么能将该规范传递给一个测试我的结帐过程的规范,该规范要求您登录?我使用的摸查,并Webdriver.IO运行测试通过测试规范到另一个测试规范
我有一个规范这样
var LoginPage = require('../pageObjects/login.page');
describe('login form', function() {
it('page title should be Sign In', function() {
LoginPage.open();
var title = LoginPage.title();
expect(title).to.contain('Sign In');
})
it('should grant access with creds', function() {
LoginPage.open();
LoginPage.username.setValue('[email protected]');
LoginPage.password.setValue('11111111');
LoginPage.submit();
var title = LoginPage.title()
expect(title).to.contain('Your username is invalid!');
});
});
我想调用另一个规范该规范。
答
您不必通过任何规格。你需要做的是用摩卡钩子描述here
你必须根据你的需要写登录和访问规格在
before(function() {
// runs before all tests in this block
});
或
beforeEach(function() {
// runs before each test in this block
});
。如果您使用before(function()
,该代码将全部its
之前运行,如果你使用beforeEach(function()
,它将每个its
之前在您describe
中运行,可以不通过规范,你提取共享逻辑放到一个辅助函数或方法(例如,请参阅*“页面对象”*范例)。 – jonrsharpe
你是指这里描述的页面对象吗? http://martinfowler.com/bliki/PageObject.html我使用这个范例来删除我的脚本中实际获得的html元素,但是这并不能回答我如何在测试之间传输签名应用程序状态的问题。 –