关于Selenium自动化测试框架的较佳设计模式,可以使用PageObjects设计模式;PageObject已作为测试自动化中的较佳设计模式而获得普及。它提升了测试的可维护性,还减少了代码重复量,页面上的不同元素将成为变量,使得用户交互被用具体的方法实现。几点关系说明如下:

(1)网页=类别;

(2)页面上的各种元素=变量;

(3)用户互动=方法;

PageObject的优点:通过较小的UI调整,它有助于建立一个健壮的框架。测试代码和页面代码是分开的。它们可靠且易于维护。该脚本是可读的。该代码是可重用的。几乎完全消除重复。 提倡wait避免sleep;利用wait代替sleep。了解显式和隐式等待,还有Thread.sleep()逻辑。然后,为什么wait等待而不是sleep。

wait显式–等待某种情况发生,而无需继续编写代码。 隐式–指示WebDriver轮询DOM,直到完成对元素的搜索为止。默认情况下,时间设置为0。

sleep的写法,Thread.sleep()无论工作页是否准备就绪,都会在括号内指定的秒数内等待。 关闭Firebug起始页,在启动firefox驱动程序时,可能已包含firebug。有时这可能导致无法工作正常。如果在启动浏览器时同时打开一个新的firebug选项卡使您感到烦恼,请按照以下提供的提示之一关闭firebug起始页。

在showFirstRunPage标志中将False设置,如下,FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("extensions.firebug.showFirstRunPage", false)。

此外,Selenium自动化测试框架是一个面向对象的类,它充当被测应用程序页面的接口。为简化起见,PageObject是一种面向对象的设计模式,并且将网页定义为类。