在最早接触selenium的时候,觉得可以用java写出基础的脚本,可以运行就好了,比如下面的一段定位元素脚本
1 driver.findElement(By.id("name")).click(); 2 driver.findElement(By.xpath("//input[contains(@data-value,‘sort‘)]")).click;
看到上面的脚本,我们可以单独封装一个方法,用提高代码的简洁,于是我们可以自定义一个方法locateDriverEle
于是就可以改进我们最初的脚本
1 this.locateDriverEle(driver,"id","name").click(); 2 this.locateDriverEle(driver,"xpath","//input[contains(@data-value,‘sort‘)]").click;
这样脚本看起来就是简单多了,但是下次开发人员改进系统的UI,维护脚本的时候,可以发现,我们操作UI的步骤都是没有变化,变化的只是定位元素的路径而已,于是,我们可以在原来的基础上在再次改进,使用PageFactory思想,在针对被测试界面创建2个类,分别为Page和Test类,Page中专门对被测试节目元素操作,Test类为真正的测试类
1 1 @FindBy(xpath="//input[contains(@data-value,‘sort‘)]") 2 2 privateWebElement xpath; 3 3 privateWebElement id; 4 4 publicPage(){ 5 5 co =newCom(); 6 6 PageFactory.initElements(driver,this); 7 7 } 8 8 publicvoid xpath(){ 9 9 this.xpath.click; 10 10 } 11 11 publicvoid id(){ 12 12 this.id.click; 13 13 }
于是我们最初的脚本就可以改为
1 Page page=new page(); 2 page.id(); 3 page.xpath();
改照后,我们的脚本看起来就简单多了,并且开发修改了UI,我们只要维护Page类中元素的路径,是的脚本看起来简单、易维护
有不懂的地方可以给我留言
时间: 2024-10-10 06:32:36