如何让oracle的自动化测试脚本跑得更快

Shaine ·
更新时间:2024-11-14
· 721 次阅读

   我们做自动化测试可能遇到的问题:

  1.大量使用name、id、xpath等页面元素。无论是功能修改、UI重构还是交互性改进都会影响到这些元素,这使得Selenium测试变得非常脆弱。

  2.过于细节的页面操作不容易体现出行为的意图,一段时间之后很难真正把握测试原有的目的了,这使得Selenium测试变得难于维护。

  3.对具体数据取值的存在依赖,当个别数据不再合法的时候,测试会失败,但这样的失败并不能标识功能的缺失,这使得Selenium测试变得脆弱且难以维护。

  不断地添加新的测试,而极少地去重构、利用原有测试。Selenium的执行速度比较慢(相对单元测试),随着测试逐渐的增多,运行时间会逐渐增加到不可忍受的程度。

  Domain Based Web Testing具体来讲,是Page Object Pattern。

  终要的是Page Object、Test Data Driven、Navi、Much easier主要是通过对工具的封装,对页面的封装,对URL的封装,对整体各种测试类的封装。

  1.Page Object

  主要是将可能遇到的页面封装,比如login页面的username,password的封装。

  利用xpath或者dom对页面元素的整体封装:

  def welcome_message

  @driver.get_text ‘xpath=…’

  end

  对assert方法的封装:

  on LoginPage do

  assert_equal ‘Welcome!’, welcome_message

  login_as :name => ‘xxx’, :password => ‘xxx’

  end

  def visible?

  @driver.is_text_present(…) && @driver.get_location == …

  end

  包括对于业务类断言的封装。

  2.Test Data

  主要是将测试数据更加集中的管理,我们可以利用maven,ant,testng等参数化的方式将数据管理起来。

  3.Navi

  和Test Data driven差不多,遇到可能变更的url进行参数化处理。

  4.Much easier

  是将综合起来的各种封装类,进行针对业务的封装,入参、验证结果做为输入值进行更耦合的封装。

  做到后一步的时候,将致力于将test case对应相关的业务线,精简testcase,使自动化用例飞起来。



自动 自动化 自动化测试 Oracle 测试脚本 脚本 测试

需要 登录 后方可回复, 如果你还没有账号请 注册新账号