页面对象设计:有没有相当于Ruby gem的Javascript;site_prism”;
Page Objects Design: Is there a Javascript equivalent to Ruby gem "site_prism"
我想知道Protractor的Javascript(NodeJS)中是否有一个框架,它支持像site_prism那样在页面对象上定义页面对象元素的干净方法。我已经检查过星盘,但不太符合目的。
这就是用site_prism 声明性定义页面对象的方式
class Home < SitePrism::Page
set_url "/index.htm"
set_url_matcher /google.com'/?/
element :search_field, "input[name='q']"
element :search_button, "button[name='btnK']"
elements :footer_links, "#footer a"
section :menu, MenuSection, "#gbx3"
end
class MenuSection < SitePrism::Section
element :search, "a.search"
element :images, "a.image-search"
element :maps, "a.map-search"
end
有没有人知道或已经开发了一个解决方案,如上所述,但为白内障。也许有人在内部使用自定义框架,你愿意开源吗?
关于星盘,它缺乏集合支持,我正在寻找一个更具声明性的语法;而不是
username: { get: function() { return this.findElement(this.by.input('username')); },
我期待着更具声明性的东西,比如:
username: By.input('username'),
可以在这里进一步挖掘缺少的星盘功能,但我的问题不是星盘本身,而是JS是否有更好的site_prism等价物。
注:从软件质量保证&自那以后,测试一直没有得到足够的关注。
我使用这个模式(稍微干净一点):
'use strict'
exports.MyClassPage = function() {
var textName = element(by.id("name"));
var tabUsers = element.all(by.repeater("user in users"));
this.setTxtName = function(name) {
return textName.sendKeys(name);
};
}
我使用这个npm包来声明页面对象选择器。例如,site_prism
代码看起来像:
const po = require('@vitalets/page-object');
const menuSection = exports.menuSection = po`.menu`;
menuSection.search = po`a.search`;
menuSection.images = po`a.image-search`;
menuSection.maps = po`a.map-search`;
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 这是什么 ==- javascript 运算符
- 从javascript创建一个列表
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 如何通过ajax刷新JSF填充的javascript变量
- 从javascript运行site函数
- javascript pageLoad 函数未在 Site.Master asp.net 触发
- Magento Site Javascript "d0e3a6" Hack
- PHP/Javascript项目不断调用your-meme-site.com