我正在尝试使用Page Object Model模式准备端到端测试。我使用Protractor在TypeScript中编写测试。
我注意到每个测试规范文件的前几行看起来非常相似:
// repeated in almost every test spec file
import { protractor, browser, element, by, promise } from 'protractor';
const EC = protractor.ExpectedConditions;
const until = protractor.until;
// this is changing from test to test
const SomePage = require('./pages/99-SomePage');
// code with `describe` and `it`
是否可以不重复imports
和const
?
我尝试require
分隔包含它们的文件,但似乎它们不包含在我的文件中。也不能将Export
修饰符包含到import
答案 0 :(得分:2)
在 cucumber.conf 文件中,您可以使用 onPrepare()函数将这些依赖项添加到节点全局对象,可以随处访问。 我只建议EC和其他经常性依赖项,而不是页面对象。我使用这样的东西:
...,
onPrepare: function(){
global.EC = protractor.ExpectedConditions;
globar.until = protractor.until;
var Logger = require('./Logger.js');
global.logger = new Logger();
global.data = require('./test.data.json');
},
...