webdriver实用指南乙醇Java版.docx

上传人:b****5 文档编号:2858074 上传时间:2022-11-16 格式:DOCX 页数:59 大小:34.51KB
下载 相关 举报
webdriver实用指南乙醇Java版.docx_第1页
第1页 / 共59页
webdriver实用指南乙醇Java版.docx_第2页
第2页 / 共59页
webdriver实用指南乙醇Java版.docx_第3页
第3页 / 共59页
webdriver实用指南乙醇Java版.docx_第4页
第4页 / 共59页
webdriver实用指南乙醇Java版.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

webdriver实用指南乙醇Java版.docx

《webdriver实用指南乙醇Java版.docx》由会员分享,可在线阅读,更多相关《webdriver实用指南乙醇Java版.docx(59页珍藏版)》请在冰豆网上搜索。

webdriver实用指南乙醇Java版.docx

webdriver实用指南乙醇Java版

Webdriver实用指南java版本by乙醇

启动浏览器

场景

在使用webdriver进行测试时启动浏览器无疑是必须的前置工作。

代码

importorg.openqa.selenium.WebDriver;

importorg.openqa.selenium.chrome.ChromeDriver;

publicclassStartBrowser{

publicstaticvoidmain(String[]args){

WebDriverdr=newChromeDriver();

}

}

关闭浏览器

场景

在脚本运行完毕或者测试代码结束的时候关闭浏览器是非常自然的事情,就像在吃完饭后就把餐桌收拾干净一样。

关闭浏览器有两种方式:

∙close方法

∙quit方法

close方法关闭当前的浏览器窗口,quit方法不仅关闭窗口,还会彻底的退出webdriver,释放与driverserver之间的连接。

所以简单来说quit是更加彻底的close,quit会更好的释放资源,适合强迫症和完美主义者。

代码

importorg.openqa.selenium.WebDriver;

importorg.openqa.selenium.chrome.ChromeDriver;

publicclassCloseBrowser{

publicstaticvoidmain(String[]args){

WebDriverdr=newChromeDriver();

System.out.println("browserwillbeclosed");

dr.quit();

System.out.println("browserisclosed");

}

}

浏览器最大化

场景

当我们在测试中使用一些基于图像和坐标的辅助测试工具时,我们就会需要使浏览器在每次测试时保存最大化,以便在同一分辨率下进行图像比对和坐标点选。

举例来说,如果在webdriver测试中使用了sikuli来对flash插件进行操作的话,把浏览器最大化无疑是一个比较简单的保证分辨率统一的解决方案。

代码

importorg.openqa.selenium.WebDriver;

importorg.openqa.selenium.chrome.ChromeDriver;

publicclassMaximize{

publicstaticvoidmain(String[]args)throwsInterruptedException{

WebDriverdr=newChromeDriver();

Thread.sleep(2000);

System.out.println("maximizebrowser");

dr.manage().window().maximize();

Thread.sleep(2000);

System.out.println("browserwillbeclose");

dr.quit();

}

}

设置浏览器大小

场景

设置浏览器窗口的大小有下面两个比较常见的用途:

∙在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性。

比如可以跟sikuli结合,使用sikuli操作flash;

∙在不同的浏览器大小下访问测试站点,对测试页面截图并保存,然后观察或使用图像比对工具对被测页面的前端样式进行评测。

比如可以将浏览器设置成移动端大小(320x480),然后访问移动站点,对其样式进行评估;

代码

将浏览器调整成移动端大小,然后访问移动站点,对移动站点的样式进行评估。

importorg.openqa.selenium.WebDriver;

importorg.openqa.selenium.chrome.ChromeDriver;

publicclassCloseBrowser{

publicstaticvoidmain(String[]args){

WebDriverdr=newChromeDriver();

System.out.println("browserwillbeclosed");

dr.quit();

System.out.println("browserisclosed");

}

}

讨论

webdriver提供了很多调整浏览器窗口的接口,比如move_to(移动窗口),position(设置或获取浏览器的位置)。

在一般情况下这些功能并不常用。

访问链接

情景

webUI测试里最简单也是最基本的事情就是访问1个链接了。

webdriver的api里有2种访问url的方式,分别是get和navigate.to方法。

一般情况下建议使用get,因为其字母比较少,不太容易出错。

代码

importorg.openqa.selenium.WebDriver;

importorg.openqa.selenium.chrome.ChromeDriver;

publicclassGet{

publicstaticvoidmain(String[]args)throwsInterruptedException{

WebDriverdr=newChromeDriver();

Thread.sleep(2000);

Stringurl="";

System.out.printf("nowaccesss%s\n",url);

dr.get(url);

Thread.sleep(2000);

System.out.println("browserwillbeclose");

dr.quit();

}

}

讨论

navigate方法实际上会产生1个Navigator对象,其封装了与导航相关的一些方法,比如前进后退等。

打印当前页面的title及url

情景

测试中,访问1个页面然后判断其title是否符合预期是很常见的1个用例,所谓用例不够,title来凑就是这个道理。

更具体一点,假设1个页面的title应该是'helloworld',那么可以写这样的一个用例:

访问该页面,获取该页面的title,判断获取的值是否等于'helloworld'。

获取当前页面的url也是非常重要的一个操作。

在某些情况下,你访问一个url,这时系统会自动对这个url进行跳转,这就是所谓的'重定向'。

一般测试重定向的方法是访问这个url,然后等待页面重定向完毕之后,获取当前页面的url,判断该url是否符合预期。

另外的一个常见的测试场景是提交了一个表单,如果表单内容通过了验证,那么则会跳转到一个新页面,如果未通过验证,则会停留在当前页面,此时获取当前页面的url则可以帮助我们判断表单提交的跳转是否符合预期。

更具体一点,假如你在测试一个登陆页面,输入正确的登陆信息后,会跳转到系统首页。

获取跳转后的url然后判断其是否与系统首页的url相符将是一个很不错的用例。

代码

importorg.openqa.selenium.WebDriver;

importorg.openqa.selenium.chrome.ChromeDriver;

publicclassTitleAndUrl{

publicstaticvoidmain(String[]args)throwsInterruptedException{

WebDriverdr=newChromeDriver();

Thread.sleep(2000);

Stringurl="";

System.out.printf("nowaccesss%s\n",url);

dr.get(url);

Thread.sleep(2000);

System.out.printf("titleofcurrentpageis%s\n",dr.getTitle());

System.out.printf("urlofcurrentpageis%s\n",dr.getCurrentUrl());

System.out.println("browserwillbeclose");

dr.quit();

}

}

前进和后退

场景

说实话,这两个功能一般不太常用。

所能想到的场景大概也就是在几个页面间来回跳转,省去每次都geturl。

代码

importorg.openqa.selenium.WebDriver;

importorg.openqa.selenium.chrome.ChromeDriver;

publicclassForwardAndBack{

publicstaticvoidmain(String[]args)throwsInterruptedException{

WebDriverdr=newChromeDriver();

Thread.sleep(2000);

StringfirstUrl="";

System.out.printf("nowaccesss%s\n",firstUrl);

dr.get(firstUrl);

Thread.sleep(1000);

StringsecondUrl="";

System.out.printf("nowaccesss%s\n",secondUrl);

dr.get(secondUrl);

Thread.sleep(1000);

System.out.printf("nowbackto%s\n",firstUrl);

dr.navigate().back();

Thread.sleep(1000);

System.out.printf("forwardto%s\n",secondUrl);

dr.navigate().forward();

Thread.sleep(1000);

System.out.println("browserwillbeclose");

dr.quit();

}

}

简单的对象定位

场景

测试对象的定位和操作是webdriver的核心内容,其中操作又是建立在定位的基础之上,因此对象定位就越发显得重要了。

定位对象的目的一般有下面几种

∙操作对象

∙获得对象的属性,如获得测试对象的class属性,name属性等等

∙获得对象的text

∙获得对象的数量

webdriver提供了一系列的对象定位方法,常用的有以下几种

∙id

∙name

∙classname

∙linktext

∙partiallinktext

∙tagname

∙xpath

∙cssselector

代码

html代码form.html

Form

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1