更新时间:2021-09-13 来源:黑马程序员 浏览量:
在上一节中我们讲解了如何测试Web网页的登录和退出功能,除此之外,多级网页跳转、多级导航栏、后退等功能也是Web自动化测试的重点内容。下面以测试博学谷网页跳转功能为例进行讲解。
通常一个网站会依据自身产品的特点对网页进行功能区域的划分,每个栏目里边会包含多级页面、导航栏、超链接等,为保证数据提交、页面跳转显示等正常,需要进行测试。博学谷有很多子页面以及功能页面,下面以查找问答库子栏目中的“软件测试”标签为例讲解网页跳转测试。
使用火狐浏览器打开博学谷主页,博学谷导航栏和问答库子栏目页面分别如图6-10和图6-11所示。
在图6-11中可以观察到在导航栏目下边包含大数据、Java、Ul等,通过单击发现这些栏目下HTML布局致。设计测试用例时,要注意测试用例覆盖率问题,测试用例编写需要考虑以下问题。
(1)对包含多个子页的界面进行测试时,需要对测试用例进行规划。
(2)问答库的测试只需要关注向答库下的子栏目,对共同点进行提取,这些子栏目里网页布局是一样的,测试时仅仅需要测试查找的信息是否能正确打开。
(3)问答库下的[软件测试]栏目测试包含翻页、网页移动显示、查找信息是否显示正常。
(4)[软件测试]栏目的测试用例仅仅修改几行代码就可用于同级下的大数据、Java、UI等栏目测试,实现了测试用例重复使用。
根据测试内容编写测试脚本,代码如下所示。
#打开博学谷主页 driver.get("https://www.boxuegu.com/") #在导航栏中打开[问答库]栏目 driver.find element by_id("ask href").click() #打开[软件测试]栏目 driver.find_element_by_link text(u”软件测试").click() #保存需要查找的信息“测试计划编写的六要素”到findItem findItem=driver.find_element_by_link_text(u”测试计划编写的六要素”) #将滚动条移动事件结果保存到moveBar " " " while moveBar=driver.execute:script("arguments[0].scrolIntoView();",findItem) 查找的信息可能在当前打开页面未显示区域或者不在当前打开页面,需要进行查找、翻页等操作 " " " while moveBar: #以滚动条返回状态作为条件 #判断是否在当前页面查找到了需要的信息,找到则退出 if findItem==moveBar: break #如果没有则进行翻页,继续进行查找,找到则退出 else: driver.find element_by_link text ("2").click() if findItem == moveBar: break #打开需要查找的信息 driver.find element.by_link_text(u"测试计划编写的六要素") .click()
由于[软件测试]栏下的标签是随机的,重新打开后都会随机排列标签信息,因此使用while循环对查找页面进行移动、翻页操作,查找到需要的信息就停止网页移动操作,此时定位到需要查找信息的显示界面,进行单击操作查看页面显示是否正常。