我正在尝试优化我当前的自动化框架以加快执行速度。我当前的框架是通过为我的Web应用程序的每个页面保留定位器字符串,页面对象的单独xml文件来设计的,这些页面对象从这些xml文件中获取它们的定位器信息。
但是在谷歌搜索之后,一些自动化开发人员说将这些字符串保留在页面对象类中会更有效率。我需要更深入的细节。
感谢。
答案 0 :(得分:0)
恕我直言,你不是从最合适的角度看它。如果您当前的自动化流程需要考虑Data driven approach Vs Page objects,那么
你做得不对。根据我的经验,我已经实现了几乎独立的运行。第一个用于功能测试(不关心页面其余部分显示的内容)和渲染测试(如果页面布局符合预期,则不关心功能)。这就是为什么我还使用headless ghostDriver和Chrome- Firefox-,IE- Driver运行UI测试的原因。优化我当前的自动化框架,以加快执行速度。
假设您的数据驱动测试逻辑使用类似CSharp's Class
的内容Dictionary<TKey, TValue>
您只需要加载一次然后搜索是平的, O(1) constant time complexity。底线 - 除非您有大量的UI测试,否则这种性能不应成为问题。这违反了Test pyramid:
如果我们要讨论自动化框架优化以加快执行速度,那么 x 单元转换器的parallel execution非常合适。
免责声明:我假设您正在谈论UI自动化,因为您为此问题添加了标签( selenium 和 ui-automation )。