是否可以使用我的所有功能创建文件并从其规格中读取文件?

时间:2018-08-08 08:22:53

标签: protractor

我有一些使用相同功能的规范,我只想为功能创建一个文件,并在执行脚本时从该文件中读取,这可能吗?如果是的话..该怎么做?

在google搜索者中,我发现要在配置文件中添加“导出文件”,但是没有用(同样我也不知道如何从配置中调用它)

例如,我想在配置文件中添加2个函数(或仅将函数分开的文件),并在执行的任何时候从规范文件中调用它:

function loginAdminUser(userElement, passWordElement, userName, password){
    var loginButton = element(by.id('logIn'));
    browser.get('https://( ͡° ͜ʖ ͡°).com/');
    userElement.sendKeys(userName);
    passWordElement.sendKeys(password);
    loginButton.click();
}

function accessHistoryViewDetail(){
    menuForViews.then(function(selectview) {
    selectview[3].click();
    browser.sleep(500);
    });
}

1-我该怎么做? (可以使用“套房”吗?)

2-如何在我的规格中调用它们?

谢谢,祝你有美好的一天!

1 个答案:

答案 0 :(得分:1)

据我所知,您无法在配置文件中添加要在测试中使用的实用程序功能。配置文件中的选项通常用于设置测试环境。

但是,您可以将功能放在单独的文件中,然后导入以使用功能。以下是使用js和Node的模块导出方法的示例,您可以使用类对ts做类似的事情。

// utils.js

function loginAdminUser(userElement, passWordElement, userName, password){
  var loginButton = element(by.id('logIn'));
  browser.get('https://( ͡° ͜ʖ ͡°).com/'); // nice Lenny face :)
  userElement.sendKeys(userName);
  passWordElement.sendKeys(password);
  loginButton.click();
}

function accessHistoryViewDetail() {
  menuForViews.then(function(selectview) {
  selectview[3].click();
  browser.sleep(500);
  });
}

module.exports = {
  loginAdminUserloginAdminUser: loginAdminUser,
  accessHistoryViewDetail: accessHistoryViewDetail
}

然后在您的规格文件中

import * as utils from './utils.js';

...

  it('should ...', () => {
    ...
    utils.accessHistoryViewDetail();
    ...
  });
});

我希望有帮助。