【问题标题】:how to implement the key words methods in selenium according to page when framework is keyword driven and data driven [closed]当框架是关键字驱动和数据驱动时,如何根据页面在selenium中实现关键字方法[关闭]
【发布时间】:2017-11-01 14:22:42
【问题描述】:

我正在使用一个在 selenium 中由关键字驱动和数据驱动的框架。 问题是整个应用程序的所有方法或动作都写在一个类中,像意大利面条一样变得非常冗长和混乱。 我想像页面对象模型一样实现页面明智的所有方法或操作,但我也希望它是数据驱动的和关键字驱动的。

有什么建议吗?

@布莱恩·奥克利 您的评论让我更加努力地思考,这帮助我找到了解决方案。

returnedStatus = runReflectionMethod("com.dmainc.ptes.test.setup.KeyWord", methodName, paramListObject);
               resultSet.add(returnedStatus);
               excelSheet.setCellData(filePath, sheetName, "Result", row + 1, returnedStatus);

如果**runReflectionMethod("com.dmainc.ptes.test.setup.KeyWord", methodName, paramListObject);**

com.dmainc.ptes.test.setup.KeyWord 这部分需要是可变的,而不是现在的常量。 因此,如果我将其设为变量并按页面创建各种类,其中将包含相应的方法/操作,那么我可以在这段代码中传递所需的类名。我的问题将得到解决。 所有的方法/动作都将进入它们各自的类,并且没有代码膨胀。

【问题讨论】:

  • 你说你想实现所有的方法页面。是什么阻止你这样做?您需要什么帮助?
  • 我是自动化新手,不太擅长以简单的方式提出问题,但感谢您对其进行调查。我已经用解决方案更新了问题。

标签: java eclipse selenium frameworks pageobjects


【解决方案1】:

由于您的框架是关键字和数据驱动的,它应该支持关键字映射,例如Robot framework

将所有库名称映射到实例的字典

这意味着你不需要过多担心重构

整个应用程序的所有方法或动作都写在一个类中

这是 Bloater 的经典示例 - Large Class。那里有很多资源,但建议从 Refactoring To Patternssourcemaking 开始。

【讨论】:

  • 感谢您的启发。
  • SO 有明确的规则,如果您喜欢这个答案 - 点赞并将其标记为最佳答案。让我们保持你的问题干净:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-14
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 2011-01-11
相关资源
最近更新 更多