Ⅰ Web UI自动化测试之Selenium3
一、WebDriver(import org.openqa.selenium.WebDriver)操作浏览器
selenium通过WebDriver对象来定位页面元素
1、打开浏览器
打开火狐浏览器:
WebDriver driver = new FireFoxDriver();
打开IE浏览器:
WebDriver driver = new InternetExplorerDriver();
打开chrome浏览器
WebDriver driver = new ChromeDriver();
2、最大化浏览器
driver.manage().window().maximize();
3、关闭浏览器
driver.close();
driver.quit();
4、打开测试页面
driver.get("http:www..com");
二、By(org.openqa.selenium.By) 定位页面元素
selenium通过By对象来定位页面元素
1、By.id 通过ID定位页面元素
By.id("UserCode")
2、By.name 通过name定位页面元素
By.id("UserCode")
3、By.className 通过className定位页面元素
By.className("input_class")
4、By.linkText 精确查找
drive.get("http://www..com");
By.linkText("网络");
5、By.partialLinkText 模糊查找
driver.get("http://www..com");
By.partialLinkText("网络");
6、By.tagName
dirver.get("http://www..com");
By.tagName("input");
三、WebElement(org.openqa.selenium.WebElement)操作页面元素
selenium通过WebElement对象来操作页面元素
1、操作输入框
WebElement inputElement = driver.findElement(By.id("UserCode"));//查找登录页面录入用户名元素
inputElement.setKeys("wyl");//输入框录入用户名wyl
inputElement.clear();//清空输入框
inputElement.getText();//获得输入框中的内容
2、操作单选框
WebElement radioElement = driver.findElement(By.id("Orders"));
radioElement.click();// 选择某个单选项
radioElement.clear();// 清空某个单选项
radioElement.isSelected();// 判断某个单选项是否已被选择
3、操作多选框
WebElement checkboxElement = driver.findElement(By.id("Orders"));
checkboxElement.click();// 选择某个多选项
checkboxElement.clear();// 清空某个多选项
checkboxElement.isSelected();//判断某个多选项是否已被选择
4、操作下拉框
Select select = new Select(per.findElement(By.id("region")));
select.selectByVisibleText("北京市");
select.selectByText("10010");
select.deselectAll();
select.deselectByVisibleText("北京市");
select.deselectByText("10010");
select.getAllSelectedOptions();
select.getFirstSelectedOption();
5、操作上传文件
WebElement uploadElement = driver.findElement(By.id("file"));
String uploadFile = "D:1AgentCode.txt";
uploadElement.setKeys(uploadFile);
6、操作按钮
WebElement btnElement = driver.findElement(By.id("add"));
btnElement.click();
btnElement.isEnabled();
7、表单提交
WebElement formElement = driver.findElement(By.id("fm"));
fromElement.submit();
8、操作弹出对话框
Alert alert = driver.swichTo().alert();
alert.getText();//获得弹出框内容
alert.accept();//点击弹出框确认按钮
alert.dismiss();//点击弹出框取消按钮
9、Windows和Frames之间的切换
driver.switchTo().defaultContent();//返回到最顶层的frame
driver.switchTo().frame("leftMenuFrame");//切换到左侧菜单frame
driver.switchTo().window("windowName");//切换到某个windows
10、超时设置
driver.manage().timeouts().implicitly(10,timeUnit.Seconds);//识别元素时的超时时间
driver.manage().timeouts().pageLoadTimeout(10,timeUnit.Seconds);//页面加载时的超时时间
driver.manage().timeouts().setScriptTimeout(10,timeUnit.Seconds);//异步脚本的超时时间
四、调用js
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("JS脚本");
五、Selenium官方
1、官方download包下载地址
http://code.google.com/p/selenium/downloads/list
2、官方User Guide
http://seleniumhq.org/docs/
3、API
http://selenium.googlecode.com/git/docs/api/java/index.html
Ⅱ web自动化测试时,frame框架是如何切换页面frame的
说明:在Selenium中封装了如何切换frame框架的方法
方法:
1). driver.switch_to.frame(frame_reference) --> 切换到指定frame的方法
frame_reference:可以为frame框架的name、id或者定位到的frame元素
2). driver.switch_to.default_content() --> 恢复默认页面方法
Web自动化测试有很多问题都在黑马程序员社区有答案,可以去看看
Ⅲ web自动化测试
目前越来越多的人想学自动化测试,认为自动化测试好牛逼。经常在测试交流群里看见有HR发招聘广告说:招初级(功能测试),招中级(性能测试),招高级(自动化测试)......
我不去讨论他们这个初中高级的说法对不对,我只是觉得,越来越多的公司都希望把自动化测试做起来了。于是,市场给我们提了个要求,测试如果掌握了自动化,那么工资会怎么怎么样。
而对于自动化测试,其实又可以分为很多块。见下图:
同时根据平台也可以分成,Web自动化测试,App自动化测试等等。
我今天主要概括一下对于Web自动化测试而言,现在最火的一个工具----Selenium的学习思路。
1.首先,对于想学自动化测试的朋友,那么你得懂一种语言,常用的比如Java或者Python。因为没有语言基础,你是写不出自动化脚本的。
2.有了开发语言的铺垫,那么开始入手Selenium。了解它的发展,了解它的组成,了解它的实现原理。
3.当你对Selenium有了整体的了解后,可以开始学习了。实际上,我现在说的Selenium就是Selenium2。
4.(第一层次)首先你得知道:什么是元素?怎么去定位一个页面元素?怎么去控制元素?怎么控制浏览器?.....学完这些,那么恭喜你,你可以写简单页面的自动化功能测试了。
5.(第二层次)熟练的编写页面自动化脚本:碰到复杂的页面,比如嵌套很多,知道怎么去跳转。复杂元素,怎么去定位,各种页面元素的处理,比如表格、下拉框、弹出框等等。
6.(第三层次)熟练掌握上面技巧之后,开始学习怎么将页面元素与代码分离,学习数据驱动(TestNG),以及怎么样结合Excel去做自动化测试。
7.(第四层次)学习持续集成的方法,怎么样将自动化测试更加“自动化”。同时,开始学习自动化测试框架,能够根据产品的实际情况来编写合适的测试框架。
以上,我认为大体就是学习web自动化测试的一个思路。都是个人观点,而且由于时间原因,写的不是很详细,还请大家见谅。
Ⅳ 如何让整个web页面滑动切换
让整个web页面滑动切换方法如下:
解决办法其实很简单,采用AJAX刷新、CSS切换。这里还需要注意的是,只有在WebKit浏览器上能看到效果。(用PhoneGap做了一个测试应用,可以在Android和IOS系统上运行,所以只需要WebKit的兼容性。)
1、首先,看看对body标签的css样式,让它有动画效果:
2、接下来,给超链接添加点击事件,让它产生切换效果。
3、下一步是使用AJAX获取到链接页面
4、要达到切换效果,还需要以下步骤:
a.
滑动当前页面到屏幕左侧;
b.
瞬间移动当前页面到屏幕右侧;
c.
替换body里面的内容;
d.
从屏幕右侧滑入当前页面对。
5、必须要遵循上面的步骤,不然不能达到预期的效果。
现在说一下详细步骤:
a.移动body到屏幕的左侧
b.写个移动监听事件
c.切换过程中,用户可能会点击后退按钮,还需对此进行处理:
总结:基本的思路就这些,当然在实际操作过程中还有一些细节需要注意,这里就不详细说了,都在代码里能体现出来
Ⅳ web自动化测试计划和步骤
测试用例:前置、步骤、断言
项目周期长:功能会越来越复杂
历史功能:比较稳定
回归,历史功能
开发-接口自动化同步
项目-8大模块-2000左右用例数
1、熟悉业务
需求文档/手动测试/产品聊,了解模块之间的关系/测试人员
项目目前在测试的阶段,棘手的问题
2、分析
系统当中哪些模块适合自动化、哪些模块不适合
历史功能稳定性、功能复杂性
核心模块
使用频率模块,哪一个模块bug率目前偏高
测试团队、产品 开会讨论
筛选2个模块 400个功能测试用例
如果是接口 ---接口有多少个,每个接口有多少个用例
3、功能测试 ---筛选自动化测试用例----核心功能、主流程、主功能点---140
用例评审===
4、自动化计划
自动化类型:web/接口
框架选型:
团队人员:
搭框架、定规范
时间规划:用例编写时间2个半月
效果:覆盖率是多少---用例通过率---跟项目测试进度结合
Ⅵ web自动化中页面多个滚动条时的拖动操作
当页面中有多个滚动条控制显示范围时,拖动指定的滚动条,可以通过JS语句来实现document.querySelector('.summary').scrollTop=200;解释: 1.通过在页面中通过选择器进行元素定位 2.将定位到的指定元素scrollTop属性设置为200然后通过driver.execute_script()方法执行js语句即可,需要的小伙伴可以到传智播客的社区看到相关操作的全部解答。传智播客的官网也可以领取到相关的免费的公开课。
Ⅶ 如何让整个web页面滑动切换
让整个web页面滑动切换方法如下:
解决办法其实很简单,采用AJAX刷新、CSS切换。这里还需要注意的是,只有在WebKit浏览器上能看到效果。(用PhoneGap做了一个测试应用,可以在Android和IOS系统上运行,所以只需要WebKit的兼容性。)
1、首先,看看对body标签的css样式,让它有动画效果:
总结:基本的思路就这些,当然在实际操作过程中还有一些细节需要注意,这里就不详细说了,都在代码里能体现出来