JVM参数选项
详情请看:TODO
Maven强大的一个重要的原因是它有一个十分完善的生命周期模型(lifecycle),这个生命周期可以从两方面来理解,第一,顾名思义,运行Maven的每个步骤都由它来定义的,这种预定义的默认行为使得我们使用Maven变得简单,相比而言,Ant的每个步骤都要你手工去定义。第二,这个模型是一种标准,在不同的项目中,使用Maven的接口是一样的,这样就不用去仔细理解每个项目的构建了,一般情况下,mvn clean install 这样的命令是通用的。我想,一定是吸收了许多项目的经验,Maven才能定义出如此完善的模型。
简单的说,Page Objects是指UI界面上用于与用户进行交互的对象。它可以指整个页面,也可以指Page上的某个区域。Page Objects是你的test code的交互对象,是对实际UI的一种抽象模型化。通过Page Objects可以减少重复代码的编写,例如,很多页面都有同样的header,footer,navigator等部分,如果对这些进行抽象,只写一次就可以在其他地方通用了。
注意PageObjects与Page Objects是不一样的,PageObjects用于特指采用Page Objects进行封装的一种设计模式(Design Pattern),而不仅仅是多一个空格的区别。哈。
一般情况下,对于一个Page Objects对象,它有两个方面的特征:
经常会碰到,页面操作后,出现一个alert窗口或者prompt确认窗口的情况,这时需要获得窗口的提示信息以及点击确定或取消的情况。
1 | // Get a handle to the open alert, prompt or confirmation |
这是通用的处理方法。但是如果弹出的窗口不是alert()
或者prompt()
弹出来的则不适用。请注意。
在写selenium自动化的过程中,经常会遇到这样的问题:
1.在同一个页面内做操作,比如点击某个按钮后,弹出一个框,再点击另外一个按钮,又弹出一个框
2.此时如果第一个click操作后,第二个click再点击时,由于前一个弹出的框仍旧在前端显示,就会出错
3.在实际人工操作中,点击出第一个框后,点击一下空白区域,在点击出现第二个框。因此,可以考虑一个点击空白区域的方法
1 | /** |
让driver先移动到一个空白位置(此处设为(0,0)坐标点),做一下点击操作即可
pom.xml添加如下内容:
1 | <plugin> |
failurePriority用于指定在什么错误级别会failure,级别0~5不等。0为最高,5为最低。此处设为2,意为0、1、2级别的错误都会导致报错。级别可以根据项目的要求进行配置