是否有一种简单的机制来创建要在项目之间共享的量角器页面对象库?



我有两个共享UI页面的Angular项目,正在寻找一种在它们之间共享量角器页面对象的简单机制。

我在概念上探索了使用Angular Components,但它们没有在Angular E2E测试中使用。我开始并将继续探索简单的打字稿模块,并决定检查是否有人这样做了。

在这一点上,我还没有编写任何软件。

答案将建议或指向一种在它们之间共享量角器页面对象的简单机制。

没有限制,你可以做任何适合你的事情。

我有这样的东西

|
+-node_modules
|
+-protractor-+
|
+-app1
|
+-app2
|
+-node_module-+
|
+-page_one
|
+-page_two

然后在我的规格中需要这样的页面

page_one = require("page_one");

如果未指定完整路径,节点将查找您所在node_modules文件夹。如果没有,找到树上的一个目录并检查那里等,直到找到正确的node_module

我通过在主项目中创建一个 NPM 包来解决这个问题,托管所有共享页面对象:

main project (shown only main files)
|
+ e2e
|
+ shared-page-objects
|
+ index.ts
|
+ package.json
|
+- page-objects
|
+ welcome-page.ts
+ another.page.ts

宿主项目只需导入它们。其他项目安装 NPM 包并简单地导入它们:

import { WelcomePage} from 'shared-page-objects'
...
let wp = new WelcomePage();
...
el = wo.getEl();
... use the el on an assertion

最新更新