javascript - 我是否需要使用量角器在我的 Spec 文件中初始化页面对象?
问题描述
这是我现在的风格。一个相当简单的页面对象模型。
var loginPage = require('../pages/loginPage');
var homePage = require('../pages/homePage');
describe('Login', function () {
it('Valid Login should successfully reach the home page, with valid page title.', function () {
browser.driver.get("https://dev.mysite.com/");
loginPage.login('TestUser', 'TestPassword');
homePage.getHeaderText();
//expect header text to equal "My header"
});
});
官方量角器样式指南建议这样做。它似乎为每个测试唯一的页面创建了一个对象。这样做有优势吗?
var loginPage = require('../pages/loginPage');
var homePage = require('../pages/homePage');
describe('Login', function () {
var loginPageObj = new loginPage();
var homePageObj = new homePage();
it('Valid Login should successfully reach the home page, with valid page title.', function () {
browser.driver.get("https://dev.mysite.com/");
loginPageObj.login('TestUser', 'TestPassword');
//or should homePageObj be initialized here,
//right before it is first used?
homePageObj.getHeaderText();
//expect header text to equal "My header"
});
});
解决方案
使用自己风格的方式仍然很好。
而官方指南之所以这么说,是因为它有助于使测试文件独立。如果您实例化为对象,您可以很好地定义您的范围。以及更好的代码理解/可读性。
我以前也遵循你自己的风格。
现在我正在使用打字稿/量角器组合。新风格指南更有意义的地方。
但是这两种风格在功能上都与你自己的风格完全没有问题。:)
推荐阅读
- javascript - 嵌套组件未更新其状态
- java - Mockito Spring Boot 给出空指针异常
- c - 显示功能不执行,头部值不断设置为空,因此显示功能保持打印为空
- javascript - 如何在我的函数 xCoor 未定义的情况下修复此参考错误
- git - 合并后Git pull没有结果
- c - 如何将函数的结果用作 C 中另一个函数的参数?
- android - AOSP上的android更新固件
- android - 这是在 Android 中实现 RecyclerView 的错误方法吗?
- amazon-web-services - 用户状态数据模型
- python - 如何使用 matplotlib 改善图片的情节?