在我目前的组织中,我遇到了一个挑战,即在我们的 java 代码中重用用 javascript 编写的功能。只是提供一个背景:
我们有两种不同的自动化框架:
- Java 使用 maven - 使用 Cucumber jvm 和 selenium 和页面对象模型 - 这主要由测试人员维护
- Javascript 框架 - 用户 cucumber js 和 selenium web 驱动程序 - 这是由 UI 开发人员维护的
这里的挑战是我们想要融合这两个框架并重用两者之间的功能。我的想法是至少在两个框架之间重用页面对象和一些辅助方法。
举个例子:
- 我在
Login.js
文件中捕获了页面元素,并且包含一些辅助方法,例如生成随机电子邮件地址。 - 我应该能够
Login.js
在我的 Java 类中导入文件,并且还应该能够使用用 javascript 编写的页面元素和辅助方法。
我发现的是黄瓜犀牛使用从 java 到 javascript 的功能。而反过来是不可能的。
我可以使用 java 8 的脚本引擎Nashorn
在 java 中加载 js 模块,但如果我的 JS 模块是使用Node
. 是的 cucumber.js 是节点模块:(
我遇到了Avatar js,它可以用来在 jvm 中加载节点模块。但同样阿凡达没有支持Cucumber
。我尝试过,但失败了。
有没有办法解决这个问题?