Testing Selenium Web测试自动化框架最佳实践

Testing Selenium Web测试自动化框架最佳实践,testing,selenium,testng,ui-automation,qa,Testing,Selenium,Testng,Ui Automation,Qa,我想知道您对开发web测试自动化框架的最佳实践的评论 我基本上读了几篇博客,最终对书中列出的大卫·伯恩斯的方法深信不疑 将所有方法、特定页面的验证器保存在单独的类文件中,可以使其更加完善和可维护 我想知道使用设计模式设计自动化框架的优势。我不完全相信哪种方法是最好的。请添加您的建议。也许每种方法我们都可以列出它的优缺点 如果我们将所有步骤存储在一个数据库表中,获取并执行这些步骤,这会好吗?在这种情况下,如果任何测试失败,表中的内容都会更新,我们可以有选择地只运行失败的测试 此外,可以通过有选择地

我想知道您对开发web测试自动化框架的最佳实践的评论

  • 我基本上读了几篇博客,最终对书中列出的大卫·伯恩斯的方法深信不疑

  • 将所有方法、特定页面的验证器保存在单独的类文件中,可以使其更加完善和可维护

  • 我想知道使用设计模式设计自动化框架的优势。我不完全相信哪种方法是最好的。请添加您的建议。也许每种方法我们都可以列出它的优缺点

  • 如果我们将所有步骤存储在一个数据库表中,获取并执行这些步骤,这会好吗?在这种情况下,如果任何测试失败,表中的内容都会更新,我们可以有选择地只运行失败的测试

  • 此外,可以通过有选择地查询表来完成报告,并且可以通过作业从这些表中清除数据。从测试输出文件中保留结果/解析结果也很好

  • 如果这个问题已经在相关帖子中得到了回答,请发布链接。在发布这个问题之前,我查看了一些帖子

  • 在网站中,用户与网站的交互是由事件驱动的,用户与网站的交互方式可以是多种组合a->B->C或a->C->B。尽可能多的组合可以提供最大的覆盖率。覆盖所有可能状态的基于模型的测试自动化

  • 模拟所有可能状态的功能回归的自动化套件将模拟所有用户场景

  • 请分享您对上述问题的最佳实践/建议。对于以上所有实现数据提供者,我们可以利用XML传递数据来进行测试数据管理

  • 在开发基于模型的测试自动化套件时,我们需要考虑什么样的设计方法?

  • 有人试过使用框架吗。如有任何意见/反馈,请提供


  • 大卫·伯恩斯是个聪明人。对于任何想学习Selenium和测试自动化基础知识的人来说,他的书都是一个很好的起点。当然,对他的(和我的,以及其他人的)建议持保留态度。有许多专家和许多反对意见。你必须弄清楚什么最适合你

    对。“将特定页面的所有方法、验证器保留在单独的类中”绝对是一个好主意。您可以将其重新表述为“分离操作和意图”或“使用域语言编程”。不管是哪种方式,您都希望避免使用低级硒化酶编写测试。一种方法是使用。Selenium的许多贡献者和其他Selenium专家提倡使用页面对象。这是一种使测试代码更加健壮、可读和可重用的好方法

    了解其他设计模式也很有用,在测试框架中使用它们可能是一个好主意。不幸的是,没有单一的“最佳”方法。您可能必须使用多种模式和混合方法来实现良好的测试代码。我建议从小事做起,编写一些测试,注意代码的气味并重新分解。您的测试框架将增长。你不必预先设计好。要敏捷。使用迭代、增量方法。(不要使用Selenium IDE)

    与其将测试步骤放在数据库表中,不如使用Junit或TestNG之类的测试工具来组织测试。TestNG具有用于选择性地重新运行失败测试的内置功能。它还具有非常好的报告功能。不要在这里重新发明轮子。学习TestNG或Junit之类的测试框架

    哦,老兄。。。我现在不能发布超过两个链接。。。哦,好吧。。。我建议在youtube上查找GTAC视频,在viddler上查找saucelabs视频,Simon Stewarts博客,TestNG文档,页面对象示例,以及Brett Pettichord撰写的一篇名为《自动化成功的七个步骤》的论文

    祝你好运

    嘿。
    如果您真的想要分离逻辑,那么最终您需要为您的应用程序构建测试自动化框架,然后编写将使用此新api的单元测试,而不仅仅是编写单元测试。大多数程序员可能会说这不再是单元测试了。。。也许他们没有。但这并不重要。你仍然可以做得很好。下面是一些链接,这些链接应该会让你走得更远。虽然他们谈到创建在整个应用程序(gui级别)上运行的功能测试,但我认为您可以应用相同的方法来实现您的目标。我简短地介绍了如何编写三层测试,这样您就可以将逻辑与实现分离


      • 朋友们,如果您正在进行自动化测试,请确保以下事项:

      • 清楚地写下测试用例
      • 确保你有JUnit方面的专业知识
      • 确保您了解项目和测试环境的业务/功能需求
      • 谢谢。

        • 使用页面对象模式
        • 通晓
          • 返回这个,varargs,泛型
          • 重用您的模型和jodatime
        • 健壮且便于携带
          • 首选的选择器顺序:id>名称>css>xpath
          • 避免线程。睡眠首选等待或FluentWait
          • 使用相对URL
          • 不要依赖于特定的驱动程序实现
          • 创建数据集
        • 了解你的新工具
          • 保持最新(版本和使用模式)
          • 故障排除
            • jre 1.6
            • IE(缩放、保护模式设置)
            • Firefox/firebug启动页面
          • 如何处理UI组件,如。。。文件上载、日期选择器、ajaxtables
          • 检测selenium何时不是工作的好工具
          • 不要害怕到处闲逛
          • 我写了c