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