gpt4 book ai didi

javascript - 结合 Galen 和 Protractor 框架

转载 作者:数据小太阳 更新时间:2023-10-29 03:55:27 25 4
gpt4 key购买 nike

故事

我们一直在广泛使用 Protractor 框架,并建立了相当大的测试代码库。我们也一直在关注 Page Object pattern组织我们的测试。

最近,我们开始使用 Galen framework填补视觉/布局/响应式设计测试的空白。我们真的很喜欢这个框架,并希望继续更多地使用它。

目前最大的问题是页面对象。这两个框架都有自己定义页面对象的方式。

这是一个 Protractor 页面对象示例:

var LoginPage = function () {
this.username = element(by.id("username"));
this.password = element(by.id("password"));

this.loginButton = element(by.binding("buttonText"));
};

module.exports = new LoginPage();

并且,这是一个示例 Galen 页面对象:

this.LoginPage = $page("Login page", {
username: '#username',
password: '#password',
loginButton: 'button[ng-click*=login]'
});

目前,我们正在复制定位器并重复自己 - 违反了 DRY principle .并且,另一个后续问题是 Galen 目前仅支持“通过 css”、“通过 id”或“通过 xpath”定位技术——这意味着页面对象不一对一映射。

问题

有没有办法将 Protractor 和 Galen 结合在一起来避免重复页面对象和元素定位器?

最佳答案

鉴于现有信息,我看不到将其组合的直接方法。

然而,GalenProtractor在 Github 上可用,我看不出有任何更大的障碍可以将它们对齐/ fork /修改为您需要的内容。

我看到的最好的机会是为 Galen 框架做贡献并扩展他们的 GalenPages.js具有到 Protractor 页面对象的映射功能。尽管该 .js 文件中有 600 多行代码,但在合理的努力下它似乎是可行的。

至少to open an issue in the Galen GitHub project朝着这个方向努力肯定是值得的。

关于javascript - 结合 Galen 和 Protractor 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47359647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com