当前位置: 首页 > 知识库问答 >
问题:

如何为具有不同项的菜单项创建Selenium 2页面对象?

沈飞跃
2023-03-14

我正在为我们应用程序的菜单栏创建一个Selenium页面对象。但是,菜单项将根据客户拥有的许可证而有所不同(在整个过程中,大约70%的菜单项将相同)。我正在研究几种方法(我正在使用Java):

> < li>

在once类中为所有可能的菜单项创建所有方法,然后依靠测试用例编写器来使用正确的方法。

为每个不同的许可证创建一个不同的页面对象(目前大约5个)。

从长远来看,哪一个会更好?

谢谢。

共有3个答案

寇夜洛
2023-03-14

我建议使用Java继承< br >用基本帐户创建一个类,并为复杂帐户扩展它。< br >参见此处的示例:Java文档:继承的示例

邬承悦
2023-03-14

为什么不为许可证类型创建一个枚举器,然后将该枚举传递到对 Page Object 的方法调用中?然后,该方法可以使用 if/else 或开关来返回适当的值或根据给定的许可证采取适当的操作。

吴和硕
2023-03-14

我目前的工作也有完全相同的情况。我使用选项#1,因为它从长远来看是最主要的。其他解决方案将增加额外的复杂性,这是不合理的。

我总是用“完全”许可证进行测试(操作员可以做任何事情)。然后,我有一些特定的测试来测试GUI,它只显示了它应该在有限的许可证下显示的内容。

如果在屏幕上不存在的菜单上调用,我使用的页面对象将失败(这会使我的测试用例变红)。我的框架中有一些方法可以确定菜单是否存在。

注意:如果您正在测试您的软件的安全性(以确保操作员不能获得额外的访问),您需要使用其他技术。对于这样的测试,你必须通过GUI直接“攻击”你的服务器。

 类似资料:
  • 如何创建一个选项菜单,如以下屏幕截图: 点击RecyclerView项目的“更多”图标后,应打开选项菜单! 我的尝试是这样的: 但这会导致问题,因为如果我点击RecyclerView item More按钮,则会单击完整项目。。。 这是我的RecyclerViewOnTouchListener: 我没有发现任何类似的问题,所以我希望你能帮助我!

  • 你好,我想在这个代码的帮助 函数register_my_custom_menu_page(){add_menu_page('custom menu title','custom menu','my-menu-slug2','manage_options','custompage','my_custom_menu_page',plugins_url('myplugin/images/icon.png

  • 我有一个工具栏和一个导航抽屉。当我启动应用程序时,会创建工具栏和导航抽屉。当我单击导航抽屉中的项目时,它会启动新的片段并保留相同的工具栏。当我启动特定片段时,我基本上如何向工具栏添加菜单项,例如搜索、添加、编辑?我不希望在程序开始时使用它们,而是动态创建的。还有,我怎样才能点击这些按钮,让它们启动其他片段呢。我希望在一个片段中,与另一个片段中的编辑按钮相比,工具栏中的编辑按钮可以做特定的事情。谢谢

  • 我正在尝试单击一个菜单项,但是没有菜单项的webelements。 未单击菜单项时,web元素显示为: 单击菜单项后,Button标记就会改变。然而,菜单项的元素仍然是隐藏的。 菜单和单击后的图像在span标记中更改

  • 我一直在尝试按照以下教程将选项菜单集成到我的listview中: [https://www.simplifiedcoding.net/create-options-menu-recyclerview-item-tutorial/] 我已经能够让菜单的图标出现在列表视图中的项目旁边,但是我无法点击它来访问弹出菜单。我试图在我的BindViewHolder(MyViewHolder持有者,int位置)

  • 我有一个使用本教程创建的抽屉和滑动选项卡的项目。我正在使用支持库使材料设计可用于较老的android版本。我还使用了而不是。我有一个连接到工具栏菜单: 我已经找了好几个星期了,为了有效果。我做错什么了吗? 我如何才能有每个片段的特定菜单?我认为隐藏菜单项可能是更容易实现的选择,但如果你们有任何其他方法来实现,我将不胜感激。