【问题标题】:Since Selenium IDE is unmaintained, how to write Selenium tests quickly? [closed]由于 Selenium IDE 没有维护,如何快速编写 Selenium 测试? [关闭]
【发布时间】:2017-09-15 08:30:02
【问题描述】:

Selenium IDE 是一个非常有用的工具,可以快速创建 Selenium 测试。遗憾的是,它已长期无人维护,现在与新的 Firefox 版本不兼容。

这是我在没有 Selenium IDE 的情况下创建 Selenium 测试的工作例程:

  1. 打开检查器

  2. 找到并右键单击元素

  3. 选择复制 CSS 选择器

  4. 粘贴到 IDE/代码编辑器

  5. 输入一些代码

  6. 返回步骤 2

这需要大量的手动工作,来回切换。如何更快地编写 Selenium 测试?

【问题讨论】:

  • 你想用 Python 编写它们吗?
  • 你必须这样做,唯一减少重复工作的方法是使用适当的对象占位符来编写帮助程序/动作和视图类。您还可以编写诸如 click(String id/classname) 等常用函数并以相同的方式实现功能。如果可能的话,试着集中精力编写一些 api 测试用例。
  • @johnashu 是的,我愿意。

标签: python selenium automated-tests selenium-ide web-testing


【解决方案1】:

我不确定您使用的是哪种类型的框架,但是使用页面对象模型构建的任何框架都需要创建由 WebElements 组成的页面对象。在那里我们必须指定健壮的相对 xpath 和 css 选择器。

在上面给出的步骤中,我会考虑再添加一个步骤:

  1. 打开 Firebug + Firepath
  2. 检查元素
  3. 更新建议的 css 或 xpath 以使其健壮(为了健壮的测试,不应忽略此步骤)
  4. 粘贴到 IDE/代码编辑器
  5. 输入一些代码 返回第 2 步

您还可以使用下面给出的一些实用程序来生成页面对象,但是,我从未使用过它们:

https://chrome.google.com/webstore/detail/selenium-page-object-gene/epgmnmcjdhapiojbohkkemlfkegmbebb

https://unmesh.me/2013/08/29/pageobject-generator-utility-for-selenium-webdriver/

【讨论】:

    【解决方案2】:

    使用这个免费工具怎么样? https://www.katalon.com 它似乎也有录音和播放功能。

    【讨论】:

      【解决方案3】:

      最好的方法是了解您的应用是如何构建的,并与开发人员一起为您需要与之交互的项目添加id 元素和/或独特的名称和类。这样,您就不必依赖于使用检查器返回的脆弱的 xpath 和 css 路径,而是可以创建简短、简洁的表达式,即使页面的底层结构发生变化也能保持不变。

      【讨论】:

        猜你喜欢
        • 2011-10-29
        • 2017-04-05
        • 2010-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多